lfn
serial
ticket/834-toolchain-update
topic/msim-upgrade
topic/simplify-dev-export
Last change
on this file since 86018c1 was 7208b6c, checked in by Jakub Vana <jakub.vana@…>, 17 years ago |
Basic IA64 boot and kernel suport for real machines
|
-
Property mode
set to
100644
|
File size:
3.0 KB
|
Rev | Line | |
---|
[7208b6c] | 1 | #ifndef _LIB_SMBIOS_H
|
---|
| 2 | #define _LIB_SMBIOS_H
|
---|
| 3 | /*++
|
---|
| 4 |
|
---|
| 5 | Copyright (c) 2000 Intel Corporation
|
---|
| 6 |
|
---|
| 7 | Module Name:
|
---|
| 8 |
|
---|
| 9 | LibSmbios.h
|
---|
| 10 |
|
---|
| 11 | Abstract:
|
---|
| 12 |
|
---|
| 13 | Lib include for SMBIOS services. Used to get system serial number and GUID
|
---|
| 14 |
|
---|
| 15 | Revision History
|
---|
| 16 |
|
---|
| 17 | --*/
|
---|
| 18 |
|
---|
| 19 | //
|
---|
| 20 | // Define SMBIOS tables.
|
---|
| 21 | //
|
---|
| 22 | #pragma pack(1)
|
---|
| 23 | typedef struct {
|
---|
| 24 | UINT8 AnchorString[4];
|
---|
| 25 | UINT8 EntryPointStructureChecksum;
|
---|
| 26 | UINT8 EntryPointLength;
|
---|
| 27 | UINT8 MajorVersion;
|
---|
| 28 | UINT8 MinorVersion;
|
---|
| 29 | UINT16 MaxStructureSize;
|
---|
| 30 | UINT8 EntryPointRevision;
|
---|
| 31 | UINT8 FormattedArea[5];
|
---|
| 32 | UINT8 IntermediateAnchorString[5];
|
---|
| 33 | UINT8 IntermediateChecksum;
|
---|
| 34 | UINT16 TableLength;
|
---|
| 35 | UINT32 TableAddress;
|
---|
| 36 | UINT16 NumberOfSmbiosStructures;
|
---|
| 37 | UINT8 SmbiosBcdRevision;
|
---|
| 38 | } SMBIOS_STRUCTURE_TABLE;
|
---|
| 39 |
|
---|
| 40 | //
|
---|
| 41 | // Please note that SMBIOS structures can be odd byte aligned since the
|
---|
| 42 | // unformated section of each record is a set of arbitrary size strings.
|
---|
| 43 | //
|
---|
| 44 |
|
---|
| 45 | typedef struct {
|
---|
| 46 | UINT8 Type;
|
---|
| 47 | UINT8 Length;
|
---|
| 48 | UINT8 Handle[2];
|
---|
| 49 | } SMBIOS_HEADER;
|
---|
| 50 |
|
---|
| 51 | typedef UINT8 SMBIOS_STRING;
|
---|
| 52 |
|
---|
| 53 | typedef struct {
|
---|
| 54 | SMBIOS_HEADER Hdr;
|
---|
| 55 | SMBIOS_STRING Vendor;
|
---|
| 56 | SMBIOS_STRING BiosVersion;
|
---|
| 57 | UINT8 BiosSegment[2];
|
---|
| 58 | SMBIOS_STRING BiosReleaseDate;
|
---|
| 59 | UINT8 BiosSize;
|
---|
| 60 | UINT8 BiosCharacteristics[8];
|
---|
| 61 | } SMBIOS_TYPE0;
|
---|
| 62 |
|
---|
| 63 | typedef struct {
|
---|
| 64 | SMBIOS_HEADER Hdr;
|
---|
| 65 | SMBIOS_STRING Manufacturer;
|
---|
| 66 | SMBIOS_STRING ProductName;
|
---|
| 67 | SMBIOS_STRING Version;
|
---|
| 68 | SMBIOS_STRING SerialNumber;
|
---|
| 69 |
|
---|
| 70 | //
|
---|
| 71 | // always byte copy this data to prevent alignment faults!
|
---|
| 72 | //
|
---|
| 73 | EFI_GUID Uuid;
|
---|
| 74 |
|
---|
| 75 | UINT8 WakeUpType;
|
---|
| 76 | } SMBIOS_TYPE1;
|
---|
| 77 |
|
---|
| 78 | typedef struct {
|
---|
| 79 | SMBIOS_HEADER Hdr;
|
---|
| 80 | SMBIOS_STRING Manufacturer;
|
---|
| 81 | SMBIOS_STRING ProductName;
|
---|
| 82 | SMBIOS_STRING Version;
|
---|
| 83 | SMBIOS_STRING SerialNumber;
|
---|
| 84 | } SMBIOS_TYPE2;
|
---|
| 85 |
|
---|
| 86 | typedef struct {
|
---|
| 87 | SMBIOS_HEADER Hdr;
|
---|
| 88 | SMBIOS_STRING Manufacturer;
|
---|
| 89 | UINT8 Type;
|
---|
| 90 | SMBIOS_STRING Version;
|
---|
| 91 | SMBIOS_STRING SerialNumber;
|
---|
| 92 | SMBIOS_STRING AssetTag;
|
---|
| 93 | UINT8 BootupState;
|
---|
| 94 | UINT8 PowerSupplyState;
|
---|
| 95 | UINT8 ThermalState;
|
---|
| 96 | UINT8 SecurityStatus;
|
---|
| 97 | UINT8 OemDefined[4];
|
---|
| 98 | } SMBIOS_TYPE3;
|
---|
| 99 |
|
---|
| 100 | typedef struct {
|
---|
| 101 | SMBIOS_HEADER Hdr;
|
---|
| 102 | UINT8 Socket;
|
---|
| 103 | UINT8 ProcessorType;
|
---|
| 104 | UINT8 ProcessorFamily;
|
---|
| 105 | SMBIOS_STRING ProcessorManufacture;
|
---|
| 106 | UINT8 ProcessorId[8];
|
---|
| 107 | SMBIOS_STRING ProcessorVersion;
|
---|
| 108 | UINT8 Voltage;
|
---|
| 109 | UINT8 ExternalClock[2];
|
---|
| 110 | UINT8 MaxSpeed[2];
|
---|
| 111 | UINT8 CurrentSpeed[2];
|
---|
| 112 | UINT8 Status;
|
---|
| 113 | UINT8 ProcessorUpgrade;
|
---|
| 114 | UINT8 L1CacheHandle[2];
|
---|
| 115 | UINT8 L2CacheHandle[2];
|
---|
| 116 | UINT8 L3CacheHandle[2];
|
---|
| 117 | } SMBIOS_TYPE4;
|
---|
| 118 |
|
---|
| 119 | typedef union {
|
---|
| 120 | SMBIOS_HEADER *Hdr;
|
---|
| 121 | SMBIOS_TYPE0 *Type0;
|
---|
| 122 | SMBIOS_TYPE1 *Type1;
|
---|
| 123 | SMBIOS_TYPE2 *Type2;
|
---|
| 124 | SMBIOS_TYPE3 *Type3;
|
---|
| 125 | SMBIOS_TYPE4 *Type4;
|
---|
| 126 | UINT8 *Raw;
|
---|
| 127 | } SMBIOS_STRUCTURE_POINTER;
|
---|
| 128 | #pragma pack()
|
---|
| 129 |
|
---|
| 130 |
|
---|
| 131 | #endif
|
---|
| 132 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.