diff mbox

[v7,2/3] x86/tboot: Fail extended mode reduced hardware sleep

Message ID 1375118055-15942-3-git-send-email-benjamin.guthro@citrix.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

Ben Guthro July 29, 2013, 5:14 p.m. UTC
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(+)

Comments

Ben Guthro July 29, 2013, 8:18 p.m. UTC | #1
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
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael Wysocki July 29, 2013, 8:21 p.m. UTC | #2
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
Rafael Wysocki July 29, 2013, 8:29 p.m. UTC | #3
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

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;
 }