[SeaBIOS] [PATCH v2 0/4] support booting more than 255 CPUs with QEMU
Laszlo Ersek
lersek at redhat.com
Mon Jun 20 15:34:09 CEST 2016
On 06/20/16 13:15, Igor Mammedov wrote:
> On Mon, 20 Jun 2016 10:45:37 +0200
> Gerd Hoffmann <kraxel at redhat.com> wrote:
>
>> On Mo, 2016-05-16 at 21:00 -0400, Kevin O'Connor wrote:
>>> On Wed, May 11, 2016 at 12:03:37PM +0200, Igor Mammedov wrote:
>>>> Changelog since:
>>>> v1:
>>>> * s/count_cpu/apic_id_init/
>>>> * merge handle_x2apic() into apic_id_init()
>>>> RFC:
>>>> * move out max-cpus check out of mptable_setup()
>>>> * factor out CPU counting/apic ID detection in separate
>>>> function
>>>> * return back accidentially deleted debug message with APIC ID
>>>> * drop unused code in smp_setup()
>>>>
>>>> According to SDM, if CPUs have APIC ID more than 254
>>>> firmware should pass control to OS in x2APIC mode.
>>>> This series adds x2APIC bootstrap initialization.
>>>>
>>>> QEMU side of x2APIC support:
>>>> https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg01094.html
>>>
>>> Thanks Igor. The first 3 patches look good to me. I'll commit to
>>> SeaBIOS once the corresponding QEMU support is accepted.
>>
>> Ping. What is the status of this in qemu? qemu 2.7 soft freeze is
>> coming, and it is about time to plan the seabios update (1.9.3
>> release).
> I need to dust RFC off and respin as Paolo wanted to sync APIC ID
> other way than in RFC and also on list there is v2 ACPI refactoring
> that x2APIC enablement depends on.
>
> Laszlo,
> wrt OVMF does suggested here fw_Cfg interface look ok to you?
I checked your v2 series quickly, with more attention to "etc/boot-cpus"
and patch #3.
I also re-read your argument in
<20160509172828.0d839294 at nial.brq.redhat.com>:
> Reasons, I've skipped CPUID[0xb]:edx is not because it's currently not
> supported but rather:
> 1st: we already have 'etc/max-cpus' which is 'max possible APIC ID +
> 1', so reuse it.
> 2nd: beside complicating(making it longer, timewise) AP bootstrap,
> detection at runtime wouldn't work in case of CPU hotplug as it
> won't detect x2APIC CPUs if they are not yet present. real HW
> might work around this issue just hardcodding what APIC mode it
> wants as possible APIC IDs are known in advance for a particular
> board.
I think it should be okay.
For OVMF I have no idea yet how we're going to accommodate this.
Minimally it will depend on fixing
<https://github.com/tianocore/edk2/issues/87> in UefiCpuPkg. But, the
"etc/boot-cpus" interface looks sane to me.
Thanks
Laszlo
More information about the SeaBIOS
mailing list