diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-01-12 21:39:54 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-01-31 19:36:43 +0100 |
commit | 92c63c9afdf462e949ca8e74dba6b3abf44f993d (patch) | |
tree | 040d4635d19696dd697c71e155ac0cd372794514 | |
parent | 7eb372cc8bed1639e43529632a4fbb8b3f645194 (diff) | |
download | qemu-92c63c9afdf462e949ca8e74dba6b3abf44f993d.zip qemu-92c63c9afdf462e949ca8e74dba6b3abf44f993d.tar.gz qemu-92c63c9afdf462e949ca8e74dba6b3abf44f993d.tar.bz2 |
hw/mips/loongson3_virt: Propagate %processor_id to init_boot_param()
Propagate %processor_id from mips_loongson3_virt_init() where
we have a reference to the first vCPU, so use it instead of
the &first_cpu global.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250115232952.31166-11-philmd@linaro.org>
-rw-r--r-- | hw/mips/loongson3_virt.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/hw/mips/loongson3_virt.c b/hw/mips/loongson3_virt.c index ee71fe9..85cf1f7 100644 --- a/hw/mips/loongson3_virt.c +++ b/hw/mips/loongson3_virt.c @@ -173,7 +173,7 @@ static uint64_t get_cpu_freq_hz(const MIPSCPU *cpu) return DEF_LOONGSON3_FREQ; } -static void init_boot_param(unsigned cpu_count) +static void init_boot_param(unsigned cpu_count, uint32_t processor_id) { static void *p; struct boot_params *bp; @@ -184,8 +184,7 @@ static void init_boot_param(unsigned cpu_count) bp->efi.smbios.vers = cpu_to_le16(1); init_reset_system(&(bp->reset_system)); p += ROUND_UP(sizeof(struct boot_params), 64); - init_loongson_params(&(bp->efi.smbios.lp), p, cpu_count, - MIPS_CPU(first_cpu)->env.CP0_PRid, + init_loongson_params(&(bp->efi.smbios.lp), p, cpu_count, processor_id, loaderparams.cpu_freq, loaderparams.ram_size); rom_add_blob_fixed("params_rom", bp, @@ -643,7 +642,7 @@ static void mips_loongson3_virt_init(MachineState *machine) loaderparams.kernel_entry = load_kernel(&cpu->env); init_boot_rom(); - init_boot_param(machine->smp.cpus); + init_boot_param(machine->smp.cpus, cpu->env.CP0_PRid); } else { filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware ?: LOONGSON3_BIOSNAME); |