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>
This commit is contained in:
Philippe Mathieu-Daudé 2025-01-12 21:39:54 +01:00
parent 7eb372cc8b
commit 92c63c9afd

View file

@ -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);