From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
Cc: <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>,
<linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-riscv@lists.infradead.org>, <kvmarm@lists.linux.dev>,
<x86@kernel.org>, <acpica-devel@lists.linuxfoundation.org>,
<linux-csky@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-ia64@vger.kernel.org>, <linux-parisc@vger.kernel.org>,
Salil Mehta <salil.mehta@huawei.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
<jianyong.wu@arm.com>, <justin.he@arm.com>,
James Morse <james.morse@arm.com>,
Jose Marinho <jose.marinho@arm.com>,
Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Subject: Re: [PATCH RFC v3 20/21] ACPI: Add _OSC bits to advertise OS support for toggling CPU present/enabled
Date: Fri, 15 Dec 2023 17:12:27 +0000 [thread overview]
Message-ID: <20231215171227.00006550@Huawei.com> (raw)
In-Reply-To: <E1rDOhS-00Dvla-7i@rmk-PC.armlinux.org.uk>
On Wed, 13 Dec 2023 12:50:54 +0000
Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote:
> From: James Morse <james.morse@arm.com>
>
> Platform firmware can disabled a CPU, or make it not-present by making
> an eject-request notification, then waiting for the os to make it offline
OS
> and call _EJx. After the firmware updates _STA with the new status.
>
> Not all operating systems support this. For arm64 making CPUs not-present
> has never been supported. For all ACPI architectures, making CPUs disabled
> has recently been added. Firmware can't know what the OS has support for.
>
> Add two new _OSC bits to advertise whether the OS supports the _STA enabled
> or present bits being toggled for CPUs. This will be important for arm64
> if systems that support physical CPU hotplug ever appear as arm64 linux
> doesn't currently support this, so firmware shouldn't try.
>
> Advertising this support to firmware is useful for cloud orchestrators
> to know whether they can scale a particular VM by adding CPUs.
>
> Signed-off-by: James Morse <james.morse@arm.com>
> Tested-by: Miguel Luis <miguel.luis@oracle.com>
> Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
> Tested-by: Jianyong Wu <jianyong.wu@arm.com>
I'm very much in favor of this _OSC but it hasn't been accepted yet I think...
https://bugzilla.tianocore.org/show_bug.cgi?id=4481
Jose? Github suggests you are the proposer on this.
btw v4 looks ok but v5 in the tianocore github seems to have lost the actual OSC part.
Jonathan
> ---
> I'm assuming Loongarch machines do not support physical CPU hotplug.
>
> Changes since RFC v3:
> * Drop ia64 changes
> * Update James' comment below "---" to remove reference to ia64
>
> Outstanding comment:
> https://lore.kernel.org/r/20230914175021.000018fd@Huawei.com
> ---
> arch/x86/Kconfig | 1 +
> drivers/acpi/Kconfig | 9 +++++++++
> drivers/acpi/acpi_processor.c | 14 +++++++++++++-
> drivers/acpi/bus.c | 16 ++++++++++++++++
> include/linux/acpi.h | 4 ++++
> 5 files changed, 43 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 64fc7c475ab0..33fc4dcd950c 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -60,6 +60,7 @@ config X86
> select ACPI_LEGACY_TABLES_LOOKUP if ACPI
> select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
> select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
> + select ACPI_HOTPLUG_IGNORE_OSC if ACPI && HOTPLUG_CPU
> select ARCH_32BIT_OFF_T if X86_32
> select ARCH_CLOCKSOURCE_INIT
> select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 9c5a43d0aff4..020e7c0ab985 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -311,6 +311,15 @@ config ACPI_HOTPLUG_PRESENT_CPU
> depends on ACPI_PROCESSOR && HOTPLUG_CPU
> select ACPI_CONTAINER
>
> +config ACPI_HOTPLUG_IGNORE_OSC
> + bool
> + depends on ACPI_HOTPLUG_PRESENT_CPU
> + help
> + Ignore whether firmware acknowledged support for toggling the CPU
> + present bit in _STA. Some architectures predate the _OSC bits, so
> + firmware doesn't know to do this.
> +
> +
> config ACPI_PROCESSOR_AGGREGATOR
> tristate "Processor Aggregator"
> depends on ACPI_PROCESSOR
> diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
> index ea12e70dfd39..5bb207a7a1dd 100644
> --- a/drivers/acpi/acpi_processor.c
> +++ b/drivers/acpi/acpi_processor.c
> @@ -182,6 +182,18 @@ static void __init acpi_pcc_cpufreq_init(void)
> static void __init acpi_pcc_cpufreq_init(void) {}
> #endif /* CONFIG_X86 */
>
> +static bool acpi_processor_hotplug_present_supported(void)
> +{
> + if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
> + return false;
> +
> + /* x86 systems pre-date the _OSC bit */
> + if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_IGNORE_OSC))
> + return true;
> +
> + return osc_sb_hotplug_present_support_acked;
> +}
> +
> /* Initialization */
> static int acpi_processor_make_present(struct acpi_processor *pr)
> {
> @@ -189,7 +201,7 @@ static int acpi_processor_make_present(struct acpi_processor *pr)
> acpi_status status;
> int ret;
>
> - if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU)) {
> + if (!acpi_processor_hotplug_present_supported()) {
> pr_err_once("Changing CPU present bit is not supported\n");
> return -ENODEV;
> }
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 72e64c0718c9..7122450739d6 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -298,6 +298,13 @@ EXPORT_SYMBOL_GPL(osc_sb_native_usb4_support_confirmed);
>
> bool osc_sb_cppc2_support_acked;
>
> +/*
> + * ACPI 6.? Proposed Operating System Capabilities for modifying CPU
> + * present/enable.
> + */
> +bool osc_sb_hotplug_enabled_support_acked;
> +bool osc_sb_hotplug_present_support_acked;
> +
> static u8 sb_uuid_str[] = "0811B06E-4A27-44F9-8D60-3CBBC22E7B48";
> static void acpi_bus_osc_negotiate_platform_control(void)
> {
> @@ -346,6 +353,11 @@ static void acpi_bus_osc_negotiate_platform_control(void)
>
> if (!ghes_disable)
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
> +
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_ENABLED_SUPPORT;
> + if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_PRESENT_SUPPORT;
> +
> if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))
> return;
>
> @@ -383,6 +395,10 @@ static void acpi_bus_osc_negotiate_platform_control(void)
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_NATIVE_USB4_SUPPORT;
> osc_cpc_flexible_adr_space_confirmed =
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_CPC_FLEXIBLE_ADR_SPACE;
> + osc_sb_hotplug_enabled_support_acked =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_HOTPLUG_ENABLED_SUPPORT;
> + osc_sb_hotplug_present_support_acked =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_HOTPLUG_PRESENT_SUPPORT;
> }
>
> kfree(context.ret.pointer);
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 00be66683505..c572abac803c 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -559,12 +559,16 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> #define OSC_SB_NATIVE_USB4_SUPPORT 0x00040000
> #define OSC_SB_PRM_SUPPORT 0x00200000
> #define OSC_SB_FFH_OPR_SUPPORT 0x00400000
> +#define OSC_SB_HOTPLUG_ENABLED_SUPPORT 0x00800000
> +#define OSC_SB_HOTPLUG_PRESENT_SUPPORT 0x01000000
>
> extern bool osc_sb_apei_support_acked;
> extern bool osc_pc_lpi_support_confirmed;
> extern bool osc_sb_native_usb4_support_confirmed;
> extern bool osc_sb_cppc2_support_acked;
> extern bool osc_cpc_flexible_adr_space_confirmed;
> +extern bool osc_sb_hotplug_enabled_support_acked;
> +extern bool osc_sb_hotplug_present_support_acked;
>
> /* USB4 Capabilities */
> #define OSC_USB_USB3_TUNNELING 0x00000001
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
Cc: <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>,
<linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-riscv@lists.infradead.org>, <kvmarm@lists.linux.dev>,
<x86@kernel.org>, <acpica-devel@lists.linuxfoundation.org>,
<linux-csky@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-ia64@vger.kernel.org>, <linux-parisc@vger.kernel.org>,
Salil Mehta <salil.mehta@huawei.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
<jianyong.wu@arm.com>, <justin.he@arm.com>,
James Morse <james.morse@arm.com>,
Jose Marinho <jose.marinho@arm.com>,
Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Subject: Re: [PATCH RFC v3 20/21] ACPI: Add _OSC bits to advertise OS support for toggling CPU present/enabled
Date: Fri, 15 Dec 2023 17:12:27 +0000 [thread overview]
Message-ID: <20231215171227.00006550@Huawei.com> (raw)
In-Reply-To: <E1rDOhS-00Dvla-7i@rmk-PC.armlinux.org.uk>
On Wed, 13 Dec 2023 12:50:54 +0000
Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote:
> From: James Morse <james.morse@arm.com>
>
> Platform firmware can disabled a CPU, or make it not-present by making
> an eject-request notification, then waiting for the os to make it offline
OS
> and call _EJx. After the firmware updates _STA with the new status.
>
> Not all operating systems support this. For arm64 making CPUs not-present
> has never been supported. For all ACPI architectures, making CPUs disabled
> has recently been added. Firmware can't know what the OS has support for.
>
> Add two new _OSC bits to advertise whether the OS supports the _STA enabled
> or present bits being toggled for CPUs. This will be important for arm64
> if systems that support physical CPU hotplug ever appear as arm64 linux
> doesn't currently support this, so firmware shouldn't try.
>
> Advertising this support to firmware is useful for cloud orchestrators
> to know whether they can scale a particular VM by adding CPUs.
>
> Signed-off-by: James Morse <james.morse@arm.com>
> Tested-by: Miguel Luis <miguel.luis@oracle.com>
> Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
> Tested-by: Jianyong Wu <jianyong.wu@arm.com>
I'm very much in favor of this _OSC but it hasn't been accepted yet I think...
https://bugzilla.tianocore.org/show_bug.cgi?id=4481
Jose? Github suggests you are the proposer on this.
btw v4 looks ok but v5 in the tianocore github seems to have lost the actual OSC part.
Jonathan
> ---
> I'm assuming Loongarch machines do not support physical CPU hotplug.
>
> Changes since RFC v3:
> * Drop ia64 changes
> * Update James' comment below "---" to remove reference to ia64
>
> Outstanding comment:
> https://lore.kernel.org/r/20230914175021.000018fd@Huawei.com
> ---
> arch/x86/Kconfig | 1 +
> drivers/acpi/Kconfig | 9 +++++++++
> drivers/acpi/acpi_processor.c | 14 +++++++++++++-
> drivers/acpi/bus.c | 16 ++++++++++++++++
> include/linux/acpi.h | 4 ++++
> 5 files changed, 43 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 64fc7c475ab0..33fc4dcd950c 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -60,6 +60,7 @@ config X86
> select ACPI_LEGACY_TABLES_LOOKUP if ACPI
> select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
> select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
> + select ACPI_HOTPLUG_IGNORE_OSC if ACPI && HOTPLUG_CPU
> select ARCH_32BIT_OFF_T if X86_32
> select ARCH_CLOCKSOURCE_INIT
> select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 9c5a43d0aff4..020e7c0ab985 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -311,6 +311,15 @@ config ACPI_HOTPLUG_PRESENT_CPU
> depends on ACPI_PROCESSOR && HOTPLUG_CPU
> select ACPI_CONTAINER
>
> +config ACPI_HOTPLUG_IGNORE_OSC
> + bool
> + depends on ACPI_HOTPLUG_PRESENT_CPU
> + help
> + Ignore whether firmware acknowledged support for toggling the CPU
> + present bit in _STA. Some architectures predate the _OSC bits, so
> + firmware doesn't know to do this.
> +
> +
> config ACPI_PROCESSOR_AGGREGATOR
> tristate "Processor Aggregator"
> depends on ACPI_PROCESSOR
> diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
> index ea12e70dfd39..5bb207a7a1dd 100644
> --- a/drivers/acpi/acpi_processor.c
> +++ b/drivers/acpi/acpi_processor.c
> @@ -182,6 +182,18 @@ static void __init acpi_pcc_cpufreq_init(void)
> static void __init acpi_pcc_cpufreq_init(void) {}
> #endif /* CONFIG_X86 */
>
> +static bool acpi_processor_hotplug_present_supported(void)
> +{
> + if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
> + return false;
> +
> + /* x86 systems pre-date the _OSC bit */
> + if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_IGNORE_OSC))
> + return true;
> +
> + return osc_sb_hotplug_present_support_acked;
> +}
> +
> /* Initialization */
> static int acpi_processor_make_present(struct acpi_processor *pr)
> {
> @@ -189,7 +201,7 @@ static int acpi_processor_make_present(struct acpi_processor *pr)
> acpi_status status;
> int ret;
>
> - if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU)) {
> + if (!acpi_processor_hotplug_present_supported()) {
> pr_err_once("Changing CPU present bit is not supported\n");
> return -ENODEV;
> }
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 72e64c0718c9..7122450739d6 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -298,6 +298,13 @@ EXPORT_SYMBOL_GPL(osc_sb_native_usb4_support_confirmed);
>
> bool osc_sb_cppc2_support_acked;
>
> +/*
> + * ACPI 6.? Proposed Operating System Capabilities for modifying CPU
> + * present/enable.
> + */
> +bool osc_sb_hotplug_enabled_support_acked;
> +bool osc_sb_hotplug_present_support_acked;
> +
> static u8 sb_uuid_str[] = "0811B06E-4A27-44F9-8D60-3CBBC22E7B48";
> static void acpi_bus_osc_negotiate_platform_control(void)
> {
> @@ -346,6 +353,11 @@ static void acpi_bus_osc_negotiate_platform_control(void)
>
> if (!ghes_disable)
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
> +
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_ENABLED_SUPPORT;
> + if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_PRESENT_SUPPORT;
> +
> if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))
> return;
>
> @@ -383,6 +395,10 @@ static void acpi_bus_osc_negotiate_platform_control(void)
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_NATIVE_USB4_SUPPORT;
> osc_cpc_flexible_adr_space_confirmed =
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_CPC_FLEXIBLE_ADR_SPACE;
> + osc_sb_hotplug_enabled_support_acked =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_HOTPLUG_ENABLED_SUPPORT;
> + osc_sb_hotplug_present_support_acked =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_HOTPLUG_PRESENT_SUPPORT;
> }
>
> kfree(context.ret.pointer);
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 00be66683505..c572abac803c 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -559,12 +559,16 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> #define OSC_SB_NATIVE_USB4_SUPPORT 0x00040000
> #define OSC_SB_PRM_SUPPORT 0x00200000
> #define OSC_SB_FFH_OPR_SUPPORT 0x00400000
> +#define OSC_SB_HOTPLUG_ENABLED_SUPPORT 0x00800000
> +#define OSC_SB_HOTPLUG_PRESENT_SUPPORT 0x01000000
>
> extern bool osc_sb_apei_support_acked;
> extern bool osc_pc_lpi_support_confirmed;
> extern bool osc_sb_native_usb4_support_confirmed;
> extern bool osc_sb_cppc2_support_acked;
> extern bool osc_cpc_flexible_adr_space_confirmed;
> +extern bool osc_sb_hotplug_enabled_support_acked;
> +extern bool osc_sb_hotplug_present_support_acked;
>
> /* USB4 Capabilities */
> #define OSC_USB_USB3_TUNNELING 0x00000001
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
Cc: <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>,
<linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-riscv@lists.infradead.org>, <kvmarm@lists.linux.dev>,
<x86@kernel.org>, <acpica-devel@lists.linuxfoundation.org>,
<linux-csky@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-ia64@vger.kernel.org>, <linux-parisc@vger.kernel.org>,
Salil Mehta <salil.mehta@huawei.com>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
<jianyong.wu@arm.com>, <justin.he@arm.com>,
James Morse <james.morse@arm.com>,
Jose Marinho <jose.marinho@arm.com>,
Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Subject: Re: [PATCH RFC v3 20/21] ACPI: Add _OSC bits to advertise OS support for toggling CPU present/enabled
Date: Fri, 15 Dec 2023 17:12:27 +0000 [thread overview]
Message-ID: <20231215171227.00006550@Huawei.com> (raw)
In-Reply-To: <E1rDOhS-00Dvla-7i@rmk-PC.armlinux.org.uk>
On Wed, 13 Dec 2023 12:50:54 +0000
Russell King (Oracle) <rmk+kernel@armlinux.org.uk> wrote:
> From: James Morse <james.morse@arm.com>
>
> Platform firmware can disabled a CPU, or make it not-present by making
> an eject-request notification, then waiting for the os to make it offline
OS
> and call _EJx. After the firmware updates _STA with the new status.
>
> Not all operating systems support this. For arm64 making CPUs not-present
> has never been supported. For all ACPI architectures, making CPUs disabled
> has recently been added. Firmware can't know what the OS has support for.
>
> Add two new _OSC bits to advertise whether the OS supports the _STA enabled
> or present bits being toggled for CPUs. This will be important for arm64
> if systems that support physical CPU hotplug ever appear as arm64 linux
> doesn't currently support this, so firmware shouldn't try.
>
> Advertising this support to firmware is useful for cloud orchestrators
> to know whether they can scale a particular VM by adding CPUs.
>
> Signed-off-by: James Morse <james.morse@arm.com>
> Tested-by: Miguel Luis <miguel.luis@oracle.com>
> Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
> Tested-by: Jianyong Wu <jianyong.wu@arm.com>
I'm very much in favor of this _OSC but it hasn't been accepted yet I think...
https://bugzilla.tianocore.org/show_bug.cgi?id=4481
Jose? Github suggests you are the proposer on this.
btw v4 looks ok but v5 in the tianocore github seems to have lost the actual OSC part.
Jonathan
> ---
> I'm assuming Loongarch machines do not support physical CPU hotplug.
>
> Changes since RFC v3:
> * Drop ia64 changes
> * Update James' comment below "---" to remove reference to ia64
>
> Outstanding comment:
> https://lore.kernel.org/r/20230914175021.000018fd@Huawei.com
> ---
> arch/x86/Kconfig | 1 +
> drivers/acpi/Kconfig | 9 +++++++++
> drivers/acpi/acpi_processor.c | 14 +++++++++++++-
> drivers/acpi/bus.c | 16 ++++++++++++++++
> include/linux/acpi.h | 4 ++++
> 5 files changed, 43 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 64fc7c475ab0..33fc4dcd950c 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -60,6 +60,7 @@ config X86
> select ACPI_LEGACY_TABLES_LOOKUP if ACPI
> select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
> select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
> + select ACPI_HOTPLUG_IGNORE_OSC if ACPI && HOTPLUG_CPU
> select ARCH_32BIT_OFF_T if X86_32
> select ARCH_CLOCKSOURCE_INIT
> select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 9c5a43d0aff4..020e7c0ab985 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -311,6 +311,15 @@ config ACPI_HOTPLUG_PRESENT_CPU
> depends on ACPI_PROCESSOR && HOTPLUG_CPU
> select ACPI_CONTAINER
>
> +config ACPI_HOTPLUG_IGNORE_OSC
> + bool
> + depends on ACPI_HOTPLUG_PRESENT_CPU
> + help
> + Ignore whether firmware acknowledged support for toggling the CPU
> + present bit in _STA. Some architectures predate the _OSC bits, so
> + firmware doesn't know to do this.
> +
> +
> config ACPI_PROCESSOR_AGGREGATOR
> tristate "Processor Aggregator"
> depends on ACPI_PROCESSOR
> diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
> index ea12e70dfd39..5bb207a7a1dd 100644
> --- a/drivers/acpi/acpi_processor.c
> +++ b/drivers/acpi/acpi_processor.c
> @@ -182,6 +182,18 @@ static void __init acpi_pcc_cpufreq_init(void)
> static void __init acpi_pcc_cpufreq_init(void) {}
> #endif /* CONFIG_X86 */
>
> +static bool acpi_processor_hotplug_present_supported(void)
> +{
> + if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
> + return false;
> +
> + /* x86 systems pre-date the _OSC bit */
> + if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_IGNORE_OSC))
> + return true;
> +
> + return osc_sb_hotplug_present_support_acked;
> +}
> +
> /* Initialization */
> static int acpi_processor_make_present(struct acpi_processor *pr)
> {
> @@ -189,7 +201,7 @@ static int acpi_processor_make_present(struct acpi_processor *pr)
> acpi_status status;
> int ret;
>
> - if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU)) {
> + if (!acpi_processor_hotplug_present_supported()) {
> pr_err_once("Changing CPU present bit is not supported\n");
> return -ENODEV;
> }
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 72e64c0718c9..7122450739d6 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -298,6 +298,13 @@ EXPORT_SYMBOL_GPL(osc_sb_native_usb4_support_confirmed);
>
> bool osc_sb_cppc2_support_acked;
>
> +/*
> + * ACPI 6.? Proposed Operating System Capabilities for modifying CPU
> + * present/enable.
> + */
> +bool osc_sb_hotplug_enabled_support_acked;
> +bool osc_sb_hotplug_present_support_acked;
> +
> static u8 sb_uuid_str[] = "0811B06E-4A27-44F9-8D60-3CBBC22E7B48";
> static void acpi_bus_osc_negotiate_platform_control(void)
> {
> @@ -346,6 +353,11 @@ static void acpi_bus_osc_negotiate_platform_control(void)
>
> if (!ghes_disable)
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
> +
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_ENABLED_SUPPORT;
> + if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_PRESENT_SUPPORT;
> +
> if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))
> return;
>
> @@ -383,6 +395,10 @@ static void acpi_bus_osc_negotiate_platform_control(void)
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_NATIVE_USB4_SUPPORT;
> osc_cpc_flexible_adr_space_confirmed =
> capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_CPC_FLEXIBLE_ADR_SPACE;
> + osc_sb_hotplug_enabled_support_acked =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_HOTPLUG_ENABLED_SUPPORT;
> + osc_sb_hotplug_present_support_acked =
> + capbuf_ret[OSC_SUPPORT_DWORD] & OSC_SB_HOTPLUG_PRESENT_SUPPORT;
> }
>
> kfree(context.ret.pointer);
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 00be66683505..c572abac803c 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -559,12 +559,16 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> #define OSC_SB_NATIVE_USB4_SUPPORT 0x00040000
> #define OSC_SB_PRM_SUPPORT 0x00200000
> #define OSC_SB_FFH_OPR_SUPPORT 0x00400000
> +#define OSC_SB_HOTPLUG_ENABLED_SUPPORT 0x00800000
> +#define OSC_SB_HOTPLUG_PRESENT_SUPPORT 0x01000000
>
> extern bool osc_sb_apei_support_acked;
> extern bool osc_pc_lpi_support_confirmed;
> extern bool osc_sb_native_usb4_support_confirmed;
> extern bool osc_sb_cppc2_support_acked;
> extern bool osc_cpc_flexible_adr_space_confirmed;
> +extern bool osc_sb_hotplug_enabled_support_acked;
> +extern bool osc_sb_hotplug_present_support_acked;
>
> /* USB4 Capabilities */
> #define OSC_USB_USB3_TUNNELING 0x00000001
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-12-15 17:12 UTC|newest]
Thread overview: 363+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-13 12:47 [RFC PATCH v3 00/21] ACPI/arm64: add support for virtual cpu hotplug Russell King (Oracle)
2023-12-13 12:47 ` Russell King (Oracle)
2023-12-13 12:47 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 01/21] ACPI: Only enumerate enabled (or functional) devices Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-14 17:32 ` Jonathan Cameron
2023-12-14 17:32 ` Jonathan Cameron
2023-12-14 17:32 ` Jonathan Cameron
2023-12-14 17:47 ` Rafael J. Wysocki
2023-12-14 17:47 ` Rafael J. Wysocki
2023-12-14 17:47 ` Rafael J. Wysocki
2023-12-14 18:10 ` Russell King (Oracle)
2023-12-14 18:10 ` Russell King (Oracle)
2023-12-14 18:10 ` Russell King (Oracle)
2023-12-14 18:16 ` Rafael J. Wysocki
2023-12-14 18:16 ` Rafael J. Wysocki
2023-12-14 18:16 ` Rafael J. Wysocki
2023-12-14 18:37 ` Rafael J. Wysocki
2023-12-14 18:37 ` Rafael J. Wysocki
2023-12-14 18:37 ` Rafael J. Wysocki
2023-12-15 15:31 ` Russell King (Oracle)
2023-12-15 15:31 ` Russell King (Oracle)
2023-12-15 15:31 ` Russell King (Oracle)
2023-12-15 16:15 ` Jonathan Cameron
2023-12-15 16:15 ` Jonathan Cameron
2023-12-15 16:15 ` Jonathan Cameron
2023-12-15 19:47 ` Rafael J. Wysocki
2023-12-15 19:47 ` Rafael J. Wysocki
2023-12-15 19:47 ` Rafael J. Wysocki
2024-01-02 14:39 ` Jonathan Cameron
2024-01-02 14:39 ` Jonathan Cameron
2024-01-02 14:39 ` Jonathan Cameron
2024-01-11 10:19 ` Jonathan Cameron
2024-01-11 10:19 ` Jonathan Cameron
2024-01-11 10:19 ` Jonathan Cameron
2024-01-11 10:26 ` Russell King (Oracle)
2024-01-11 10:26 ` Russell King (Oracle)
2024-01-11 10:26 ` Russell King (Oracle)
2024-01-12 11:52 ` Jonathan Cameron
2024-01-12 11:52 ` Jonathan Cameron
2024-01-12 11:52 ` Jonathan Cameron
2024-01-29 14:55 ` Russell King (Oracle)
2024-01-29 14:55 ` Russell King (Oracle)
2024-01-29 14:55 ` Russell King (Oracle)
2024-01-29 15:05 ` Rafael J. Wysocki
2024-01-29 15:05 ` Rafael J. Wysocki
2024-01-29 15:05 ` Rafael J. Wysocki
2024-01-29 15:16 ` Russell King (Oracle)
2024-01-29 15:16 ` Russell King (Oracle)
2024-01-29 15:16 ` Russell King (Oracle)
2024-01-29 15:34 ` Rafael J. Wysocki
2024-01-29 15:34 ` Rafael J. Wysocki
2024-01-29 15:34 ` Rafael J. Wysocki
2024-01-22 7:31 ` Gavin Shan
2024-01-22 7:31 ` Gavin Shan
2024-01-22 7:31 ` Gavin Shan
2023-12-14 17:55 ` Russell King (Oracle)
2023-12-14 17:55 ` Russell King (Oracle)
2023-12-14 17:55 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 02/21] ACPI: processor: Add support for processors described as container packages Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-14 17:36 ` Jonathan Cameron
2023-12-14 17:36 ` Jonathan Cameron
2023-12-14 17:36 ` Jonathan Cameron
2023-12-14 17:57 ` Russell King (Oracle)
2023-12-14 17:57 ` Russell King (Oracle)
2023-12-14 17:57 ` Russell King (Oracle)
2023-12-18 20:17 ` Rafael J. Wysocki
2023-12-18 20:17 ` Rafael J. Wysocki
2023-12-18 20:17 ` Rafael J. Wysocki
2024-01-09 15:49 ` Russell King (Oracle)
2024-01-09 15:49 ` Russell King (Oracle)
2024-01-09 15:49 ` Russell King (Oracle)
2024-01-09 16:05 ` Rafael J. Wysocki
2024-01-09 16:05 ` Rafael J. Wysocki
2024-01-09 16:05 ` Rafael J. Wysocki
2024-01-09 16:13 ` Russell King (Oracle)
2024-01-09 16:13 ` Russell King (Oracle)
2024-01-09 16:13 ` Russell King (Oracle)
2024-01-11 16:17 ` Jonathan Cameron
2024-01-11 16:17 ` Jonathan Cameron
2024-01-11 16:17 ` Jonathan Cameron
2024-01-11 17:59 ` Jonathan Cameron
2024-01-11 17:59 ` Jonathan Cameron
2024-01-11 17:59 ` Jonathan Cameron
2024-01-11 18:46 ` Russell King (Oracle)
2024-01-11 18:46 ` Russell King (Oracle)
2024-01-11 18:46 ` Russell King (Oracle)
2024-01-12 9:25 ` Jonathan Cameron
2024-01-12 9:25 ` Jonathan Cameron
2024-01-12 9:25 ` Jonathan Cameron
2024-01-12 15:01 ` Rafael J. Wysocki
2024-01-12 15:01 ` Rafael J. Wysocki
2024-01-12 15:01 ` Rafael J. Wysocki
2024-01-12 15:03 ` Jonathan Cameron
2024-01-12 15:03 ` Jonathan Cameron
2024-01-12 15:03 ` Jonathan Cameron
2024-01-15 10:47 ` Russell King (Oracle)
2024-01-15 10:47 ` Russell King (Oracle)
2024-01-15 10:47 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 03/21] ACPI: processor: Register CPUs that are online, but not described in the DSDT Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-18 20:22 ` Rafael J. Wysocki
2023-12-18 20:22 ` Rafael J. Wysocki
2023-12-18 20:22 ` Rafael J. Wysocki
2024-01-15 11:06 ` Russell King (Oracle)
2024-01-15 11:06 ` Russell King (Oracle)
2024-01-15 11:06 ` Russell King (Oracle)
2024-01-22 16:02 ` Jonathan Cameron
2024-01-22 16:02 ` Jonathan Cameron
2024-01-22 16:02 ` Jonathan Cameron
2024-01-22 16:22 ` Rafael J. Wysocki
2024-01-22 16:22 ` Rafael J. Wysocki
2024-01-22 16:22 ` Rafael J. Wysocki
2024-01-22 17:30 ` Russell King (Oracle)
2024-01-22 17:30 ` Russell King (Oracle)
2024-01-22 17:30 ` Russell King (Oracle)
2024-01-23 9:27 ` Jonathan Cameron
2024-01-23 9:27 ` Jonathan Cameron
2024-01-23 9:27 ` Jonathan Cameron
2024-01-25 13:56 ` Miguel Luis
2024-01-25 13:56 ` Miguel Luis
2024-01-25 13:56 ` Miguel Luis
2024-01-25 14:42 ` Rafael J. Wysocki
2024-01-25 14:42 ` Rafael J. Wysocki
2024-01-25 14:42 ` Rafael J. Wysocki
2024-01-29 13:03 ` Jonathan Cameron
2024-01-29 13:03 ` Jonathan Cameron
2024-01-29 13:03 ` Jonathan Cameron
2024-01-29 15:32 ` Russell King (Oracle)
2024-01-29 15:32 ` Russell King (Oracle)
2024-01-29 15:32 ` Russell King (Oracle)
2024-01-22 17:27 ` Russell King (Oracle)
2024-01-22 17:27 ` Russell King (Oracle)
2024-01-22 17:27 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 04/21] ACPI: processor: Register all CPUs from acpi_processor_get_info() Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-14 17:38 ` Jonathan Cameron
2023-12-14 17:38 ` Jonathan Cameron
2023-12-14 17:38 ` Jonathan Cameron
2023-12-18 20:30 ` Rafael J. Wysocki
2023-12-18 20:30 ` Rafael J. Wysocki
2023-12-18 20:30 ` Rafael J. Wysocki
2024-01-22 17:44 ` Jonathan Cameron
2024-01-22 17:44 ` Jonathan Cameron
2024-01-22 17:44 ` Jonathan Cameron
2024-01-22 18:03 ` Rafael J. Wysocki
2024-01-22 18:03 ` Rafael J. Wysocki
2024-01-22 18:03 ` Rafael J. Wysocki
2024-01-22 21:56 ` Russell King (Oracle)
2024-01-22 21:56 ` Russell King (Oracle)
2024-01-22 21:56 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 05/21] ACPI: Rename ACPI_HOTPLUG_CPU to include 'present' Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-14 17:41 ` Jonathan Cameron
2023-12-14 17:41 ` Jonathan Cameron
2023-12-14 17:41 ` Jonathan Cameron
2023-12-14 18:00 ` Russell King (Oracle)
2023-12-14 18:00 ` Russell King (Oracle)
2023-12-14 18:00 ` Russell King (Oracle)
2023-12-18 20:35 ` Rafael J. Wysocki
2023-12-18 20:35 ` Rafael J. Wysocki
2023-12-18 20:35 ` Rafael J. Wysocki
2024-01-22 18:00 ` Jonathan Cameron
2024-01-22 18:00 ` Jonathan Cameron
2024-01-22 18:00 ` Jonathan Cameron
2024-01-23 13:28 ` Russell King (Oracle)
2024-01-23 13:28 ` Russell King (Oracle)
2024-01-23 13:28 ` Russell King (Oracle)
2024-01-23 16:15 ` Rafael J. Wysocki
2024-01-23 16:15 ` Rafael J. Wysocki
2024-01-23 16:15 ` Rafael J. Wysocki
2024-01-23 16:36 ` Russell King (Oracle)
2024-01-23 16:36 ` Russell King (Oracle)
2024-01-23 16:36 ` Russell King (Oracle)
2024-01-23 17:43 ` Rafael J. Wysocki
2024-01-23 17:43 ` Rafael J. Wysocki
2024-01-23 17:43 ` Rafael J. Wysocki
2024-01-23 18:19 ` Russell King (Oracle)
2024-01-23 18:19 ` Russell King (Oracle)
2024-01-23 18:19 ` Russell King (Oracle)
2024-01-23 18:26 ` Rafael J. Wysocki
2024-01-23 18:26 ` Rafael J. Wysocki
2024-01-23 18:26 ` Rafael J. Wysocki
2024-01-23 18:59 ` Russell King (Oracle)
2024-01-23 18:59 ` Russell King (Oracle)
2024-01-23 18:59 ` Russell King (Oracle)
2024-01-23 19:27 ` Rafael J. Wysocki
2024-01-23 19:27 ` Rafael J. Wysocki
2024-01-23 19:27 ` Rafael J. Wysocki
2024-01-23 20:09 ` Russell King (Oracle)
2024-01-23 20:09 ` Russell King (Oracle)
2024-01-23 20:09 ` Russell King (Oracle)
2024-01-23 20:17 ` Rafael J. Wysocki
2024-01-23 20:17 ` Rafael J. Wysocki
2024-01-23 20:17 ` Rafael J. Wysocki
2024-01-23 20:57 ` Russell King (Oracle)
2024-01-23 20:57 ` Russell King (Oracle)
2024-01-23 20:57 ` Russell King (Oracle)
2024-01-23 21:12 ` Russell King (Oracle)
2024-01-23 21:12 ` Russell King (Oracle)
2024-01-23 21:12 ` Russell King (Oracle)
2024-01-23 22:05 ` Rafael J. Wysocki
2024-01-23 22:05 ` Rafael J. Wysocki
2024-01-23 22:05 ` Rafael J. Wysocki
2024-01-24 8:45 ` Russell King (Oracle)
2024-01-24 8:45 ` Russell King (Oracle)
2024-01-24 8:45 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 06/21] ACPI: Move acpi_bus_trim_one() before acpi_scan_hot_remove() Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` [PATCH RFC v3 07/21] ACPI: Rename acpi_processor_hotadd_init and remove pre-processor guards Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-14 17:43 ` Jonathan Cameron
2023-12-14 17:43 ` Jonathan Cameron
2023-12-14 17:43 ` Jonathan Cameron
2023-12-14 18:03 ` Russell King (Oracle)
2023-12-14 18:03 ` Russell King (Oracle)
2023-12-14 18:03 ` Russell King (Oracle)
2023-12-13 12:49 ` [PATCH RFC v3 08/21] ACPI: Add post_eject to struct acpi_scan_handler for cpu hotplug Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` Russell King
2023-12-13 12:49 ` [PATCH RFC v3 09/21] ACPI: convert acpi_processor_post_eject() to use IS_ENABLED() Russell King (Oracle)
2023-12-13 12:49 ` Russell King (Oracle)
2023-12-13 12:49 ` Russell King (Oracle)
2023-12-15 16:11 ` Jonathan Cameron
2023-12-15 16:11 ` Jonathan Cameron
2023-12-15 16:11 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 10/21] ACPI: Check _STA present bit before making CPUs not present Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 16:18 ` Jonathan Cameron
2023-12-15 16:18 ` Jonathan Cameron
2023-12-15 16:18 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 11/21] ACPI: Warn when the present bit changes but the feature is not enabled Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` [PATCH RFC v3 12/21] arm64: acpi: Move get_cpu_for_acpi_id() to a header Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` [PATCH RFC v3 13/21] ACPICA: Add new MADT GICC flags fields Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 16:23 ` Jonathan Cameron
2023-12-15 16:23 ` Jonathan Cameron
2023-12-15 16:23 ` Jonathan Cameron
2023-12-15 16:53 ` Russell King (Oracle)
2023-12-15 16:53 ` Russell King (Oracle)
2023-12-15 16:53 ` Russell King (Oracle)
2023-12-18 9:23 ` Lorenzo Pieralisi
2023-12-18 9:23 ` Lorenzo Pieralisi
2023-12-18 9:23 ` Lorenzo Pieralisi
2023-12-18 13:14 ` Rafael J. Wysocki
2023-12-18 13:14 ` Rafael J. Wysocki
2023-12-18 13:14 ` Rafael J. Wysocki
2023-12-18 16:28 ` Lorenzo Pieralisi
2023-12-18 16:28 ` Lorenzo Pieralisi
2023-12-18 16:28 ` Lorenzo Pieralisi
2023-12-27 11:15 ` Lorenzo Pieralisi
2023-12-27 11:15 ` Lorenzo Pieralisi
2023-12-27 11:15 ` Lorenzo Pieralisi
2023-12-13 12:50 ` [PATCH RFC v3 14/21] irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc() Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 16:33 ` Jonathan Cameron
2023-12-15 16:33 ` Jonathan Cameron
2023-12-15 16:33 ` Jonathan Cameron
2024-01-09 19:27 ` Russell King (Oracle)
2024-01-09 19:27 ` Russell King (Oracle)
2024-01-09 19:27 ` Russell King (Oracle)
2024-01-23 10:08 ` Jonathan Cameron
2024-01-23 10:08 ` Jonathan Cameron
2024-01-23 10:08 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 15/21] irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 16:38 ` Jonathan Cameron
2023-12-15 16:38 ` Jonathan Cameron
2023-12-15 16:38 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 16/21] arm64: psci: Ignore DENIED CPUs Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 16:40 ` Jonathan Cameron
2023-12-15 16:40 ` Jonathan Cameron
2023-12-15 16:40 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 17/21] ACPI: add support to register CPUs based on the _STA enabled bit Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-18 13:03 ` Russell King (Oracle)
2023-12-18 13:03 ` Russell King (Oracle)
2023-12-18 13:03 ` Russell King (Oracle)
2024-01-02 14:53 ` Jonathan Cameron
2024-01-02 14:53 ` Jonathan Cameron
2024-01-02 14:53 ` Jonathan Cameron
2024-01-23 10:26 ` Jonathan Cameron
2024-01-23 10:26 ` Jonathan Cameron
2024-01-23 10:26 ` Jonathan Cameron
2024-01-23 13:10 ` Russell King (Oracle)
2024-01-23 13:10 ` Russell King (Oracle)
2024-01-23 13:10 ` Russell King (Oracle)
2024-01-23 14:22 ` Jonathan Cameron
2024-01-23 14:22 ` Jonathan Cameron
2024-01-23 14:22 ` Jonathan Cameron
2024-01-23 14:59 ` Russell King (Oracle)
2024-01-23 14:59 ` Russell King (Oracle)
2024-01-23 14:59 ` Russell King (Oracle)
2023-12-13 12:50 ` [PATCH RFC v3 18/21] ACPI: processor: Only call arch_unregister_cpu() if HOTPLUG_CPU is selected Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 16:50 ` Jonathan Cameron
2023-12-15 16:50 ` Jonathan Cameron
2023-12-15 16:50 ` Jonathan Cameron
2023-12-18 12:58 ` Russell King (Oracle)
2023-12-18 12:58 ` Russell King (Oracle)
2023-12-18 12:58 ` Russell King (Oracle)
2024-01-23 10:29 ` Jonathan Cameron
2024-01-23 10:29 ` Jonathan Cameron
2024-01-23 10:29 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 19/21] arm64: document virtual CPU hotplug's expectations Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 17:04 ` Jonathan Cameron
2023-12-15 17:04 ` Jonathan Cameron
2023-12-15 17:04 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 20/21] ACPI: Add _OSC bits to advertise OS support for toggling CPU present/enabled Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 17:12 ` Jonathan Cameron [this message]
2023-12-15 17:12 ` Jonathan Cameron
2023-12-15 17:12 ` Jonathan Cameron
2024-01-02 13:07 ` Jose Marinho
2024-01-02 13:07 ` Jose Marinho
2024-01-02 13:07 ` Jose Marinho
2024-01-02 15:16 ` Jonathan Cameron
2024-01-02 15:16 ` Jonathan Cameron
2024-01-02 15:16 ` Jonathan Cameron
2024-01-02 15:35 ` Jose Marinho
2024-01-02 15:35 ` Jose Marinho
2024-01-02 15:35 ` Jose Marinho
2024-01-23 10:51 ` Jonathan Cameron
2024-01-23 10:51 ` Jonathan Cameron
2024-01-23 10:51 ` Jonathan Cameron
2023-12-13 12:50 ` [PATCH RFC v3 21/21] cpumask: Add enabled cpumask for present CPUs that can be brought online Russell King
2023-12-13 12:50 ` Russell King
2023-12-13 12:50 ` Russell King
2023-12-15 17:18 ` Jonathan Cameron
2023-12-15 17:18 ` Jonathan Cameron
2023-12-15 17:18 ` Jonathan Cameron
2023-12-18 12:14 ` Russell King (Oracle)
2023-12-18 12:14 ` Russell King (Oracle)
2023-12-18 12:14 ` Russell King (Oracle)
2024-01-02 15:19 ` Jonathan Cameron
2024-01-02 15:19 ` Jonathan Cameron
2024-01-02 15:19 ` Jonathan Cameron
2023-12-15 19:40 ` Thomas Gleixner
2023-12-15 19:40 ` Thomas Gleixner
2023-12-15 19:40 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231215171227.00006550@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=Samer.El-Haj-Mahmoud@arm.com \
--cc=acpica-devel@lists.linuxfoundation.org \
--cc=james.morse@arm.com \
--cc=jean-philippe@linaro.org \
--cc=jianyong.wu@arm.com \
--cc=jose.marinho@arm.com \
--cc=justin.he@arm.com \
--cc=kvmarm@lists.linux.dev \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=loongarch@lists.linux.dev \
--cc=rmk+kernel@armlinux.org.uk \
--cc=salil.mehta@huawei.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.