lkml.org 
[lkml]   [2022]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v8 13/40] x86/kernel: Make the bss.decrypted section shared in RMP table
    From
    Date


    On 1/5/22 2:27 PM, Dave Hansen wrote:
    > On 1/5/22 11:52, Brijesh Singh wrote:
    >>>>           for (; vaddr < vaddr_end; vaddr += PMD_SIZE) {
    >>>> +            /*
    >>>> +             * When SEV-SNP is active then transition the page to
    >>>> shared in the RMP
    >>>> +             * table so that it is consistent with the page table
    >>>> attribute change.
    >>>> +             */
    >>>> +            early_snp_set_memory_shared(__pa(vaddr), __pa(vaddr),
    >>>> PTRS_PER_PMD);
    >>>
    >>> Shouldn't the first argument be vaddr as below?
    >>
    >> Nope, sme_postprocess_startup() is called while we are fixing the
    >> initial page table and running with identity mapping (so va == pa).
    >
    > I'm not sure I've ever seen a line of code that wanted a comment so badly.

    The early_snp_set_memory_shared() call the PVALIDATE instruction to
    clear the validated bit from the BSS region. The PVALIDATE instruction
    needs a virtual address, so we need to use the identity mapped virtual
    address so that PVALIDATE can clear the validated bit. I will add more
    comments to clarify it.

    -Brijesh

    \
     
     \ /
      Last update: 2022-01-05 22:40    [W:4.332 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site