[U-Boot] [PATCH 2/2] x86: qemu: Add MP initialization

Simon Glass sjg at chromium.org
Mon Aug 3 01:36:00 CEST 2015


On 2 August 2015 at 15:23, Simon Glass <sjg at chromium.org> wrote:
> On 27 July 2015 at 05:16, Bin Meng <bmeng.cn at gmail.com> wrote:
>> 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 at gmail.com>
>> ---
>>
>>  arch/x86/dts/qemu-x86_i440fx.dts | 7 +++++++
>>  arch/x86/dts/qemu-x86_q35.dts    | 7 +++++++
>>  configs/qemu-x86_defconfig       | 2 ++
>>  doc/README.x86                   | 5 +++++
>>  4 files changed, 21 insertions(+)
>>
>> diff --git a/arch/x86/dts/qemu-x86_i440fx.dts b/arch/x86/dts/qemu-x86_i440fx.dts
>> index c26c71b..fc74cd0 100644
>> --- a/arch/x86/dts/qemu-x86_i440fx.dts
>> +++ b/arch/x86/dts/qemu-x86_i440fx.dts
>> @@ -34,6 +34,13 @@
>>                         reg = <0>;
>>                         intel,apic-id = <0>;
>>                 };
>> +
>> +               cpu at 1 {
>> +                       device_type = "cpu";
>> +                       compatible = "cpu-x86";
>> +                       reg = <1>;
>> +                       intel,apic-id = <1>;
>> +               };
>>         };
>>
>>         pci {
>> diff --git a/arch/x86/dts/qemu-x86_q35.dts b/arch/x86/dts/qemu-x86_q35.dts
>> index 2e785fa..7f16971 100644
>> --- a/arch/x86/dts/qemu-x86_q35.dts
>> +++ b/arch/x86/dts/qemu-x86_q35.dts
>> @@ -45,6 +45,13 @@
>>                         reg = <0>;
>>                         intel,apic-id = <0>;
>>                 };
>> +
>> +               cpu at 1 {
>> +                       device_type = "cpu";
>> +                       compatible = "cpu-x86";
>> +                       reg = <1>;
>> +                       intel,apic-id = <1>;
>> +               };
>>         };
>>
>>         pci {
>> diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
>> index 4b18d51..e579c36 100644
>> --- a/configs/qemu-x86_defconfig
>> +++ b/configs/qemu-x86_defconfig
>> @@ -1,5 +1,7 @@
>>  CONFIG_X86=y
>>  CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_i440fx"
>> +CONFIG_SMP=y
>> +CONFIG_MAX_CPUS=2
>>  CONFIG_GENERATE_PIRQ_TABLE=y
>>  CONFIG_GENERATE_MP_TABLE=y
>>  CONFIG_CMD_CPU=y
>> diff --git a/doc/README.x86 b/doc/README.x86
>> index 5d71244..1cab42c 100644
>> --- a/doc/README.x86
>> +++ b/doc/README.x86
>> @@ -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.
>>  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.
>
> nit: is built
>
>> +In order to support more cores, you need add additional cpu nodes in the device
>> +tree and change CONFIG_MAX_CPUS accordingly.
>> +
>>  CPU Microcode
>>  -------------
>>  Modern CPUs usually require a special bit stream called microcode [8] to be
>> --
>> 1.8.2.1
>>
>
> Acked-by: Simon Glass <sjg at chromium.org>
> Tested-by: Simon Glass <sjg at chromium.org>

Sorry, ignore that nit, it is fine.

Applied to u-boot-x86


More information about the U-Boot mailing list