lkml.org 
[lkml]   [2012]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC] ACPI S3 and Xen (suprisingly small\!).
    Date
    From Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> # This line is ignored.
    From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    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(-)


    \
     
     \ /
      Last update: 2012-10-17 16:41    [W:10.868 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site