Jiewen,
Doing 2 CPUID instructions in every SMI looks expensive.
We have global mXdSupported. Can we change that to gXdSupported and detect
support in driver entry and use this BOOLEAN flag in assembly code to determine
if the MSR_EFER need to be updated?
Also, please use MSR_EFER and
Jiewen,
Yes. That is a good solution to declare global in assembly for this case.
Mike
> -Original Message-
> From: Yao, Jiewen
> Sent: Wednesday, November 25, 2015 2:17 PM
> To: Kinney, Michael D ; edk2-de...@ml01.01.org
> Cc: Fan, Jeff
Got it. I will create a new patch to handle that.
-Original Message-
From: Kinney, Michael D
Sent: Thursday, November 26, 2015 8:00 AM
To: Yao, Jiewen; edk2-de...@ml01.01.org; Kinney, Michael D
Cc: Fan, Jeff
Subject: RE: [patch] UefiCpuPkg/PiSmmCpu: Move XD enable to ASM before paging
HI Mike
Current gXdSupported is defined in C code. I am not able to refer it directly
in protected mode asm directly.
One possible way is to define AsmXdSupported variable in protected mode ASM,
then we can let C code back fill the data value.
Like what we did for gSmiStack and gSmiCr3. Do you
There might be page table set SMM data region be XD.
So we have to enable XD before enable paging. Or #PF might be generated.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen"
Cc: "Fan, Jeff"
Cc: "Kinney, Michael D"
There might be page table set SMM data region be XD.
So we have to enable XD before enable paging. Or #PF might be generated.
mXdSupported is moved from C to ASM, because protected mode code can not refer
global variable in long mode ASM.
MSR_EFER/MSR_EFER_XD macro is moved from H to ASM as
6 matches
Mail list logo