Message ID | 1375190557-21474-1-git-send-email-benjamin.guthro@citrix.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On Tuesday, July 30, 2013 09:22:37 AM Ben Guthro wrote: > Register for the extended sleep callback from acpi. > As tboot currently does not support the reduced hardware sleep > interface, fail this extended call. > > Signed-off-by: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Ben Guthro <benjamin.guthro@citrix.com> > Cc: tboot-devel@lists.sourceforge.net > Cc: Gang Wei <gang.wei@intel.com> > Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Looks OK, thanks! I'll queue up the patchset for 3.12. Thanks, Rafael > --- > arch/x86/kernel/tboot.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c > index addf7b5..91a4496 100644 > --- a/arch/x86/kernel/tboot.c > +++ b/arch/x86/kernel/tboot.c > @@ -301,6 +301,15 @@ static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control) > return 0; > } > > +static int tboot_extended_sleep(u8 sleep_state, u32 val_a, u32 val_b) > +{ > + if (!tboot_enabled()) > + return 0; > + > + pr_warning("tboot is not able to suspend on platforms with reduced hardware sleep (ACPIv5)"); > + return -ENODEV; > +} > + > static atomic_t ap_wfs_count; > > static int tboot_wait_for_aps(int num_aps) > @@ -422,6 +431,7 @@ static __init int tboot_late_init(void) > #endif > > acpi_os_set_prepare_sleep(&tboot_sleep); > + acpi_os_set_prepare_extended_sleep(&tboot_extended_sleep); > return 0; > } > >
diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c index addf7b5..91a4496 100644 --- a/arch/x86/kernel/tboot.c +++ b/arch/x86/kernel/tboot.c @@ -301,6 +301,15 @@ static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control) return 0; } +static int tboot_extended_sleep(u8 sleep_state, u32 val_a, u32 val_b) +{ + if (!tboot_enabled()) + return 0; + + pr_warning("tboot is not able to suspend on platforms with reduced hardware sleep (ACPIv5)"); + return -ENODEV; +} + static atomic_t ap_wfs_count; static int tboot_wait_for_aps(int num_aps) @@ -422,6 +431,7 @@ static __init int tboot_late_init(void) #endif acpi_os_set_prepare_sleep(&tboot_sleep); + acpi_os_set_prepare_extended_sleep(&tboot_extended_sleep); return 0; }