x86: qemu: Add MP initialization

Add a cpu1 node to the device tree and enable the MP initialization
on QEMU targets (i440fx and q35).

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Bin Meng 2015-07-27 19:16:08 +08:00 committed by Simon Glass
parent 417576c2f1
commit a2eb65fcad
4 changed files with 21 additions and 0 deletions

View file

@ -34,6 +34,13 @@
reg = <0>; reg = <0>;
intel,apic-id = <0>; intel,apic-id = <0>;
}; };
cpu@1 {
device_type = "cpu";
compatible = "cpu-x86";
reg = <1>;
intel,apic-id = <1>;
};
}; };
pci { pci {

View file

@ -45,6 +45,13 @@
reg = <0>; reg = <0>;
intel,apic-id = <0>; intel,apic-id = <0>;
}; };
cpu@1 {
device_type = "cpu";
compatible = "cpu-x86";
reg = <1>;
intel,apic-id = <1>;
};
}; };
pci { pci {

View file

@ -1,5 +1,7 @@
CONFIG_X86=y CONFIG_X86=y
CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_i440fx" CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_i440fx"
CONFIG_SMP=y
CONFIG_MAX_CPUS=2
CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_MP_TABLE=y CONFIG_GENERATE_MP_TABLE=y
CONFIG_CMD_CPU=y CONFIG_CMD_CPU=y

View file

@ -281,6 +281,11 @@ QEMU emulates a graphic card which U-Boot supports. Removing '-nographic' will
show QEMU's VGA console window. Note this will disable QEMU's serial output. show QEMU's VGA console window. Note this will disable QEMU's serial output.
If you want to check both consoles, use '-serial stdio'. If you want to check both consoles, use '-serial stdio'.
Multicore is also supported by QEMU via '-smp n' where n is the number of cores
to instantiate. Currently the default U-Boot built for QEMU supports 2 cores.
In order to support more cores, you need add additional cpu nodes in the device
tree and change CONFIG_MAX_CPUS accordingly.
CPU Microcode CPU Microcode
------------- -------------
Modern CPUs usually require a special bit stream called microcode [8] to be Modern CPUs usually require a special bit stream called microcode [8] to be