lkml.org 
[lkml]   [2021]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH Part1 RFC v4 09/36] x86/compressed: Add helper for validating pages in the decompression stage
From
Date


On 8/13/21 5:22 AM, Borislav Petkov wrote:
>> +static void __page_state_change(unsigned long paddr, int op)
>
> That op should be:
>
> enum psc_op {
> SNP_PAGE_STATE_SHARED,
> SNP_PAGE_STATE_PRIVATE,
> };
>

Noted.

> and have
>
> static void __page_state_change(unsigned long paddr, enum psc_op op)
>
> so that the compiler can check you're at least passing from the correct
> set of defines.
>
>> diff --git a/arch/x86/include/asm/sev-common.h b/arch/x86/include/asm/sev-common.h
>> index ea508835ab33..aee07d1bb138 100644
>> --- a/arch/x86/include/asm/sev-common.h
>> +++ b/arch/x86/include/asm/sev-common.h
>> @@ -45,6 +45,23 @@
>> (((unsigned long)reg & GHCB_MSR_CPUID_REG_MASK) << GHCB_MSR_CPUID_REG_POS) | \
>> (((unsigned long)fn) << GHCB_MSR_CPUID_FUNC_POS))
>>
>> +/* SNP Page State Change */
>> +#define GHCB_MSR_PSC_REQ 0x014
>> +#define SNP_PAGE_STATE_PRIVATE 1
>> +#define SNP_PAGE_STATE_SHARED 2
>> +#define GHCB_MSR_PSC_GFN_POS 12
>> +#define GHCB_MSR_PSC_GFN_MASK GENMASK_ULL(39, 0)
>> +#define GHCB_MSR_PSC_OP_POS 52
>> +#define GHCB_MSR_PSC_OP_MASK 0xf
>> +#define GHCB_MSR_PSC_REQ_GFN(gfn, op) \
>> + (((unsigned long)((op) & GHCB_MSR_PSC_OP_MASK) << GHCB_MSR_PSC_OP_POS) | \
>> + ((unsigned long)((gfn) & GHCB_MSR_PSC_GFN_MASK) << GHCB_MSR_PSC_GFN_POS) | \
>> + GHCB_MSR_PSC_REQ)
>> +
>> +#define GHCB_MSR_PSC_RESP 0x015
>> +#define GHCB_MSR_PSC_ERROR_POS 32
>> +#define GHCB_MSR_PSC_RESP_VAL(val) ((val) >> GHCB_MSR_PSC_ERROR_POS)
>> +
>
> Also get rid of eccessive defines...

I am getting conflicting review comments on function naming, comment
style, macro etc. While addressing the feedback I try to incorporate all
those comments, lets see how I do in next rev.

thanks

\
 
 \ /
  Last update: 2021-08-13 16:22    [W:0.111 / U:0.560 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site