[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/36] hw/mips/loongson3: Propagate cpu_count to init_loongson_par
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 07/36] hw/mips/loongson3: Propagate cpu_count to init_loongson_params() |
Date: |
Fri, 31 Jan 2025 22:04:50 +0100 |
Propagate the %cpu_count from the machine file, allowing
to remove the "hw/boards.h" dependency (which is machine
specific) from loongson3_bootp.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250115232952.31166-7-philmd@linaro.org>
---
hw/mips/loongson3_bootp.h | 1 +
hw/mips/loongson3_bootp.c | 11 ++++++-----
hw/mips/loongson3_virt.c | 1 +
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/hw/mips/loongson3_bootp.h b/hw/mips/loongson3_bootp.h
index 9091265df7f..ee6340e42c1 100644
--- a/hw/mips/loongson3_bootp.h
+++ b/hw/mips/loongson3_bootp.h
@@ -233,6 +233,7 @@ enum {
extern const MemMapEntry virt_memmap[];
void init_loongson_params(struct loongson_params *lp, void *p,
+ uint32_t cpu_count,
uint64_t cpu_freq, uint64_t ram_size);
void init_reset_system(struct efi_reset_system_t *reset);
diff --git a/hw/mips/loongson3_bootp.c b/hw/mips/loongson3_bootp.c
index 712439c2575..91b58a71a68 100644
--- a/hw/mips/loongson3_bootp.c
+++ b/hw/mips/loongson3_bootp.c
@@ -24,10 +24,10 @@
#include "qemu/bswap.h"
#include "exec/hwaddr.h"
#include "cpu.h"
-#include "hw/boards.h"
#include "hw/mips/loongson3_bootp.h"
-static void init_cpu_info(void *g_cpuinfo, uint64_t cpu_freq)
+static void init_cpu_info(void *g_cpuinfo, uint32_t cpu_count,
+ uint64_t cpu_freq)
{
struct efi_cpuinfo_loongson *c = g_cpuinfo;
@@ -40,8 +40,8 @@ static void init_cpu_info(void *g_cpuinfo, uint64_t cpu_freq)
}
c->cpu_startup_core_id = cpu_to_le16(0);
- c->nr_cpus = cpu_to_le32(current_machine->smp.cpus);
- c->total_node = cpu_to_le32(DIV_ROUND_UP(current_machine->smp.cpus,
+ c->nr_cpus = cpu_to_le32(cpu_count);
+ c->total_node = cpu_to_le32(DIV_ROUND_UP(cpu_count,
LOONGSON3_CORE_PER_NODE));
}
@@ -112,9 +112,10 @@ static void init_special_info(void *g_special)
}
void init_loongson_params(struct loongson_params *lp, void *p,
+ uint32_t cpu_count,
uint64_t cpu_freq, uint64_t ram_size)
{
- init_cpu_info(p, cpu_freq);
+ init_cpu_info(p, cpu_count, cpu_freq);
lp->cpu_offset = cpu_to_le64((uintptr_t)p - (uintptr_t)lp);
p += ROUND_UP(sizeof(struct efi_cpuinfo_loongson), 64);
diff --git a/hw/mips/loongson3_virt.c b/hw/mips/loongson3_virt.c
index 9f6fdd0f287..eb2a6a248d8 100644
--- a/hw/mips/loongson3_virt.c
+++ b/hw/mips/loongson3_virt.c
@@ -185,6 +185,7 @@ static void init_boot_param(void)
init_reset_system(&(bp->reset_system));
p += ROUND_UP(sizeof(struct boot_params), 64);
init_loongson_params(&(bp->efi.smbios.lp), p,
+ current_machine->smp.cpus,
loaderparams.cpu_freq, loaderparams.ram_size);
rom_add_blob_fixed("params_rom", bp,
--
2.47.1
- [PULL 00/36] Misc HW patches for 2025-01-31, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 01/36] hw/rx/rx-gdbsim: Remove unnecessary uses of &first_cpu, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 02/36] hw/mips/loongson3_virt: Factor generic_cpu_reset() out, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 03/36] hw/mips/loongson3_virt: Invert vCPU creation order to remove &first_cpu, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 04/36] hw/mips/loongson3_virt: Have fw_conf_init() access local loaderparams, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 05/36] hw/mips/loongson3_virt: Pass CPU argument to get_cpu_freq_hz(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 06/36] hw/mips/loongson3_bootp: Include missing headers, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 07/36] hw/mips/loongson3: Propagate cpu_count to init_loongson_params(),
Philippe Mathieu-Daudé <=
- [PULL 08/36] hw/mips/loongson3_virt: Propagate cpu_count to init_boot_param(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 09/36] hw/mips/loongson3_bootp: Propagate processor_id to init_cpu_info(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 10/36] hw/mips/loongson3_virt: Propagate processor_id to init_loongson_params(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 11/36] hw/mips/loongson3_virt: Propagate %processor_id to init_boot_param(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 12/36] hw/mips/loongson3_bootp: Move to common_ss[], Philippe Mathieu-Daudé, 2025/01/31
- [PULL 13/36] hw/irq: Introduce qemu_init_irqs() helper, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 14/36] hw/ipack: Clarify KConfig symbols, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 15/36] hw/ipack: Remove legacy qemu_allocate_irqs() use, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 16/36] hw/sh4/r2d: Convert legacy qemu_allocate_irqs() to qemu_init_irqs(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 17/36] hw/char/pci-multi: Convert legacy qemu_allocate_irqs to qemu_init_irq, Philippe Mathieu-Daudé, 2025/01/31