/// Common services\r
///\r
typedef struct {\r
- UNIT_TEST_HOST_BASE_LIB_VOID EnableInterrupts;\r
- UNIT_TEST_HOST_BASE_LIB_VOID DisableInterrupts;\r
- UNIT_TEST_HOST_BASE_LIB_VOID EnableDisableInterrupts;\r
- UNIT_TEST_HOST_BASE_LIB_READ_BOOLEAN GetInterruptState;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID EnableInterrupts;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID DisableInterrupts;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID EnableDisableInterrupts;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_BOOLEAN GetInterruptState;\r
} UNIT_TEST_HOST_BASE_LIB_COMMON;\r
\r
///\r
/// IA32/X64 services\r
///\r
typedef struct {\r
- UNIT_TEST_HOST_BASE_LIB_ASM_CPUID AsmCpuid;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_CPUID_EX AsmCpuidEx;\r
- UNIT_TEST_HOST_BASE_LIB_VOID AsmDisableCache;\r
- UNIT_TEST_HOST_BASE_LIB_VOID AsmEnableCache;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_READ_MSR_64 AsmReadMsr64;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_WRITE_MSR_64 AsmWriteMsr64;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr0;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr2;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr3;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr4;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr0;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr2;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr3;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr4;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr0;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr1;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr2;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr3;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr4;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr5;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr6;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr7;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr0;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr1;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr2;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr3;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr4;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr5;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr6;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr7;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadCs;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadDs;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadEs;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadFs;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadGs;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadSs;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadTr;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_READ_IA32_DESCRIPTOR AsmReadGdtr;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_WRITE_IA32_DESCRIPTOR AsmWriteGdtr;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_READ_IA32_DESCRIPTOR AsmReadIdtr;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_WRITE_IA32_DESCRIPTOR AsmWriteIdtr;\r
- UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadLdtr;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINT16 AsmWriteLdtr;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_READ_PMC AsmReadPmc;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_MONITOR AsmMonitor;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_MWAIT AsmMwait;\r
- UNIT_TEST_HOST_BASE_LIB_VOID AsmWbinvd;\r
- UNIT_TEST_HOST_BASE_LIB_VOID AsmInvd;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_FLUSH_CACHE_LINE AsmFlushCacheLine;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_PAGING_32 AsmEnablePaging32;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_PAGING_32 AsmDisablePaging32;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_ENABLE_PAGING_64 AsmEnablePaging64;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_DISABLE_PAGING_64 AsmDisablePaging64;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_GET_THUNK_16_PROPERTIES AsmGetThunk16Properties;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_THUNK_16 AsmPrepareThunk16;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_THUNK_16 AsmThunk16;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_THUNK_16 AsmPrepareAndThunk16;\r
- UNIT_TEST_HOST_BASE_LIB_WRITE_UINT16 AsmWriteTr;\r
- UNIT_TEST_HOST_BASE_LIB_VOID AsmLfence;\r
- UNIT_TEST_HOST_BASE_LIB_ASM_PATCH_INSTRUCTION_X86 PatchInstructionX86;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_CPUID AsmCpuid;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_CPUID_EX AsmCpuidEx;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID AsmDisableCache;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID AsmEnableCache;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_READ_MSR_64 AsmReadMsr64;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_WRITE_MSR_64 AsmWriteMsr64;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr0;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr2;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr3;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadCr4;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr0;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr2;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr3;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteCr4;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr0;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr1;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr2;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr3;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr4;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr5;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr6;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINTN AsmReadDr7;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr0;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr1;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr2;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr3;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr4;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr5;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr6;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINTN AsmWriteDr7;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadCs;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadDs;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadEs;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadFs;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadGs;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadSs;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadTr;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_READ_IA32_DESCRIPTOR AsmReadGdtr;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_WRITE_IA32_DESCRIPTOR AsmWriteGdtr;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_READ_IA32_DESCRIPTOR AsmReadIdtr;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_WRITE_IA32_DESCRIPTOR AsmWriteIdtr;\r
+ UNIT_TEST_HOST_BASE_LIB_READ_UINT16 AsmReadLdtr;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINT16 AsmWriteLdtr;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_READ_PMC AsmReadPmc;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_MONITOR AsmMonitor;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_MWAIT AsmMwait;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID AsmWbinvd;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID AsmInvd;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_FLUSH_CACHE_LINE AsmFlushCacheLine;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_PAGING_32 AsmEnablePaging32;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_PAGING_32 AsmDisablePaging32;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_ENABLE_PAGING_64 AsmEnablePaging64;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_DISABLE_PAGING_64 AsmDisablePaging64;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_GET_THUNK_16_PROPERTIES AsmGetThunk16Properties;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_THUNK_16 AsmPrepareThunk16;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_THUNK_16 AsmThunk16;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_THUNK_16 AsmPrepareAndThunk16;\r
+ UNIT_TEST_HOST_BASE_LIB_WRITE_UINT16 AsmWriteTr;\r
+ UNIT_TEST_HOST_BASE_LIB_VOID AsmLfence;\r
+ UNIT_TEST_HOST_BASE_LIB_ASM_PATCH_INSTRUCTION_X86 PatchInstructionX86;\r
} UNIT_TEST_HOST_BASE_LIB_X86;\r
\r
///\r
/// can be added to the end of this structure.\r
///\r
typedef struct {\r
- UNIT_TEST_HOST_BASE_LIB_COMMON *Common;\r
- UNIT_TEST_HOST_BASE_LIB_X86 *X86;\r
+ UNIT_TEST_HOST_BASE_LIB_COMMON *Common;\r
+ UNIT_TEST_HOST_BASE_LIB_X86 *X86;\r
} UNIT_TEST_HOST_BASE_LIB;\r
\r
extern UNIT_TEST_HOST_BASE_LIB gUnitTestHostBaseLib;\r