6 unsigned long smbios_write_tables(unsigned long start);
7 int smbios_add_string(char *start, const char *str);
8 int smbios_string_table_len(char *start);
10 #define BIOS_CHARACTERISTICS_PCI_SUPPORTED (1 << 7)
11 #define BIOS_CHARACTERISTICS_PC_CARD (1 << 8)
12 #define BIOS_CHARACTERISTICS_PNP (1 << 9)
13 #define BIOS_CHARACTERISTICS_APM (1 << 10)
14 #define BIOS_CHARACTERISTICS_UPGRADEABLE (1 << 11)
15 #define BIOS_CHARACTERISTICS_SHADOW (1 << 12)
16 #define BIOS_CHARACTERISTICS_BOOT_FROM_CD (1 << 15)
17 #define BIOS_CHARACTERISTICS_SELECTABLE_BOOT (1 << 16)
18 #define BIOS_CHARACTERISTICS_BIOS_SOCKETED (1 << 17)
20 #define BIOS_EXT1_CHARACTERISTICS_ACPI (1 << 0)
21 #define BIOS_EXT2_CHARACTERISTICS_TARGET (1 << 2)
23 #define SMBIOS_STATE_SAFE 3
25 SMBIOS_BIOS_INFORMATION=0,
26 SMBIOS_SYSTEM_INFORMATION=1,
27 SMBIOS_SYSTEM_ENCLOSURE=3,
28 SMBIOS_PROCESSOR_INFORMATION=4,
29 SMBIOS_CACHE_INFORMATION=7,
30 SMBIOS_SYSTEM_SLOTS=9,
31 SMBIOS_PHYS_MEMORY_ARRAY=16,
32 SMBIOS_MEMORY_DEVICE=17,
33 SMBIOS_MEMORY_ARRAY_MAPPED_ADDRESS=19,
34 SMBIOS_SYSTEM_BOOT_INFORMATION=32,
35 SMBIOS_END_OF_TABLE=127,
36 } smbios_struct_type_t;
46 u8 formwatted_area[5];
47 u8 intermediate_anchor_string[5];
48 u8 intermediate_checksum;
49 u16 struct_table_length;
50 u32 struct_table_address;
52 u8 smbios_bcd_revision;
53 } __attribute__((packed));
61 u16 bios_start_segment;
64 u64 bios_characteristics;
65 u8 bios_characteristics_ext1;
66 u8 bios_characteristics_ext2;
67 u8 system_bios_major_release;
68 u8 system_bios_minor_release;
72 } __attribute__((packed));
87 } __attribute__((packed));
99 u8 power_supply_state;
104 u8 number_of_power_cords;
106 u8 element_record_length;
108 } __attribute__((packed));
110 struct smbios_type4 {
114 u8 socket_designation;
117 u8 processor_manufacturer;
119 u8 processor_version;
125 u8 processor_upgrade;
135 u16 processor_characteristics;
136 u16 processor_family2;
138 } __attribute__((packed));
140 struct smbios_type16 {
146 u8 memory_error_correction;
147 u32 maximum_capacity;
148 u16 memory_error_information_handle;
149 u16 number_of_memory_devices;
150 u64 extended_maximum_capacity;
152 } __attribute__((packed));
154 struct smbios_type17 {
158 u16 phys_memory_array_handle;
159 u16 memory_error_information_handle;
179 } __attribute__((packed));
181 struct smbios_type32 {
188 } __attribute__((packed));
190 struct smbios_type127 {
195 } __attribute__((packed));