OSPM evaluates _EVT method to map the event. The cpu hotplug event eventually
results in start of the cpu scan. Scan figures out the cpu and the kind of
event(plug/unplug) and notifies it back to the guest.
The change in this patch updates the GED AML _EVT method with the call to
\\_SB.CPUS.CSCN which will do above.
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/acpi/generic_event_device.c | 4 ++++
include/hw/acpi/cpu_hotplug.h | 2 ++
2 files changed, 6 insertions(+)
diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c
index d2fa1d0e4a..62d504d231 100644
--- a/hw/acpi/generic_event_device.c
+++ b/hw/acpi/generic_event_device.c
@@ -108,6 +108,10 @@ void build_ged_aml(Aml *table, const char *name, HotplugHandler *hotplug_dev,
aml_append(if_ctx, aml_call0(MEMORY_DEVICES_CONTAINER "."
MEMORY_SLOT_SCAN_METHOD));
break;
+ case ACPI_GED_CPU_HOTPLUG_EVT:
+ aml_append(if_ctx, aml_call0(ACPI_CPU_CONTAINER "."
+ ACPI_CPU_SCAN_METHOD));
+ break;
case ACPI_GED_PWR_DOWN_EVT:
aml_append(if_ctx,
aml_notify(aml_name(ACPI_POWER_BUTTON_DEVICE),
diff --git a/include/hw/acpi/cpu_hotplug.h b/include/hw/acpi/cpu_hotplug.h
index 48b291e45e..ef631750b4 100644
--- a/include/hw/acpi/cpu_hotplug.h
+++ b/include/hw/acpi/cpu_hotplug.h
@@ -20,6 +20,8 @@
#include "hw/acpi/cpu.h"
#define ACPI_CPU_HOTPLUG_REG_LEN 12
+#define ACPI_CPU_SCAN_METHOD "CSCN"
+#define ACPI_CPU_CONTAINER "\\_SB.CPUS"
typedef struct AcpiCpuHotplug {
Object *device;
--
2.34.1
On 9/30/23 10:19, Salil Mehta wrote: > OSPM evaluates _EVT method to map the event. The cpu hotplug event eventually > results in start of the cpu scan. Scan figures out the cpu and the kind of > event(plug/unplug) and notifies it back to the guest. > > The change in this patch updates the GED AML _EVT method with the call to > \\_SB.CPUS.CSCN which will do above. > > 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/acpi/generic_event_device.c | 4 ++++ > include/hw/acpi/cpu_hotplug.h | 2 ++ > 2 files changed, 6 insertions(+) > Reviewed-by: Gavin Shan <gshan@redhat.com>
> From: Gavin Shan <gshan@redhat.com> > Sent: Tuesday, October 3, 2023 1:11 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; oliver.upton@linux.dev; > pbonzini@redhat.com; mst@redhat.com; will@kernel.org; rafael@kernel.org; > 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; Linuxarm <linuxarm@huawei.com> > Subject: Re: [PATCH V2 06/10] hw/acpi: Update GED _EVT method AML with cpu > scan > > On 9/30/23 10:19, Salil Mehta wrote: > > OSPM evaluates _EVT method to map the event. The cpu hotplug event > eventually > > results in start of the cpu scan. Scan figures out the cpu and the kind > of > > event(plug/unplug) and notifies it back to the guest. > > > > The change in this patch updates the GED AML _EVT method with the call to > > \\_SB.CPUS.CSCN which will do above. > > > > 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/acpi/generic_event_device.c | 4 ++++ > > include/hw/acpi/cpu_hotplug.h | 2 ++ > > 2 files changed, 6 insertions(+) > > > > Reviewed-by: Gavin Shan <gshan@redhat.com> Thanks Salil.
On Sat, 30 Sep 2023 01:19:29 +0100
Salil Mehta <salil.mehta@huawei.com> wrote:
> OSPM evaluates _EVT method to map the event. The cpu hotplug event eventually
> results in start of the cpu scan. Scan figures out the cpu and the kind of
> event(plug/unplug) and notifies it back to the guest.
>
> The change in this patch updates the GED AML _EVT method with the call to
> \\_SB.CPUS.CSCN which will do above.
>
> 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>
One trivial suggested addition inline (dropping existing definition that this
replicates). With that tidied up
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
> hw/acpi/generic_event_device.c | 4 ++++
> include/hw/acpi/cpu_hotplug.h | 2 ++
> 2 files changed, 6 insertions(+)
>
> diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c
> index d2fa1d0e4a..62d504d231 100644
> --- a/hw/acpi/generic_event_device.c
> +++ b/hw/acpi/generic_event_device.c
> @@ -108,6 +108,10 @@ void build_ged_aml(Aml *table, const char *name, HotplugHandler *hotplug_dev,
> aml_append(if_ctx, aml_call0(MEMORY_DEVICES_CONTAINER "."
> MEMORY_SLOT_SCAN_METHOD));
> break;
> + case ACPI_GED_CPU_HOTPLUG_EVT:
> + aml_append(if_ctx, aml_call0(ACPI_CPU_CONTAINER "."
> + ACPI_CPU_SCAN_METHOD));
> + break;
> case ACPI_GED_PWR_DOWN_EVT:
> aml_append(if_ctx,
> aml_notify(aml_name(ACPI_POWER_BUTTON_DEVICE),
> diff --git a/include/hw/acpi/cpu_hotplug.h b/include/hw/acpi/cpu_hotplug.h
> index 48b291e45e..ef631750b4 100644
> --- a/include/hw/acpi/cpu_hotplug.h
> +++ b/include/hw/acpi/cpu_hotplug.h
> @@ -20,6 +20,8 @@
> #include "hw/acpi/cpu.h"
>
> #define ACPI_CPU_HOTPLUG_REG_LEN 12
> +#define ACPI_CPU_SCAN_METHOD "CSCN"
This seems to already be defined in hw/acpi/cpu.c
Can we drop it from there given that file now includes this
header anyway.
> +#define ACPI_CPU_CONTAINER "\\_SB.CPUS"
>
> typedef struct AcpiCpuHotplug {
> Object *device;
> From: Jonathan Cameron <jonathan.cameron@huawei.com> > Sent: Monday, October 2, 2023 5:14 PM > To: Salil Mehta <salil.mehta@huawei.com> > Cc: qemu-devel@nongnu.org; qemu-arm@nongnu.org; maz@kernel.org; jean- > philippe@linaro.org; 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; > oliver.upton@linux.dev; pbonzini@redhat.com; mst@redhat.com; > will@kernel.org; gshan@redhat.com; rafael@kernel.org; > 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; Linuxarm <linuxarm@huawei.com> > Subject: Re: [PATCH V2 06/10] hw/acpi: Update GED _EVT method AML with cpu > scan > > On Sat, 30 Sep 2023 01:19:29 +0100 > Salil Mehta <salil.mehta@huawei.com> wrote: > > > OSPM evaluates _EVT method to map the event. The cpu hotplug event eventually > > results in start of the cpu scan. Scan figures out the cpu and the kind of > > event(plug/unplug) and notifies it back to the guest. > > > > The change in this patch updates the GED AML _EVT method with the call to > > \\_SB.CPUS.CSCN which will do above. > > > > 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> > One trivial suggested addition inline (dropping existing definition that this > replicates). With that tidied up > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Thanks Salil. > > > --- > > hw/acpi/generic_event_device.c | 4 ++++ > > include/hw/acpi/cpu_hotplug.h | 2 ++ > > 2 files changed, 6 insertions(+) > > > > diff --git a/hw/acpi/generic_event_device.c > b/hw/acpi/generic_event_device.c > > index d2fa1d0e4a..62d504d231 100644 > > --- a/hw/acpi/generic_event_device.c > > +++ b/hw/acpi/generic_event_device.c > > @@ -108,6 +108,10 @@ void build_ged_aml(Aml *table, const char *name, > HotplugHandler *hotplug_dev, > > aml_append(if_ctx, aml_call0(MEMORY_DEVICES_CONTAINER > "." > > MEMORY_SLOT_SCAN_METHOD)); > > break; > > + case ACPI_GED_CPU_HOTPLUG_EVT: > > + aml_append(if_ctx, aml_call0(ACPI_CPU_CONTAINER "." > > + ACPI_CPU_SCAN_METHOD)); > > + break; > > case ACPI_GED_PWR_DOWN_EVT: > > aml_append(if_ctx, > > > aml_notify(aml_name(ACPI_POWER_BUTTON_DEVICE), > > diff --git a/include/hw/acpi/cpu_hotplug.h > b/include/hw/acpi/cpu_hotplug.h > > index 48b291e45e..ef631750b4 100644 > > --- a/include/hw/acpi/cpu_hotplug.h > > +++ b/include/hw/acpi/cpu_hotplug.h > > @@ -20,6 +20,8 @@ > > #include "hw/acpi/cpu.h" > > > > #define ACPI_CPU_HOTPLUG_REG_LEN 12 > > +#define ACPI_CPU_SCAN_METHOD "CSCN" > > This seems to already be defined in hw/acpi/cpu.c > Can we drop it from there given that file now includes this > header anyway. Perhaps I can assign this to the macro in the hw/acpi/cpu.c? Thanks Salil.
> > aml_notify(aml_name(ACPI_POWER_BUTTON_DEVICE), > > > diff --git a/include/hw/acpi/cpu_hotplug.h > > b/include/hw/acpi/cpu_hotplug.h > > > index 48b291e45e..ef631750b4 100644 > > > --- a/include/hw/acpi/cpu_hotplug.h > > > +++ b/include/hw/acpi/cpu_hotplug.h > > > @@ -20,6 +20,8 @@ > > > #include "hw/acpi/cpu.h" > > > > > > #define ACPI_CPU_HOTPLUG_REG_LEN 12 > > > +#define ACPI_CPU_SCAN_METHOD "CSCN" > > > > This seems to already be defined in hw/acpi/cpu.c > > Can we drop it from there given that file now includes this > > header anyway. > > Perhaps I can assign this to the macro in the hw/acpi/cpu.c? hw/acpi/cpu.c includes this header now anyway I think. So just drop that definition and should all be good. Jonathan > > Thanks > Salil.
> From: Jonathan Cameron <jonathan.cameron@huawei.com> > Sent: Tuesday, October 3, 2023 12:54 PM > To: Salil Mehta <salil.mehta@huawei.com> > Cc: qemu-devel@nongnu.org; qemu-arm@nongnu.org; maz@kernel.org; jean- > philippe@linaro.org; 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; > oliver.upton@linux.dev; pbonzini@redhat.com; mst@redhat.com; > will@kernel.org; gshan@redhat.com; rafael@kernel.org; > 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; Linuxarm <linuxarm@huawei.com> > Subject: Re: [PATCH V2 06/10] hw/acpi: Update GED _EVT method AML with cpu > scan > > > > > aml_notify(aml_name(ACPI_POWER_BUTTON_DEVICE), > > > > diff --git a/include/hw/acpi/cpu_hotplug.h > > > b/include/hw/acpi/cpu_hotplug.h > > > > index 48b291e45e..ef631750b4 100644 > > > > --- a/include/hw/acpi/cpu_hotplug.h > > > > +++ b/include/hw/acpi/cpu_hotplug.h > > > > @@ -20,6 +20,8 @@ > > > > #include "hw/acpi/cpu.h" > > > > > > > > #define ACPI_CPU_HOTPLUG_REG_LEN 12 > > > > +#define ACPI_CPU_SCAN_METHOD "CSCN" > > > > > > This seems to already be defined in hw/acpi/cpu.c > > > Can we drop it from there given that file now includes this > > > header anyway. > > > > Perhaps I can assign this to the macro in the hw/acpi/cpu.c? > hw/acpi/cpu.c includes this header now anyway I think. > So just drop that definition and should all be good. Ok.
© 2016 - 2026 Red Hat, Inc.