x86: qemu: Fix broken multi-core boot
Unfortunately the multi-core boot for QEMU x86 has been broken since commit77a5e2d3bc
("x86: mp_init: Set up the CPU numbers at the start"). In order to support QEMU x86 multi-core boot, the /cpus node must be bound before any actual fix up in qemu_cpu_fixup(). This adds the uclass_get() call to ensure this, just like what was done before. Fixes:77a5e2d3bc
("x86: mp_init: Set up the CPU numbers at the start") Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
fdcb93e170
commit
8cd1a0cf52
@ -17,10 +17,16 @@ int qemu_cpu_fixup(void)
|
||||
int ret;
|
||||
int cpu_num;
|
||||
int cpu_online;
|
||||
struct uclass *uc;
|
||||
struct udevice *dev, *pdev;
|
||||
struct cpu_plat *plat;
|
||||
char *cpu;
|
||||
|
||||
/* This will cause the CPUs devices to be bound */
|
||||
ret = uclass_get(UCLASS_CPU, &uc);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* first we need to find '/cpus' */
|
||||
for (device_find_first_child(dm_root(), &pdev);
|
||||
pdev;
|
||||
|
Loading…
Reference in New Issue
Block a user