[RFC] ACPI S3 and Xen (suprisingly small\!).

From: Konrad Rzeszutek Wilk
Date: Wed Oct 17 2012 - 10:03:39 EST


>From Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> # This line is ignored.
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: [RFC] ACPI S3 and Xen (surprisingly small\!).
In-Reply-To:

Hey,

Way back at the LinuxPlumbers 2012 I chatted with Len about the issue
with Xen and Linux not working very well when suspending. We did a bit
of brainstorming and armed with these ideas I started looking at this.

The end result is this is a nice set of patches where there is only
_one_ change in the x86 code (and it is just more of dealing with
error case) - and the rest are all done in Xen side.

The change is to check whether there is a TSS GDT descriptor before
trying to set it. On 64-bit Xen there is no TSS and we ignore any
calls to set such field.

The bulk of the Xen code is filling out some of the pvops calls
(some of them are already in v3.7-rc1), and one to "prep" the cr3
value so that the hypervisor is fine with it.

Note: These are the other patches that went in 3.7-rc1:
xen/bootup: allow {read|write}_cr8 pvops call [https://lkml.org/lkml/2012/10/10/339]
xen/bootup: allow read_tscp call for Xen PV guests. [https://lkml.org/lkml/2012/10/10/340]

Anyhow, with these patches ACPI S3 suspend/resume of Linux works great!

arch/x86/power/cpu.c | 7 +++++--
arch/x86/xen/enlighten.c | 24 ++++++++++++++++++++++--
drivers/xen/acpi.c | 25 +++++++++++++++++++++++++
3 files changed, 52 insertions(+), 4 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/