Ben Guthro
2013-Jul-29 17:14 UTC
[PATCH v7 2/3] x86/tboot: Fail extended mode reduced hardware sleep
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> --- arch/x86/kernel/tboot.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c index addf7b5..760f431 100644 --- a/arch/x86/kernel/tboot.c +++ b/arch/x86/kernel/tboot.c @@ -301,6 +301,17 @@ 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). Please contact" + " tboot-devel@lists.sourceforge.net mailing list."); + return -1; +} + static atomic_t ap_wfs_count; static int tboot_wait_for_aps(int num_aps) @@ -422,6 +433,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; } -- 1.7.9.5
Ben Guthro
2013-Jul-29 20:18 UTC
Re: [PATCH v7 2/3] x86/tboot: Fail extended mode reduced hardware sleep
On 07/29/2013 04:21 PM, Rafael J. Wysocki wrote:> On Monday, July 29, 2013 01:14:14 PM 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> >> --- >> arch/x86/kernel/tboot.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c >> index addf7b5..760f431 100644 >> --- a/arch/x86/kernel/tboot.c >> +++ b/arch/x86/kernel/tboot.c >> @@ -301,6 +301,17 @@ 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). Please contact" >> + " tboot-devel@lists.sourceforge.net mailing list."); >> + return -1; > > Please use a meaningful error code here. For example -ENODEV.Would AE_NOT_IMPLEMENTED be more appropriate? include/acpi/acexcep.h: #define AE_NOT_IMPLEMENTED EXCEP_ENV (0x000E)> >> +} >> + >> static atomic_t ap_wfs_count; >> >> static int tboot_wait_for_aps(int num_aps) >> @@ -422,6 +433,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; >> } > > Thanks, > Rafael > >
Rafael J. Wysocki
2013-Jul-29 20:21 UTC
Re: [PATCH v7 2/3] x86/tboot: Fail extended mode reduced hardware sleep
On Monday, July 29, 2013 01:14:14 PM 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> > --- > arch/x86/kernel/tboot.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c > index addf7b5..760f431 100644 > --- a/arch/x86/kernel/tboot.c > +++ b/arch/x86/kernel/tboot.c > @@ -301,6 +301,17 @@ 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). Please contact" > + " tboot-devel@lists.sourceforge.net mailing list."); > + return -1;Please use a meaningful error code here. For example -ENODEV.> +} > + > static atomic_t ap_wfs_count; > > static int tboot_wait_for_aps(int num_aps) > @@ -422,6 +433,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; > }Thanks, Rafael -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
Rafael J. Wysocki
2013-Jul-29 20:29 UTC
Re: [PATCH v7 2/3] x86/tboot: Fail extended mode reduced hardware sleep
On Monday, July 29, 2013 04:18:22 PM Ben Guthro wrote:> > On 07/29/2013 04:21 PM, Rafael J. Wysocki wrote: > > On Monday, July 29, 2013 01:14:14 PM 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> > >> --- > >> arch/x86/kernel/tboot.c | 12 ++++++++++++ > >> 1 file changed, 12 insertions(+) > >> > >> diff --git a/arch/x86/kernel/tboot.c b/arch/x86/kernel/tboot.c > >> index addf7b5..760f431 100644 > >> --- a/arch/x86/kernel/tboot.c > >> +++ b/arch/x86/kernel/tboot.c > >> @@ -301,6 +301,17 @@ 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). Please contact" > >> + " tboot-devel@lists.sourceforge.net mailing list."); > >> + return -1; > > > > Please use a meaningful error code here. For example -ENODEV. > > Would AE_NOT_IMPLEMENTED be more appropriate? > > include/acpi/acexcep.h: > #define AE_NOT_IMPLEMENTED EXCEP_ENV (0x000E)This is not an ACPI error. :-) Rafael