diff options
author | khali <khali> | 2008-11-02 11:19:34 +0000 |
---|---|---|
committer | khali <khali> | 2008-11-02 11:19:34 +0000 |
commit | 11274138528cf0d639a097f033bce1ed9c916524 (patch) | |
tree | b249d1b7952cc770d384116718676f9e653be132 /dmidecode.c | |
parent | dab284fe0fb8cb4ff31a96245a0bd0f0c0df7e4b (diff) | |
download | dmidecode-11274138528cf0d639a097f033bce1ed9c916524.tar.gz |
Decode boot integrity services entry point entries (DMI type 31).
Diffstat (limited to 'dmidecode.c')
-rw-r--r-- | dmidecode.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/dmidecode.c b/dmidecode.c index 186a81b..a01d360 100644 --- a/dmidecode.c +++ b/dmidecode.c @@ -45,6 +45,8 @@ * - AMD publication #25481 revision 2.18 * "CPUID Specification" * http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25481.pdf + * - BIOS Integrity Services Application Programming Interface version 1.0 + * http://www.intel.com/design/archives/wfm/downloads/bisspec.htm */ #include <stdio.h> @@ -3583,6 +3585,14 @@ static void dmi_decode(const struct dmi_header *h, u16 ver) case 31: /* 3.3.32 Boot Integrity Services Entry Point */ printf("Boot Integrity Services Entry Point\n"); + if (h->length < 0x1C) break; + printf("\tChecksum: %s\n", + checksum(data, h->length) ? "OK" : "Invalid"); + printf("\t16-bit Entry Point Address: %04X:%04X\n", + DWORD(data + 0x08) >> 16, + DWORD(data + 0x08) & 0xFFFF); + printf("\t32-bit Entry Point Address: 0x%08X\n", + DWORD(data + 0x0C)); break; case 32: /* 3.3.33 System Boot Information */ |