Documentation ¶
Index ¶
- Constants
- Variables
- func AUXIndexConfig(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func AUXTPM2IndexCheckHash(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func ActiveIOMMU(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func ActiveSMRR(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BIOSACMAlignmentCorrect(txtAPI hwapi.LowLevelHardwareInterfaces, _ *PreSet) (bool, error, error)
- func BIOSACMIsBelow4G(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BIOSACMMatchesCPU(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BIOSACMMatchesChipset(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BIOSACMSizeCorrect(txtAPI hwapi.LowLevelHardwareInterfaces, _ *PreSet) (bool, error, error)
- func BIOSACMValid(txtAPI hwapi.LowLevelHardwareInterfaces, _ *PreSet) (bool, error, error)
- func BIOSDATAREGIONPresent(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BIOSDATAREGIONValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardACM(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardBPM(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardFIT(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardIBB(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardKM(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardSaneMEConfig(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func BootGuardValidateME(hw hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CPUSupportsTXT(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckDMARPresence(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckDMARValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckForIntelCPU(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckMADTPresence(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckMADTValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckMCFGPresence(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckRSDPValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckRSDTPresent(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckRSDTValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckRSDTorXSDTValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckXSDTPresent(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func CheckXSDTValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func FITVectorIsSet(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasBIOSACM(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasBIOSPolicy(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasFIT(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasIBB(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasMTRR(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasMicroCode(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HasSMRR(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HostbridgeDPRCorrect(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HostbridgeDPRisLocked(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func HostbridgeIsSupported(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func IA32DebugInterfaceLockedDisabled(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func IBBCoversFIT(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func IBBCoversFITVector(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func IBBCoversResetVector(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func IBBIsTrusted(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func IBBMeasured(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func Ia32FeatureCtrl(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func NPWModeIsNotSetInPS(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func NoBIOSACMErrors(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func NoBIOSACMOverlap(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func NoIBBOverlap(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func NoSINITErrors(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func PCR0IsSet(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func POIndexConfig(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func POIndexHasValidLCP(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func PSIndexConfig(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func PSIndexHasValidLCP(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func PolicyAllowsTXT(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func ReleaseFusedFSBI(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func RunTestsSilent(hw hwapi.LowLevelHardwareInterfaces, preset *PreSet, Tests []*Test) (bool, string, error)
- func SINITACMcomplyTPMSpec(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SINITInTXT(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SINITMatchesCPU(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SINITMatchesChipset(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SINITandBIOSACMnoNPW(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SMXIsEnabled(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func ServerModeTXT(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SupportVMX(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func SupportsSMX(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TPMConnect(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TPMIsPresent(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TPMNVRAMIsLocked(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTDPRisLock(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTHeapSpaceValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTMemoryIsDPR(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTModeValid(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTNotDisabled(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTPrivateReservedInE820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTPublicReservedInE820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTRegisterSpaceAccessible(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTRegistersLocked(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTReservedInE820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func TXTTPMDecodeSpaceIn820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func ValidSMRR(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- func WeybridgeOrLater(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
- type ACPIHeader
- type ACPIMADT
- type ACPIMADTDecoded
- type ACPIMADTEntryHeader
- type ACPIMADTIOAPIC
- type ACPIMADTInterruptSourceOverride
- type ACPIMADTLocalAPICAddressOverwrite
- type ACPIMADTLocalNonMaskableInterrupts
- type ACPIMADTLocalSAPIC
- type ACPIMADTLocalx2APIC
- type ACPIMADTLocalx2APICNMI
- type ACPIMADTNMISource
- type ACPIMADTProcessorLocalAPIC
- type ACPIMADTSAPIC
- type ACPIRsdp
- type PreSet
- type PreSetJSON
- type Result
- type Status
- type Test
Constants ¶
const ( IntelBootGuardSpecificationTitle = "Intel Converged Boot Guard and Intel Trustetestbootguardmeconfigd Execution Technology" IntelBootGuardSpecificationDocumentID = "557867 / 575623" )
const ( //IntelFITSpecificationTitle the title of Intel FIT BIOS Specification IntelFITSpecificationTitle = "Firmware Interface Table BIOS Specification" //IntelFITSpecificationDocumentID the document ID of Intel FIT BIOS Specification IntelFITSpecificationDocumentID = "599500 Revision 1.2" //IntelTXTBGSBIOSSpecificationTitle the title of Intel TXT&BG Server BIOS Specification IntelTXTBGSBIOSSpecificationTitle = "Intel Trusted Execution Technology and Boot Guard Server BIOS Specification" //IntelTXTBGSBIOSSpecificationDocumentID the document ID of Intel TXT&BG Server BIOS Specification IntelTXTBGSBIOSSpecificationDocumentID = "558294 Revision 2.0" //IntelTXTSpecificationTitle the title of Intel TXT Specification IntelTXTSpecificationTitle = "Intel Trusted Execution Technology (Intel TXT)" //IntelTXTSpecificationDocumentID the document ID of Intel TXT Specification IntelTXTSpecificationDocumentID = "315168-017" //ServerGrantleyPlatformSpecificationTitle is the title of the ACM_Errors.xls ServerGrantleyPlatformSpecificationTitle = "TXT error description file for Server Grantley Platform" //ServerGrantleyPlatformDocumentID is an empty string ServerGrantleyPlatformDocumentID = "" //CBtGTXTPlatformSpecificationTitle is the title of the ACM_Errors.xls CBtGTXTPlatformSpecificationTitle = "TXT error description file for Converged BtG / TXT platform" //CBtGTXTPlatformDocumentID is an empty string CBtGTXTPlatformDocumentID = "" //ACPISpecificationTitle is the title of the ACPI spec ACPISpecificationTitle = "Advanced Configuration and PowerInterface (ACPI) Specification 6.3" //ACPISpecificationDocumentID s an empty string ACPISpecificationDocumentID = "" )
const FITSize int64 = 16 * 1024 * 1024
FITSize 16MiB
const FITVector = 0xFFFFFFC0
FITVector is the FIT Vector address
const FourGiB = 0x100000000
FourGiB 4Gigabyte
const ResetVector = 0xFFFFFFF0
ResetVector is the reset vector address
const ValidFitRange = 0xFF000000
ValidFitRange is the size of a correct FIT
Variables ¶
var ( // TestsACPI exports the Slice with ACPI tests TestsACPI = [...]*Test{ &testRSDPChecksum, &testMCFGPresent, &testDMARPresent, &testDMARValid, &testMADTPresent, &testMADTValid, &testRSDTPresent, &testRSDTValid, &testXSDTPresent, &testXSDTValid, &testRSDTorXSDTValid, } )
nolint
var ( // TestsMemory exposes the slice for memory related txt tests TestsBootGuard = [...]*Test{ &testbootguardfit, &testbootguardacm, &testbootguardkm, &testbootguardbpm, &testbootguardibb, &testbootguardvalidateme, &testbootguardsanemeconfig, } )
var ( // TestsCPU exports slice with CPU related tests TestsCPU = [...]*Test{ &testcheckforintelcpu, &testwaybridgeorlater, &testcpusupportstxt, &testtxtregisterspaceaccessible, &testsupportssmx, &testsupportvmx, &testia32featurectrl, &testtxtnotdisabled, &testibbmeasured, &testibbistrusted, &testtxtregisterslocked, &testia32debuginterfacelockeddisabled, } )
nolint
var ( // TestsFIT exports the Slice with FIT tests TestsFIT = [...]*Test{ &testfitvectorisset, &testhasfit, &testhasmcupdate, &testhasbiosacm, &testhasibb, &testhaslcpTest, &testibbcoversresetvector, &testibbcoversfitvector, &testibbcoversfit, &testnoibboverlap, &testnobiosacmoverlap, &testnobiosacmisbelow4g, &testpolicyallowstxt, &testbiosacmvalid, &testbiosacmsizecorrect, &testbiosacmaligmentcorrect, &testbiosacmmatcheschipset, &testbiosacmmatchescpu, &testacmsfornpw, &testsinitacmupporttpm, } )
var ( // TestsMemory exposes the slice for memory related txt tests TestsMemory = [...]*Test{ &testtxtmemoryrangevalid, &testtxtpublicisreserved, &testtxtprivateisreserved, &testmemoryisreserved, &testtpmdecodereserved, &testtxtmemoryisdpr, &testtxtdprislocked, &testhostbridgeDPRcorrect, &testhostbridgeDPRislocked, &testsinitintxt, &testsinitmatcheschipset, &testsinitmatchescpu, &testnosiniterrors, &testbiosdataregionpresent, &testbiosdataregionvalid, &testhasmtrr, &testhassmrr, &testvalidsmrr, &testactivesmrr, &testactiveiommu, &testservermodetext, } )
var ( // TestsTPM exposes the slice of pointers to tests regarding tpm functionality for txt TestsTPM = [...]*Test{ &testtpmconnection, &testtpmispresent, &testtpmnvramislocked, &testpsindexconfig, &testauxindexconfig, &testauxindexhashdata, &testpoindexconfig, &testpsindexissvalid, &testpoindexissvalid, &testpcr00valid, &testpsnpwmodenotactive, &testtxtmodvalid, } )
var TestsTXTLegacy = []*Test{
&testcheckforintelcpu,
&testwaybridgeorlater,
&testcpusupportstxt,
&testtxtregisterspaceaccessible,
&testsupportssmx,
&testsupportvmx,
&testia32featurectrl,
&testtxtnotdisabled,
&testtxtregisterslocked,
&testia32debuginterfacelockeddisabled,
&testibbmeasured,
&testtxtmemoryrangevalid,
&testmemoryisreserved,
&testtxtmemoryisdpr,
&testtxtdprislocked,
&testsinitintxt,
&testsinitmatcheschipset,
&testsinitmatchescpu,
&testbiosdataregionpresent,
&testbiosdataregionvalid,
&testhasmtrr,
&testhassmrr,
&testvalidsmrr,
&testactivesmrr,
&testfitvectorisset,
&testhasfit,
&testhasbiosacm,
&testhasibb,
&testhaslcpTest,
&testibbcoversresetvector,
&testibbcoversfitvector,
&testibbcoversfit,
&testnoibboverlap,
&testnobiosacmoverlap,
&testnobiosacmisbelow4g,
&testpolicyallowstxt,
&testbiosacmvalid,
&testbiosacmsizecorrect,
&testbiosacmaligmentcorrect,
&testbiosacmmatcheschipset,
&testbiosacmmatchescpu,
&testtpmconnection,
&testtpmispresent,
&testpsindexconfig,
&testauxindexconfig,
&testpsindexissvalid,
&testpcr00valid,
}
TestsLegacy - Summarizes all test for TXT (not CBnT) platforms
var TestsTXTReady = []*Test{
&testcheckforintelcpu,
&testwaybridgeorlater,
&testcpusupportstxt,
&testtxtregisterspaceaccessible,
&testsupportssmx,
&testsupportvmx,
&testia32featurectrl,
&testtxtnotdisabled,
&testtxtregisterslocked,
&testia32debuginterfacelockeddisabled,
&testtxtmemoryrangevalid,
&testmemoryisreserved,
&testtxtmemoryisdpr,
&testtxtdprislocked,
&testhostbridgeDPRcorrect,
&testhostbridgeDPRislocked,
&testsinitintxt,
&testsinitmatcheschipset,
&testsinitmatchescpu,
&testbiosdataregionpresent,
&testbiosdataregionvalid,
&testhasmtrr,
&testhassmrr,
&testvalidsmrr,
&testactivesmrr,
&testtpmconnection,
&testtpmnvramislocked,
&testauxindexconfig,
}
TestsTXTReady - Summarizes all test for TXT Ready platforms
var TestsTXTTBoot = []*Test{
&testactiveiommu,
&testnosiniterrors,
&testibbistrusted,
&testhostbridgeDPRcorrect,
&testhostbridgeDPRislocked,
}
TestsTBoot - Summarizes all test for the tboot hypervisor
var TestsTXTUEFI = []*Test{
&testRSDPChecksum,
&testMCFGPresent,
&testDMARPresent,
&testDMARValid,
&testMADTPresent,
&testMADTValid,
&testRSDTPresent,
&testRSDTValid,
&testXSDTPresent,
&testXSDTValid,
&testRSDTorXSDTValid,
}
TestsUEFI - Summarizes all test for TXT UEFI boot
Functions ¶
func AUXIndexConfig ¶
AUXIndexConfig tests if the AUX Index has the correct configuration
func AUXTPM2IndexCheckHash ¶
AUXTPM2IndexCheckHash checks the PolicyHash of AUX index
func ActiveIOMMU ¶
ActiveIOMMU checks if IOMMU is active
func ActiveSMRR ¶
ActiveSMRR checks if SMMR is set active
func BIOSACMAlignmentCorrect ¶
func BIOSACMAlignmentCorrect(txtAPI hwapi.LowLevelHardwareInterfaces, _ *PreSet) (bool, error, error)
BIOSACMAlignmentCorrect checks if BIOS ACM alignment is correct
func BIOSACMIsBelow4G ¶
BIOSACMIsBelow4G checks if BIOS ACM is below 4Gb (has a valid address)
func BIOSACMMatchesCPU ¶
BIOSACMMatchesCPU checks if BIOS ACM matches CPU
func BIOSACMMatchesChipset ¶
BIOSACMMatchesChipset checks if BIOS ACM matches chipset
func BIOSACMSizeCorrect ¶
BIOSACMSizeCorrect checks if BIOS ACM size is correct
func BIOSACMValid ¶
BIOSACMValid checks if BIOS ACM is valid
func BIOSDATAREGIONPresent ¶
BIOSDATAREGIONPresent checks is the BIOSDATA Region is present in TXT Register Space
func BIOSDATAREGIONValid ¶
BIOSDATAREGIONValid checks if the BIOSDATA Region in TXT Register Space is valid
func BootGuardACM ¶ added in v2.7.0
BootGuardACM checks ACM requirements for safe BootGuard configuration
func BootGuardBPM ¶ added in v2.7.0
BootGuardBPM checks BPM requirements for safe BootGuard configuration
func BootGuardFIT ¶ added in v2.7.0
BootGuardFIT checks FIT requirements for safe BootGuard configuration
func BootGuardIBB ¶ added in v2.7.0
BootGuardIBB checks BPM IBB configuration can be validated against firmware image
func BootGuardKM ¶ added in v2.7.0
BootGuardKM checks KM requirements for safe BootGuard configuration
func BootGuardSaneMEConfig ¶ added in v2.7.0
BootGuardSaneMEConfig
func BootGuardValidateME ¶ added in v2.7.0
BootGuardValidateME
func CPUSupportsTXT ¶
CPUSupportsTXT Check if the CPU supports TXT
func CheckDMARPresence ¶
CheckDMARPresence tests if the MADT ACPI table exists
func CheckDMARValid ¶
CheckDMARValid tests if the DMAR ACPI table is valid
func CheckForIntelCPU ¶
CheckForIntelCPU Check we're running on a Intel CPU
func CheckMADTPresence ¶
CheckMADTPresence tests if the MADT ACPI table exists
func CheckMADTValid ¶
CheckMADTValid tests if the MADT ACPI table is valid
func CheckMCFGPresence ¶
CheckMCFGPresence tests if the MCFG ACPI table exists
func CheckRSDPValid ¶
CheckRSDPValid tests if the RSDP ACPI table is vaid
func CheckRSDTPresent ¶
CheckRSDTPresent tests if the RSDT ACPI table is present
func CheckRSDTValid ¶
CheckRSDTValid tests if the RSDT ACPI table is valid
func CheckRSDTorXSDTValid ¶
CheckRSDTorXSDTValid tests if the RSDT or XSDT ACPI table is valid
func CheckXSDTPresent ¶
CheckXSDTPresent tests if the XSDT ACPI table is present
func CheckXSDTValid ¶
CheckXSDTValid tests if the XSDT ACPI table is valid
func FITVectorIsSet ¶
FITVectorIsSet checks if the FIT Vector is set
func HasBIOSACM ¶
HasBIOSACM checks if FIT table has BIOSACM entry
func HasBIOSPolicy ¶
HasBIOSPolicy checks if FIT table has ONE BIOS Policy Data Record Entry
func HasMicroCode ¶
HasMicroCode checks if FIT table indicates a Microcode update for the CPU
func HostbridgeDPRCorrect ¶
HostbridgeDPRCorrect checks if TXT DPR equals PCI Hostbridge DPR
func HostbridgeDPRisLocked ¶
HostbridgeDPRisLocked checks if the Hostbridge DPR is marked as locked
func HostbridgeIsSupported ¶ added in v2.5.0
HostbridgeIsSupported checks if the suite supports the hostbridge
func IA32DebugInterfaceLockedDisabled ¶
func IA32DebugInterfaceLockedDisabled(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
IA32DebugInterfaceLockedDisabled checks if IA32 debug interface is locked
func IBBCoversFIT ¶
IBBCoversFIT checks if BIOS Startup Module Entry covers FIT table
func IBBCoversFITVector ¶
IBBCoversFITVector checks if BIOS Startup Module Entry covers FIT vector
func IBBCoversResetVector ¶
IBBCoversResetVector checks if BIOS Startup Module Entry covers Reset Vector
func IBBIsTrusted ¶
IBBIsTrusted Check that the IBB was deemed trusted Only set in Signed Policy mode
func IBBMeasured ¶
IBBMeasured Verify that the IBB has been measured
func Ia32FeatureCtrl ¶
Ia32FeatureCtrl Check IA_32FEATURE_CONTROL
func NPWModeIsNotSetInPS ¶
NPWModeIsNotSetInPS checks if NPW is activated or not
func NoBIOSACMErrors ¶
NoBIOSACMErrors Check that the BIOS ACM has no startup error
func NoBIOSACMOverlap ¶
NoBIOSACMOverlap checks if BIOS ACM Entries Overlap
func NoIBBOverlap ¶
NoIBBOverlap checks if BIOS Startup Module Entries overlap
func NoSINITErrors ¶
NoSINITErrors checks if the SINITACM was executed without any errors
func POIndexConfig ¶
POIndexConfig checks the PO index configuration
func POIndexHasValidLCP ¶
POIndexHasValidLCP checks if PO Index holds a valid LCP
func PSIndexConfig ¶
PSIndexConfig tests if PS Index has correct configuration
func PSIndexHasValidLCP ¶
PSIndexHasValidLCP checks if PS Index has a valid LCP
func PolicyAllowsTXT ¶
PolicyAllowsTXT checks if Record matches TXT requirements.
func ReleaseFusedFSBI ¶
ReleaseFusedFSBI checks if the FSBI is release fused
func RunTestsSilent ¶
func RunTestsSilent(hw hwapi.LowLevelHardwareInterfaces, preset *PreSet, Tests []*Test) (bool, string, error)
RunTestsSilent Runs the specified tests and returns false on the first error encountered
func SINITACMcomplyTPMSpec ¶
SINITACMcomplyTPMSpec tests if the SINIT ACM complys with used TPM
func SINITInTXT ¶
SINITInTXT checks the TXT region on containing a valid SINIT ACM.
func SINITMatchesCPU ¶
SINITMatchesCPU checks if the SINITACM matches the CPU
func SINITMatchesChipset ¶
SINITMatchesChipset checks if the SINIT ACM matches the chipset.
func SINITandBIOSACMnoNPW ¶
SINITandBIOSACMnoNPW checks that in BIOS integrated ACMs (SINIT, BIOS) are production worthy
func SMXIsEnabled ¶
SMXIsEnabled not implemented
func ServerModeTXT ¶
ServerModeTXT checks if TXT runs in Servermode
func SupportVMX ¶
SupportVMX Check if CPU supports VMX
func SupportsSMX ¶
SupportsSMX Check if CPU supports SMX
func TPMConnect ¶
TPMConnect Connects to a TPM device (virtual or real)
func TPMIsPresent ¶
TPMIsPresent validates if one of the two previous tests succeeded
func TPMNVRAMIsLocked ¶
TPMNVRAMIsLocked Checks if NVRAM indexes are write protected
func TXTDPRisLock ¶
TXTDPRisLock checks the TXTRegister in memory about the status of DPR if it's locked.
func TXTHeapSpaceValid ¶ added in v2.5.0
TXTHeapSpaceValid checks if the registers indicates the correct sizes
func TXTMemoryIsDPR ¶
TXTMemoryIsDPR checks if the TXT DPR protects TXT memory.
func TXTModeValid ¶
TXTModeValid checks if TXT is in valid mode
func TXTNotDisabled ¶
TXTNotDisabled Check TXT_DISABLED bit in TXT_ACM_STATUS
func TXTPrivateReservedInE820 ¶
func TXTPrivateReservedInE820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
TXTPrivateReservedInE820 checks if TXTPrivate area is marked reserved in e820 map
func TXTPublicReservedInE820 ¶
func TXTPublicReservedInE820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
TXTPublicReservedInE820 checks if TXTPublic area is marked reserved in e820 map
func TXTRegisterSpaceAccessible ¶
func TXTRegisterSpaceAccessible(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
TXTRegisterSpaceAccessible Check if the TXT register space is accessible
func TXTRegistersLocked ¶
TXTRegistersLocked Verify that the TXT register space is locked
func TXTReservedInE820 ¶
TXTReservedInE820 checks if the HEAP/MSEG/SINIT TXT regions are marked reserved in e820 map.
func TXTTPMDecodeSpaceIn820 ¶
func TXTTPMDecodeSpaceIn820(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (bool, error, error)
TXTTPMDecodeSpaceIn820 checks if TPMDecode area is marked as reserved in e820 map
func WeybridgeOrLater ¶
WeybridgeOrLater Check we're running on Weybridge
Types ¶
type ACPIHeader ¶
type ACPIHeader struct { Signature [4]uint8 Length uint32 Revision uint8 Checksum uint8 OEMID [6]uint8 OEMTableID [8]uint8 OEMRevision uint32 CreatorID uint32 CreatorRevision uint32 }
ACPIHeader represent the table header as defined in ACPI Spec 6.2 "5.2.6 System Description Table Header"
type ACPIMADT ¶
type ACPIMADT struct { ACPIHeader LapicAddress uint32 Flags uint32 }
ACPIMADT represent the table header as defined in ACPI Spec 6.2 "Multiple APIC Description Table (MADT) Format"
type ACPIMADTDecoded ¶ added in v2.5.0
ACPIMADTDecoded holds the decoded variable size MADT fields
func CheckMADTValidAndDecode ¶ added in v2.5.0
func CheckMADTValidAndDecode(txtAPI hwapi.LowLevelHardwareInterfaces, p *PreSet) (ACPIMADTDecoded, bool, error, error)
CheckMADTValidAndDecode tests if the MADT ACPI table is valid
type ACPIMADTEntryHeader ¶ added in v2.5.0
ACPIMADTEntryHeader represent the table header for one MADT entry
type ACPIMADTIOAPIC ¶ added in v2.5.0
type ACPIMADTIOAPIC struct { IOAPICID uint8 Reserved uint8 Address uint32 GlobalSystemInterruptBase uint32 }
ACPIMADTIOAPIC type 1
type ACPIMADTInterruptSourceOverride ¶ added in v2.5.0
type ACPIMADTInterruptSourceOverride struct { BusSource uint8 IRQSource uint8 GlobalSystemInterrupt uint32 Flags uint16 }
ACPIMADTInterruptSourceOverride type 2
type ACPIMADTLocalAPICAddressOverwrite ¶ added in v2.5.0
ACPIMADTLocalAPICAddressOverwrite type 5
type ACPIMADTLocalNonMaskableInterrupts ¶ added in v2.5.0
ACPIMADTLocalNonMaskableInterrupts type 4
type ACPIMADTLocalSAPIC ¶ added in v2.5.0
type ACPIMADTLocalSAPIC struct { ACPIProcessorID uint8 LocalSAPICID uint8 LocalSAPICEID uint8 Reserved [3]uint8 Flags uint32 ACPIProcessorUUID uint32 }
ACPIMADTLocalSAPIC type 7
type ACPIMADTLocalx2APIC ¶ added in v2.5.0
type ACPIMADTLocalx2APIC struct { Reserved uint16 X2ApicID uint32 Flags uint32 ACPIProcessorUUID uint32 }
ACPIMADTLocalx2APIC type 9
type ACPIMADTLocalx2APICNMI ¶ added in v2.5.0
type ACPIMADTLocalx2APICNMI struct { Flags uint16 ACPIProcessorUUID uint32 Localx2APICLint uint8 Reserved [3]uint8 }
ACPIMADTLocalx2APICNMI type 10
type ACPIMADTNMISource ¶ added in v2.5.0
ACPIMADTNMISource type 3
type ACPIMADTProcessorLocalAPIC ¶ added in v2.5.0
ACPIMADTProcessorLocalAPIC type 0
type ACPIMADTSAPIC ¶ added in v2.5.0
type ACPIMADTSAPIC struct { IOAPICID uint8 Reserved uint8 GlobalSystemInterruptBase uint32 IOSAPICAddress uint64 }
ACPIMADTSAPIC type 6
type ACPIRsdp ¶
type ACPIRsdp struct { Signature [8]uint8 Checksum uint8 OEMID [6]uint8 Revision uint8 RSDTPtr uint32 RSDPLen uint32 XSDTPtr uint64 ExtendedChecksum uint8 Reserved [3]uint8 }
ACPIRsdp as defined in ACPI Spec 6.2 "5.2.5.3 Root System Description Pointer (RSDP) Structure"
type PreSet ¶ added in v2.7.0
type PreSet struct { TPM hwapi.TPMVersion TXTMode tools.TXTMode LCPHash tpm2.Algorithm Firmware []byte HostBridgeDeviceID uint16 }
PreSet set of pre-defined assumptions
func ParsePreSet ¶ added in v2.7.0
ParsePreSet parses txt-suite configuration file
type PreSetJSON ¶ added in v2.7.0
type PreSetJSON struct { TPM string `json:",omitempty"` TXTMode string `json:",omitempty"` LCP2Hash string `json:",omitempty"` }
PreSetJSON configuration input
type Result ¶
type Result int
Result exposes the type for test results
const ( // ResultNotRun indicates that a test was skipped ResultNotRun Result = iota // ResultDependencyFailed indicates that the previous dependency test failed ResultDependencyFailed // ResultInternalError indicates that a library function failed at some point in the test ResultInternalError // ResultFail indicates that the test failed ResultFail // ResultPass indicates that the test succeeded. ResultPass )
type Test ¶
type Test struct { Name string Required bool Result Result ErrorText string ErrorTextSpec string Status Status // The chapter inside the spec used for this test SpecificationChapter string // The specification used in this test SpecificiationTitle string SpecificationDocumentID string // contains filtered or unexported fields }
Test exposes the structure in which information about TXT tests are held