[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230209135646.3179418-1-jaz@semihalf.com>
Date: Thu, 9 Feb 2023 13:56:45 +0000
From: Grzegorz Jaszczyk <jaz@...ihalf.com>
To: linux-kernel@...r.kernel.org, rafael@...nel.org
Cc: dmy@...ihalf.com, tn@...ihalf.com, dbehr@...gle.com,
zide.chen@...el.corp-partner.google.com, seanjc@...gle.com,
upstream@...ihalf.com, hdegoede@...hat.com, markgross@...nel.org,
dtor@...gle.com, Grzegorz Jaszczyk <jaz@...ihalf.com>
Subject: [RFCv2 0/1] x86: allow to notify host about guest entering s2idle
According to the mailing list discussion [1] about the preferred approach
for notifying hypervisor/VMM about guest entering s2idle state this RFC was
implemented.
Instead of original hypercall based approach, which involves KVM change [2]
and makes it hypervisor specific, implement different mechanism, which
takes advantage of MMIO/PIO trapping and makes it hypervisor independent.
For the RFCv1 [3]:
Patch #1 extends S2Idle ops by new notify handler which will be invoked as a
very last command before system actually enters S2Idle states. It also allows
to register and use driver specific notification hook which is used in
patch #2.
Patch #2 introduces new driver for virtual PMC, which registers
acpi_s2idle_dev_ops's notify handler. Its implementation is based on an
ACPI _DSM evaluation, which in turn can perform MMIO access and allow to
trap and therefore notify the VMM about guest entering S2Idle state.
For the RFCv2: the patch #1 was dropped as in the meantime Mario Limonciello
introduced a very similar patch [4] which uses s/notify/check and invokes the
callback a bit earlier just before s2idle_entry. Mentioned patch has already
been merged.
This patchset is marked as RFC since patch #2 implements driver for non
existing device "HYPE0001", which ACPI ID was not registered yet.
Furthermore the required registration process [5] will not be started
before getting positive feedback about this patchset.
[1] https://patchwork.kernel.org/project/linux-pm/patch/20220609110337.1238762-2-jaz@semihalf.com/
[2] https://patchwork.kernel.org/project/linux-pm/patch/20220609110337.1238762-3-jaz@semihalf.com/
[3] https://patchwork.kernel.org/project/linux-pm/cover/20220707125329.378277-1-jaz@semihalf.com/
[4] https://patchwork.kernel.org/project/linux-pm/patch/20220829162953.5947-2-mario.limonciello@amd.com
[5] https://uefi.org/PNP_ACPI_Registry
Grzegorz Jaszczyk (1):
platform/x86: Add virtual PMC driver used for S2Idle
drivers/platform/x86/Kconfig | 7 ++++
drivers/platform/x86/Makefile | 3 ++
drivers/platform/x86/virt_pmc.c | 73 +++++++++++++++++++++++++++++++++
3 files changed, 83 insertions(+)
create mode 100644 drivers/platform/x86/virt_pmc.c
--
2.39.1.519.gcb327c4b5f-goog
Powered by blists - more mailing lists