X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FLibrary%2FMpInitLib%2FX64%2FMpFuncs.nasm;h=3c55ffaafecc53b37ba96417b9ea9e43a0000885;hp=848992ca4484293e1e17ecf7d713ec87facd529e;hb=5c66d125eaae51945c0a14ef6d5d3fa2ce7d7a66;hpb=8396e2dd30bf6f9057d3cd5fa1d26f023341f0a0 diff --git a/UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm b/UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm index 848992ca44..3c55ffaafe 100644 --- a/UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm +++ b/UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm @@ -69,6 +69,19 @@ o32 lgdt [cs:si] mov si, IdtrLocation o32 lidt [cs:si] + mov si, EnableExecuteDisableLocation + cmp byte [si], 0 + jz SkipEnableExecuteDisableBit + + ; + ; Enable execute disable bit + ; + mov ecx, 0c0000080h ; EFER MSR number + rdmsr ; Read EFER + bts eax, 11 ; Enable Execute Disable Bit + wrmsr ; Write EFER + +SkipEnableExecuteDisableBit: mov di, DataSegmentLocation mov edi, [di] ; Save long mode DS in edi