/** @file Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include /** This service tests temporary memory functionality. Test subject: Temporary Memory Test overview: Reads/writes results on the stack and heap. Reporting mechanism: PPI @param[in] TempRamStart A pointer to the start of temporary memory. @param[in] TempRamEnd A pointer to the end of temporary memory. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointTempMemoryFunction ( IN VOID *TempRamStart, IN VOID *TempRamEnd ) { return EFI_SUCCESS; } /** This service tests debug configuration after debug device initialization. Test subject: Debug Capability Test overview: Dumps a struct of debug configuration parameters to the debug log. Reporting mechanism: Serial port shows the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointDebugInitDone ( VOID ) { return EFI_SUCCESS; } /** This service verifies MTRR settings after memory is discovered. Test subject: MTRRs after memory is discovered. Test overview: Verifies MTRR settings. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. Examples of settings verified: No MTRR overlap, PEI data memory is writeback, and flash region is WP, MMIO is UC, etc. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointMemoryDiscoveredMtrrFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies discovered memory resources after memory is discovered. Test subject: Resource description HOBs. Test overview: No memory resource overlap. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointMemoryDiscoveredMemoryResourceFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of published firmware volume resources. Test subject: FV HOB and FV Info PPI. Test overview: FV HOB and FV Info PPI. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointMemoryDiscoveredFvInfoFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies DMA protection configuration in PEI after memory is discovered. Test subject: DMA protection. Test overview: DMA protection in PEI. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointMemoryDiscoveredDmaProtectionEnabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies system resources at the end of PEI. Test subject: Resource HOB and SMRAM HOB. Test overview: SMRAM configuration and no system resource overlap. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointEndOfPeiSystemResourceFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies MTRR settings at the end of PEI. Test subject: MTRRs after end of PEI. Test overview: Verifies MTRR settings. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. Examples of settings verified: No MTRR overlap, DXE data memory is writeback, flash region may be UC, MMIO is UC, etc. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointEndOfPeiMtrrFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies bus master enable (BME) is disabled at the end of PEI. Test subject: PCI device BME. Test overview: Verify BME is cleared. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointEndOfPeiPciBusMasterDisabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies bus master enable (BME) is disabled after PCI enumeration. Test subject: PCI device BME. Test overview: Verify BME is cleared. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps results to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointPciEnumerationDonePciBusMasterDisabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies PCI device resource assignment after PCI enumeration. Test subject: PCI device resources. Test overview: Verify all PCI devices have been assigned proper resources. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps PCI resource assignments to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointPciEnumerationDonePciResourceAllocated ( VOID ) { return EFI_SUCCESS; } /** This service verifies no 3rd party PCI option ROMs (OPROMs) were dispatched prior to the end of DXE. Test subject: 3rd party OPROMs. Test overview: Verify no 3rd party PCI OPROMs were . Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps PCI resource assignments to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointEndOfDxeNoThirdPartyPciOptionRom ( VOID ) { return EFI_SUCCESS; } /** This service verifies the DMA ACPI table is reported at the end of DXE. Test subject: DMA protection. Test overview: DMA ACPI table is reported. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the DMA ACPI table to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointEndOfDxeDmaAcpiTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies DMA protection configuration at the end of DXE. Test subject: DMA protection. Test overview: DMA protection in DXE. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the DMA ACPI table to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointEndOfDxeDmaProtectionEnabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of System Management RAM (SMRAM) alignment at SMM Ready To Lock. Test subject: SMRAM Information. Test overview: SMRAM is aligned. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the SMRAM region table to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointDxeSmmReadyToLockSmramAligned ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the Windows SMM Security Mitigation Table (WSMT) at SMM Ready To Lock. Test subject: Windows Security SMM Mitigation Table. Test overview: The table is reported in compliance with the Windows SMM Security Mitigations Table ACPI table specification. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the WSMT to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointDxeSmmReadyToLockWsmtTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the SMM page table at Ready To Boot. Test subject: SMM page table. Test overview: The SMM page table settings matches the SmmMemoryAttribute table. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Reports an error if verification fails. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointDxeSmmReadyToBootSmmPageProtection ( VOID ) { return EFI_SUCCESS; } /** This services verifies the validity of installed ACPI tables at Ready To Boot. Test subject: ACPI tables. Test overview: The ACPI table settings are valid. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the installed ACPI tables. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootAcpiTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This services verifies ACPI table resources are in the GCD. Test subject: ACPI memory resources. Test overview: Memory resources are described consistently in both ACPI and GCD. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the installed ACPI tables and GCD. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootGcdResourceFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the memory type information settings. Test subject: Memory type information. Test overview: Inspect an verify memory type information is correct. Confirm no fragmentation exists in the ACPI/Reserved/Runtime regions. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the memory type information settings to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootMemoryTypeInformationFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the memory type information settings. Test subject: Memory type information. Test overview: Inspect an verify memory type information is correct. Confirm no fragmentation exists in the ACPI/Reserved/Runtime regions. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the memory type information settings to the debug log. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootUefiMemoryAttributeTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the UEFI memory attribute table. Test subject: UEFI memory attribute table. Test overview: The UEFI memeory attribute table is reported. The image code/data is consistent with the table. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the UEFI image information and the UEFI memory attribute table. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootUefiBootVariableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the consle variable information. Test subject: Console. Test overview: Inspect and verify the console variable information is correct. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the console variable information. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootUefiConsoleVariableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the HSTI table. Test subject: HSTI table. Test overview: Verify the HSTI table is reported. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the HSTI table. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootHstiTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the ESRT table. Test subject: ESRT table. Test overview: Verify the ESRT table is reported. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the ESRT table. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootEsrtTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies UEFI Secure Boot is enabled. Test subject: UEFI Secure Boot. Test overview: Verify the SecureBoot variable is set. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the SecureBoot variable. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootUefiSecureBootEnabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies Platform Initialization (PI) Signed FV Boot is enabled. Test subject: PI Signed FV Boot. Test overview: Verify PI signed FV boot is enabled. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootPiSignedFvBootEnabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies TCG Trusted Boot is enabled. Test subject: TCG Trusted Boot. Test overview: Verify the TCG protocol is installed. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the TCG protocol capability. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootTcgTrustedBootEnabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies TCG Memory Overwrite Request (MOR) is enabled. Test subject: TCG MOR. Test overview: Verify the MOR UEFI variable is set. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the MOR UEFI variable. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointReadyToBootTcgMorEnabled ( VOID ) { return EFI_SUCCESS; } /** This service verifies SMI handler profiling. Test subject: SMI handler profiling. Test overview: Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the SMI handler profile. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointDxeSmmReadyToBootSmiHandlerInstrument ( VOID ) { return EFI_SUCCESS; } /** This service verifies SMRR configuration at the End of DXE. Test subject: SMRR. Test overview: Verify SMRR is aligned and SMRR matches SMRAM_INFO. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps SMRR and SMRAM_INFO. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointSmmEndOfDxeSmrrFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the SMM memory atttribute table at SMM Ready To Lock. Test subject: SMM memory attribute table. Test overview: Verify the SMM memory attribute table is reported. Verify image code/data is consistent with the SMM memory attribute table. Verify the GDT/IDT/PageTable is RO, data is NX, and code is RO. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Dumps the SMM memory attribute table and SMM image information. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointSmmReadyToLockSmmMemoryAttributeTableFunctional ( VOID ) { return EFI_SUCCESS; } /** This service verifies the security of SMM communication buffers at SMM Ready To Lock. Test subject: SMM communication buffer. Test overview: Verify only CommBuffer and MMIO are mapped in the page table. Reporting mechanism: Dumps the memory map and GCD map at SmmReadyToLock and checks at SmmReadyToBoot. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointSmmReadyToLockSecureSmmCommunicationBuffer ( VOID ) { return EFI_SUCCESS; } /** This service verifies the validity of the SMM page table at SMM Ready To Boot. Test subject: SMM page table. Test overview: Verify the SMM page table matches the SMM memory attribute table. Reporting mechanism: Set ADAPTER_INFO_PLATFORM_TEST_POINT_STRUCT. Reports an error message upon checking. @retval EFI_SUCCESS The test point check was performed successfully. @retval EFI_UNSUPPORTED The test point check is not supported on this platform. **/ EFI_STATUS EFIAPI TestPointSmmReadyToBootSmmPageProtection ( VOID ) { return EFI_SUCCESS; } /** This service verifies the system state after Exit Boot Services is invoked. @retval EFI_SUCCESS The test point check was performed successfully. **/ EFI_STATUS EFIAPI TestPointExitBootServices ( VOID ) { return EFI_SUCCESS; } /** This service verifies the system state within SMM after Exit Boot Services is invoked. @retval EFI_SUCCESS The test point check was performed successfully. **/ EFI_STATUS EFIAPI TestPointSmmExitBootServices ( VOID ) { return EFI_SUCCESS; }