[PATCH v6 20/34] x86, mpparse: Use memremap to map the mpf and mpc data

Tom Lendacky thomas.lendacky at amd.com
Wed Jun 14 10:06:54 PDT 2017


On 6/14/2017 11:07 AM, Borislav Petkov wrote:
> On Wed, Jun 07, 2017 at 02:16:43PM -0500, Tom Lendacky wrote:
>> The SMP MP-table is built by UEFI and placed in memory in a decrypted
>> state. These tables are accessed using a mix of early_memremap(),
>> early_memunmap(), phys_to_virt() and virt_to_phys(). Change all accesses
>> to use early_memremap()/early_memunmap(). This allows for proper setting
>> of the encryption mask so that the data can be successfully accessed when
>> SME is active.
>>
>> Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
>> ---
>>   arch/x86/kernel/mpparse.c |   98 ++++++++++++++++++++++++++++++++-------------
>>   1 file changed, 70 insertions(+), 28 deletions(-)
> 
> ...
> 
>> @@ -515,6 +516,12 @@ void __init default_get_smp_config(unsigned int early)
>>   	if (acpi_lapic && acpi_ioapic)
>>   		return;
>>   
>> +	mpf = early_memremap(mpf_base, sizeof(*mpf));
>> +	if (!mpf) {
>> +		pr_err("MPTABLE: mpf early_memremap() failed\n");
> 
> If you're going to introduce new prefixes then add:

This isn't new...  there are a number of messages issued in this file
with that prefix, so I was just following convention.  Changing the
prefix could be a follow-on patch.

> 
> #undef pr_fmt
> #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> 
> at the beginning of the file so that they all say "mpparse:" instead.
> 
> And pls make that message more user-friendly: "Error mapping MP table"
> or so.

Can do.

Thanks,
Tom

> 



More information about the kexec mailing list