lkml.org 
[lkml]   [2023]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [PATCH 05/13] x86/kexec: Keep CR4.MCE set during kexec for TDX guest
    Date
    On Thu, 2023-10-05 at 16:13 +0300, Kirill A. Shutemov wrote:
    > TDX guests are not allowed to clear CR4.MCE. Attempt to clear it leads
    > to #VE.
    >
    > Use alternatives to keep the flag during kexec for TDX guests.
    >
    > The change doesn't affect non-TDX environments.

    Nit: non-TDX-guest environments. ?

    >
    > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

    Reviewed-by: Kai Huang <kai.huang@intel.com>

    > ---
    > arch/x86/kernel/relocate_kernel_64.S | 5 +++++
    > 1 file changed, 5 insertions(+)
    >
    > diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S
    > index 56cab1bb25f5..bea89814b48e 100644
    > --- a/arch/x86/kernel/relocate_kernel_64.S
    > +++ b/arch/x86/kernel/relocate_kernel_64.S
    > @@ -145,11 +145,16 @@ SYM_CODE_START_LOCAL_NOALIGN(identity_mapped)
    > * Set cr4 to a known state:
    > * - physical address extension enabled
    > * - 5-level paging, if it was enabled before
    > + * - Machine check exception on TDX guest. Clearing MCE is not allowed
    > + * in TDX guests.
    > */
    > movl $X86_CR4_PAE, %eax
    > testq $X86_CR4_LA57, %r13
    > jz 1f
    > orl $X86_CR4_LA57, %eax
    > +1:
    > + ALTERNATIVE "jmp 1f", "", X86_FEATURE_TDX_GUEST
    > + orl $X86_CR4_MCE, %eax
    > 1:
    > movq %rax, %cr4
    >

    \
     
     \ /
      Last update: 2023-10-09 14:33    [W:5.198 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site