summaryrefslogtreecommitdiff
path: root/sys/include/dev/acpi
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-06-24 22:52:22 -0400
committerIan Moffett <ian@osmora.org>2025-06-24 22:54:07 -0400
commitf725323f3fd14e5a1f3b091f7ef0dcbbf8bd9c23 (patch)
tree0428414f8f05dc784cce13ac39d2ca9fcf73566a /sys/include/dev/acpi
parent0a00f1f00f13f61c54929d54a71e046860d95d2a (diff)
kernel: Add SMBIOS/DMI support
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include/dev/acpi')
-rw-r--r--sys/include/dev/acpi/tables.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/sys/include/dev/acpi/tables.h b/sys/include/dev/acpi/tables.h
index d190150..5340c7f 100644
--- a/sys/include/dev/acpi/tables.h
+++ b/sys/include/dev/acpi/tables.h
@@ -162,4 +162,35 @@ struct __packed acpi_mcfg {
struct acpi_mcfg_base base[1];
};
+struct __packed dmi_entry32 {
+ char signature[4]; /* _SM_ */
+ uint8_t checksum; /* Sum of table bytes */
+ uint8_t length; /* Length of entry table */
+ uint8_t major; /* DMI major */
+ uint8_t minor; /* DMI minor */
+ uint16_t max_size; /* Max structure size */
+ uint8_t rev; /* Entry revision */
+ char fmt_area[5]; /* Formatted area */
+ char isignature[5]; /* Intermediate signature */
+ uint8_t ichecksum; /* Intermediate checksum */
+ uint16_t table_len; /* Length of SMBIOS structure table */
+ uint32_t addr; /* 32-bit physical start of SMBIOS structure table */
+ uint16_t nstruct; /* Total number of structures */
+ uint8_t bcd_rev;
+};
+
+struct __packed dmi_entry64 {
+ char signature[5]; /* _SM_ */
+ uint8_t checksum; /* Sum of table bytes */
+ uint8_t length; /* Length of entry table */
+ uint8_t major; /* DMI major */
+ uint8_t minor; /* DMI minor */
+ uint8_t docrev;
+ uint8_t entry_rev;
+ uint8_t reserved;
+ uint16_t max_size; /* Max structure size */
+ uint16_t padding;
+ uint64_t addr; /* 64-bit physical address */
+};
+
#endif /* _ACPI_TABLES_H_ */