[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFC V3 13/29] arm/virt: Make ARM vCPU *present* status ACPI *
From: |
Nicholas Piggin |
Subject: |
Re: [PATCH RFC V3 13/29] arm/virt: Make ARM vCPU *present* status ACPI *persistent* |
Date: |
Fri, 05 Jul 2024 10:08:49 +1000 |
On Thu Jul 4, 2024 at 9:23 PM AEST, Salil Mehta wrote:
> HI Nick,
>
> Thanks for taking time to review. Please find my replies inline.
>
> > From: Nicholas Piggin <npiggin@gmail.com>
> > Sent: Thursday, July 4, 2024 3:49 AM
> > To: Salil Mehta <salil.mehta@huawei.com>; qemu-devel@nongnu.org;
> > qemu-arm@nongnu.org; mst@redhat.com
> >
> > On Fri Jun 14, 2024 at 9:36 AM AEST, Salil Mehta wrote:
> > > ARM arch does not allow CPUs presence to be changed [1] after kernel
> > has booted.
> > > Hence, firmware/ACPI/Qemu must ensure persistent view of the vCPUs to
> > > the Guest kernel even when they are not present in the QoM i.e. are
> > > unplugged or are yet-to-be-plugged
> >
> > Do you need arch-independent state for this? If ARM always requires it
> > then can it be implemented between arm and acpi interface?
>
>
> Yes, we do need as we cannot say if the same constraint applies to other
> architectures as well. Above stated constraint affects how the architecture
> common ACPI CPU code is initialized.
Right, but could it be done with an ACPI property that the arch can
change, or an argument from arch code to an ACPI init routine? Or
even a machine property that ACPI could query.
> > If not, then perhaps could it be done in the patch that introduces all the
> > other state?
> >
> > > References:
> > > [1] Check comment 5 in the bugzilla entry
> > > Link: https://bugzilla.tianocore.org/show_bug.cgi?id=4481#c5
> >
> > If I understand correctly (and I don't know ACPI, so it's likely I don't),
> > that is
> > and update to ACPI spec to say some bit in ACPI table must remain set
> > regardless of CPU hotplug state.
>
>
> ARM does not claims anything related to CPU hotplug right now. It simply
> does not exists. The ACPI update is simply reinforcing the existing fact that
> _STA.Present bit in the ACPI spec cannot be changed after system has booted.
>
> This is because for ARM arch there are many other initializations which
> depend
> upon the exact availability of CPU count during boot and they do not expect
> that to change after boot. For example, there are so many per-CPU features
> and the GIC CPU interface etc. which all expect this to be fixed at boot time.
> This is immutable requirement from ARM.
>
>
> >
> > Reference links are good, I think it would be nice to add a small summary
> > in
> > the changelog too.
>
> sure. I will do.
Thanks. Something like what you wrote above would work.
Thanks,
Nick