Re: [PATCH v7 2/3] x86/tboot: Fail extended mode reduced hardwaresleep

From: Ben Guthro
Date: Mon Jul 29 2013 - 16:18:32 EST




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@xxxxxxxx>
>> Signed-off-by: Ben Guthro <benjamin.guthro@xxxxxxxxxx>
>> Cc: tboot-devel@xxxxxxxxxxxxxxxxxxxxx
>> Cc: Gang Wei <gang.wei@xxxxxxxxx>
>> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>> ---
>> 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@xxxxxxxxxxxxxxxxxxxxx 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-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/