Re: [RFC PATCH v1 03/18] x86: Secure Memory Encryption (SME) support

From: Tom Lendacky
Date: Wed Apr 27 2016 - 12:21:15 EST


On 03/22/2016 08:03 AM, Pavel Machek wrote:
> On Tue 2016-04-26 17:56:26, Tom Lendacky wrote:
>> Provide support for Secure Memory Encryption (SME). This initial support
>> defines the memory encryption mask as a variable for quick access and an
>> accessor for retrieving the number of physical addressing bits lost if
>> SME is enabled.
>>
>> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
>> ---
>> arch/x86/include/asm/mem_encrypt.h | 37 ++++++++++++++++++++++++++++++++++++
>> arch/x86/kernel/Makefile | 2 ++
>> arch/x86/kernel/mem_encrypt.S | 29 ++++++++++++++++++++++++++++
>> arch/x86/kernel/x8664_ksyms_64.c | 6 ++++++
>> 4 files changed, 74 insertions(+)
>> create mode 100644 arch/x86/include/asm/mem_encrypt.h
>> create mode 100644 arch/x86/kernel/mem_encrypt.S
>>
>> index 0000000..ef7f325
>> --- /dev/null
>> +++ b/arch/x86/kernel/mem_encrypt.S
>> @@ -0,0 +1,29 @@
>> +/*
>> + * AMD Memory Encryption Support
>> + *
>> + * Copyright (C) 2016 Advanced Micro Devices, Inc.
>> + *
>> + * Author: Tom Lendacky <thomas.lendacky@xxxxxxx>
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + */
>> +
>> +#include <linux/linkage.h>
>> +
>> + .text
>> + .code64
>> +ENTRY(sme_get_me_loss)
>> + xor %rax, %rax
>> + mov sme_me_loss(%rip), %al
>> + ret
>> +ENDPROC(sme_get_me_loss)
>
> Does this really need to be implemented in assembly?

That particular routine probably doesn't need to be in assembly. But
since it was such a simple routine I put it there because a later
patch derives the value in this file.

Thanks,
Tom

>
>