26 __asm__ __volatile__ (
"sti":::
"memory");
41 __asm__ __volatile__ (
"cli":::
"memory");
69 __asm__ __volatile__ (
109 __asm__ __volatile__ (
140 __asm__ __volatile__ (
166 __asm__ __volatile__ (
192 __asm__ __volatile__ (
218 __asm__ __volatile__ (
243 __asm__ __volatile__ (
268 __asm__ __volatile__ (
293 __asm__ __volatile__ (
318 __asm__ __volatile__ (
344 __asm__ __volatile__ (
370 __asm__ __volatile__ (
396 __asm__ __volatile__ (
422 __asm__ __volatile__ (
448 __asm__ __volatile__ (
474 __asm__ __volatile__ (
500 __asm__ __volatile__ (
526 __asm__ __volatile__ (
551 __asm__ __volatile__ (
576 __asm__ __volatile__ (
601 __asm__ __volatile__ (
626 __asm__ __volatile__ (
651 __asm__ __volatile__ (
676 __asm__ __volatile__ (
701 __asm__ __volatile__ (
726 __asm__ __volatile__ (
751 __asm__ __volatile__ (
776 __asm__ __volatile__ (
801 __asm__ __volatile__ (
826 __asm__ __volatile__ (
851 __asm__ __volatile__ (
876 __asm__ __volatile__ (
901 __asm__ __volatile__ (
921 OUT IA32_DESCRIPTOR *Gdtr
924 __asm__ __volatile__ (
945 __asm__ __volatile__ (
964 OUT IA32_DESCRIPTOR *Idtr
967 __asm__ __volatile__ (
988 __asm__ __volatile__ (
1012 __asm__ __volatile__ (
1035 __asm__ __volatile__ (
1061 __asm__ __volatile__ (
1083 __asm__ __volatile__ (
"wbinvd":::
"memory");
1099 __asm__ __volatile__ (
"invd":::
"memory");
1120 IN VOID *LinearAddress
1130 if ((RegEdx & BIT19) == 0) {
1131 __asm__ __volatile__ (
"wbinvd":::
"memory");
1132 return LinearAddress;
1135 __asm__ __volatile__ (
1137 :
"+a" (LinearAddress)
1142 return LinearAddress;
UINTN EFIAPI AsmWriteDr1(UINTN Dr1)
UINT16 EFIAPI AsmReadTr(VOID)
UINT16 EFIAPI AsmReadLdtr(VOID)
UINTN EFIAPI AsmWriteDr4(UINTN Dr4)
UINTN EFIAPI AsmReadDr1(VOID)
VOID EFIAPI AsmInvd(VOID)
UINTN EFIAPI AsmReadDr0(VOID)
UINT16 EFIAPI AsmReadFs(VOID)
UINTN EFIAPI AsmWriteDr7(UINTN Dr7)
VOID EFIAPI InternalX86ReadGdtr(OUT IA32_DESCRIPTOR *Gdtr)
UINTN EFIAPI AsmWriteDr3(UINTN Dr3)
UINT16 EFIAPI AsmReadEs(VOID)
UINTN EFIAPI AsmReadCr3(VOID)
VOID EFIAPI InternalX86ReadIdtr(OUT IA32_DESCRIPTOR *Idtr)
UINTN EFIAPI AsmReadDr2(VOID)
UINTN EFIAPI AsmWriteCr2(UINTN Cr2)
VOID EFIAPI EnableInterrupts(VOID)
UINT64 EFIAPI AsmReadMsr64(IN UINT32 Index)
VOID EFIAPI DisableInterrupts(VOID)
UINTN EFIAPI AsmWriteCr3(UINTN Cr3)
VOID EFIAPI InternalX86WriteIdtr(IN CONST IA32_DESCRIPTOR *Idtr)
UINTN EFIAPI AsmWriteCr4(UINTN Cr4)
VOID EFIAPI AsmWbinvd(VOID)
UINTN EFIAPI AsmReadCr0(VOID)
UINTN EFIAPI AsmWriteDr2(UINTN Dr2)
UINTN EFIAPI AsmWriteDr0(UINTN Dr0)
UINT16 EFIAPI AsmReadGs(VOID)
UINTN EFIAPI AsmWriteCr0(UINTN Cr0)
VOID *EFIAPI AsmFlushCacheLine(IN VOID *LinearAddress)
UINTN EFIAPI AsmWriteDr5(UINTN Dr5)
UINTN EFIAPI AsmReadCr2(VOID)
UINT16 EFIAPI AsmReadSs(VOID)
UINT16 EFIAPI AsmReadCs(VOID)
UINT64 EFIAPI AsmWriteMsr64(IN UINT32 Index, IN UINT64 Value)
UINTN EFIAPI AsmReadDr3(VOID)
VOID EFIAPI AsmWriteLdtr(IN UINT16 Ldtr)
UINTN EFIAPI AsmReadCr4(VOID)
VOID EFIAPI InternalX86WriteGdtr(IN CONST IA32_DESCRIPTOR *Gdtr)
UINTN EFIAPI AsmReadDr6(VOID)
UINTN EFIAPI AsmWriteDr6(UINTN Dr6)
UINT64 EFIAPI AsmReadPmc(IN UINT32 Index)
UINT16 EFIAPI AsmReadDs(VOID)
UINTN EFIAPI AsmReadDr4(VOID)
UINTN EFIAPI AsmReadDr7(VOID)
UINTN EFIAPI AsmReadDr5(VOID)
UINT32 EFIAPI AsmCpuid(IN UINT32 Index, OUT UINT32 *RegisterEax OPTIONAL, OUT UINT32 *RegisterEbx OPTIONAL, OUT UINT32 *RegisterEcx OPTIONAL, OUT UINT32 *RegisterEdx OPTIONAL)
VOID EFIAPI FilterAfterMsrWrite(IN UINT32 Index, IN UINT64 *Value)
BOOLEAN EFIAPI FilterBeforeMsrRead(IN UINT32 Index, IN OUT UINT64 *Value)
VOID EFIAPI FilterAfterMsrRead(IN UINT32 Index, IN UINT64 *Value)
BOOLEAN EFIAPI FilterBeforeMsrWrite(IN UINT32 Index, IN UINT64 *Value)