Message ID | 20230926100436.28284-11-salil.mehta@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Support of Virtual CPU Hotplug for ARMv8 Arch | expand |
Hi Salil, On 9/26/23 20:04, Salil Mehta wrote: > ACPI is required to interface QEMU with the guest. Roughly falls into below > cases, > > 1. Convey the possible vcpus config at the machine init time to the guest > using various DSDT tables like MADT etc. > 2. Convey vcpu hotplug events to guest(using GED) > 3. Assist in evaluation of various ACPI methods(like _EVT, _STA, _OST, _EJ0, > _MAT etc.) > 4. Provides ACPI cpu hotplug state and 12 Byte memory mapped cpu hotplug > control register interface to the OSPM/guest corresponding to each possible > vcpu. The register interface consists of various R/W fields and their > handling operations. These are called when ever register fields or memory > regions are accessed(i.e. read or written) by OSPM when ever it evaluates > various ACPI methods. > > Note: lot of this framework code is inherited from the changes already done for > x86 but still some minor changes are required to make it compatible with > ARM64.) > > This patch enables the ACPI support for virtual cpu hotplug. ACPI changes > required will follow in subsequent patches. > > Co-developed-by: Salil Mehta <salil.mehta@huawei.com> > Signed-off-by: Salil Mehta <salil.mehta@huawei.com> > Co-developed-by: Keqian Zhu <zhukeqian1@huawei.com> > Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> > Signed-off-by: Salil Mehta <salil.mehta@huawei.com> > --- > hw/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > I assume this patch needs to be moved around to last one, until vCPU hotplug is supported in the code base. > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index 7e68348440..dae06158cd 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -29,6 +29,7 @@ config ARM_VIRT > select ACPI_HW_REDUCED > select ACPI_APEI > select ACPI_VIOT > + select ACPI_CPU_HOTPLUG > select VIRTIO_MEM_SUPPORTED > select ACPI_CXL > select ACPI_HMAT Thanks, Gavin
Hi Gavin, > From: Gavin Shan <gshan@redhat.com> > Sent: Thursday, September 28, 2023 1:26 AM > To: Salil Mehta <salil.mehta@huawei.com>; qemu-devel@nongnu.org; qemu-arm@nongnu.org > Cc: maz@kernel.org; jean-philippe@linaro.org; Jonathan Cameron > <jonathan.cameron@huawei.com>; lpieralisi@kernel.org; > peter.maydell@linaro.org; richard.henderson@linaro.org; > imammedo@redhat.com; andrew.jones@linux.dev; david@redhat.com; > philmd@linaro.org; eric.auger@redhat.com; will@kernel.org; ardb@kernel.org; > oliver.upton@linux.dev; pbonzini@redhat.com; mst@redhat.com; > rafael@kernel.org; borntraeger@linux.ibm.com; alex.bennee@linaro.org; > linux@armlinux.org.uk; darren@os.amperecomputing.com; > ilkka@os.amperecomputing.com; vishnu@os.amperecomputing.com; > karl.heubaum@oracle.com; miguel.luis@oracle.com; salil.mehta@opnsrc.net; > zhukeqian <zhukeqian1@huawei.com>; wangxiongfeng (C) > <wangxiongfeng2@huawei.com>; wangyanan (Y) <wangyanan55@huawei.com>; > jiakernel2@gmail.com; maobibo@loongson.cn; lixianglai@loongson.cn > Subject: Re: [PATCH RFC V2 10/37] arm/acpi: Enable ACPI support for vcpu > hotplug > > Hi Salil, > > On 9/26/23 20:04, Salil Mehta wrote: > > ACPI is required to interface QEMU with the guest. Roughly falls into below > > cases, > > > > 1. Convey the possible vcpus config at the machine init time to the guest > > using various DSDT tables like MADT etc. > > 2. Convey vcpu hotplug events to guest(using GED) > > 3. Assist in evaluation of various ACPI methods(like _EVT, _STA, _OST, _EJ0, > > _MAT etc.) > > 4. Provides ACPI cpu hotplug state and 12 Byte memory mapped cpu hotplug > > control register interface to the OSPM/guest corresponding to each possible > > vcpu. The register interface consists of various R/W fields and their > > handling operations. These are called whenever register fields or memory > > regions are accessed(i.e. read or written) by OSPM when ever it evaluates > > various ACPI methods. > > > > Note: lot of this framework code is inherited from the changes already done for > > x86 but still some minor changes are required to make it compatible with > > ARM64.) > > > > This patch enables the ACPI support for virtual cpu hotplug. ACPI changes > > required will follow in subsequent patches. > > > > Co-developed-by: Salil Mehta <salil.mehta@huawei.com> > > Signed-off-by: Salil Mehta <salil.mehta@huawei.com> > > Co-developed-by: Keqian Zhu <zhukeqian1@huawei.com> > > Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com> > > Signed-off-by: Salil Mehta <salil.mehta@huawei.com> > > --- > > hw/arm/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > I assume this patch needs to be moved around to last one, until vCPU hotplug > is supported in the code base. In that case subsequent patches will not get compiled till this switch is not enabled. git-bisect wont work correctly in case of compilation failure is observed in previous patches when this switch gets compiled eventually. With the current order every subsequent patch is getting compiled. And in fact in this case you can even bring up the system. Later was not a requirement though. Also, this patch cannot be beyond the patch where functions defined in the patches subsequent to this will get called. For example, build_cpus_aml() i.e. [Patch RFC V2 17/37] Thanks Salil.
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 7e68348440..dae06158cd 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -29,6 +29,7 @@ config ARM_VIRT select ACPI_HW_REDUCED select ACPI_APEI select ACPI_VIOT + select ACPI_CPU_HOTPLUG select VIRTIO_MEM_SUPPORTED select ACPI_CXL select ACPI_HMAT