📄 smbios.inc
字号:
;' $Header$
;
; (C) Copyright 2000-2002 Qualitas, Inc. All rights reserved.
;
; SMBIOS.INC
;
; SMBIOS and DMI macros, strucs, and equates
; This data is current through SMBIOS Version 2.3.1 - 16 March 1999.
@SMBIOS_SIG equ <'_MS_'> ; SMBIOS signature
@DMI_SIG equ <'_IMD_'> ; DMI signature
@DMI_SIG1 equ 'IMD_' ; DMI ... part 1
@DMI_SIG2 equ '_' ; DMI ... ... 2
DMI_STR struc
DMI_SIG db @DMI_SIG ; 00: Signature
DMI_CSUM db ? ; 05: Checksum
DMI_LEN dw ? ; 06: Length of DMI Struc Table pointed to by DMI_ADDR
DMI_ADDR dd ? ; 08: Physical address of Strucs
DMI_CNT dw ? ; 0C: # Strucs pointed to by DMI_ADDR
DMI_REV db ? ; 0E: Revision as BCD byte
DMI_STR ends
SMBIOS_STR struc
SMBIOS_SIG db @SMBIOS_SIG ; 00: Signature
SMBIOS_CSUM db ? ; 04: Checksum
SMBIOS_LEN db ? ; 05: Entry point length
SMBIOS_REVMAJ db ? ; 06: Major revision #
SMBIOS_REVMIN db ? ; 07: Minor revision #
SMBIOS_MAXSTR dw ? ; 08: Maximum Structure Size
SMBIOS_EPREV db ? ; 0A: Entry Point Revision
SMBIOS_RSVD db 5 dup (?) ; 0B: Reserved
SMBIOS_DMI db (type DMI_STR) dup (?) ; 10: DMI Structure
SMBIOS_STR ends
@SMB_BIOSINFO equ 0 ; BIOS Information
@SMB_SYSINFO equ 1 ; System Information
@SMB_BASEINFO equ 2 ; Base Board Information
@SMB_SYSENC equ 3 ; System Enclosure or Chassis
@SMB_CPU equ 4 ; Processor Information
@SMB_MEMCTRL equ 5 ; Memory Controller Information
@SMB_MEMMOD equ 6 ; Memory Module Information
@SMB_CACHE equ 7 ; Cache Information
@SMB_PORTCON equ 8 ; Port Connector Information
@SMB_SLOTS equ 9 ; System Slots
@SMB_ONBOARD equ 10 ; On Board Devices Information
@SMB_OEMSTR equ 11 ; OEM Strings
@SMB_SYSCFG equ 12 ; System Configuration Options
@SMB_LANG equ 13 ; BIOS Language Information
@SMB_GRP equ 14 ; Group Associations
@SMB_EVENT equ 15 ; System Event Log
@SMB_PHYSMEM equ 16 ; Physical Memory Array
@SMB_MEMDEV equ 17 ; Memory Device
@SMB_MEMERR32 equ 18 ; 32-bit Memory Error Information
@SMB_MEMMAP equ 19 ; Memory Array Mapped Address
@SMB_MEMDEVMAP equ 20 ; Memory Device Mapped Address
@SMB_POINTER equ 21 ; Built-in Pointing Device
@SMB_BATTERY equ 22 ; Portable Battery
@SMB_RESET equ 23 ; System Reset
@SMB_SECURITY equ 24 ; Hardware Security
@SMB_POWER equ 25 ; System Power Controls
@SMB_VOLTAGE equ 26 ; Voltage Probe
@SMB_COOL equ 27 ; Cooling Device
@SMB_TEMP equ 28 ; Tempature Probe
@SMB_CURRENT equ 29 ; Electrical Current Probe
@SMB_OOBREM equ 30 ; Out-of-Band Remote Access
@SMB_BIS equ 31 ; Boot Integrity Services (BIS) Entry Point
@SMB_SYSBOOT equ 32 ; System Boot Information
@SMB_MEMERR64 equ 33 ; 64-bit Memory Error Information
@SMB_MGT equ 34 ; Management Device
@SMB_MGTCMP equ 35 ; Management Device Component
@SMB_MGTTHR equ 36 ; Management Device Threshold Data
@SMB_MEMCHAN equ 37 ; Memory Channel
@SMB_IPMI equ 38 ; IPMI Device Information
@SMB_SPS equ 39 ; System Power Supply
@SMB_INACTIVE equ 126 ; Inactive
@SMB_EOT equ 127 ; End-of-Table
SMBHDR_STR struc ; Header structure
SMBHDR_TYPE db ? ; Type
SMBHDR_LEN db ? ; Length in bytes (including the header
; but not the string set)
SMBHDR_HNDL dw ? ; Handle
SMBHDR_STR ends
; =========================== Type 0: BIOS Information ======================
SMB0_STR struc ; Type 0: BIOS Information
db (type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB0_VENDOR db ? ; 04: Vendor string
SMB0_VERSION db ? ; 05: Version string
SMB0_START dw ? ; 06: Starting address segment
SMB0_RELDATE db ? ; 08: Release date string
SMB0_ROMSIZE db ? ; 09: ROM Size (n) where 64K*(n+1) is physical size
SMB0_CHAR_EDQLO_ELO dw ? ; 0A: Characteristics record (see SMB0_CHAR_REC_EDQLO_ELO)
SMB0_CHAR_EDQLO_EHI dw ? ; 0C: ... (see SMB0_CHAR_REC_EDQLO_EHI)
SMB0_CHAR_EDQHI dd ? ; 0E: ... (see SMB0_CHAR_REC_EDQHI)
SMB0_CHAREXT1 db ? ; 12: Characteristics extension #1 record
SMB0_CHAREXT2 db ? ; 13: ... #2 ...
SMB0_STR ends
; BIOS Characteristics High Dword
SMB0_CHAR_REC_EDQHI record $SMB0_CHAR_SYSVEN:16,$SMB0_CHAR_BIOSVEN:16
; BIOS Characteristics Low Dword, High Word
SMB0_CHAR_REC_EDQLO_EHI record \
$SMB0_CHAR_NEC98:1, \
$SMB0_CHAR_INT10:1, \
$SMB0_CHAR_INT17:1, \
$SMB0_CHAR_INT14:1, \
$SMB0_CHAR_INT09:1, \
$SMB0_CHAR_INT05:1, \
$SMB0_CHAR_INT13_288:1, \
$SMB0_CHAR_INT13_720:1, \
$SMB0_CHAR_INT13_12:1, \
$SMB0_CHAR_INT13_360:1, \
$SMB0_CHAR_INT13_TOSH12:1, \
$SMB0_CHAR_INT13_NEC12:1, \
$SMB0_CHAR_EDD:1, \
$SMB0_CHAR_BOOTCARD:1, \
$SMB0_CHAR_ROMSOCKET:1, \
$SMB0_CHAR_BOOTSEL:1
; BIOS Characteristics Low Dword, Low Word
SMB0_CHAR_REC_EDQLO_ELO record \
$SMB0_CHAR_BOOTCD:1, \
$SMB0_CHAR_ESCD:1, \
$SMB0_CHAR_VESA:1, \
$SMB0_CHAR_SHADOW:1, \
$SMB0_CHAR_FLASH:1, \
$SMB0_CHAR_APM:1, \
$SMB0_CHAR_PNP:1, \
$SMB0_CHAR_PCCARD:1, \
$SMB0_CHAR_PCI:1, \
$SMB0_CHAR_EISA:1, \
$SMB0_CHAR_MCA:1, \
$SMB0_CHAR_ISA:1, \
$SMB0_CHAR_XCHAR:1, \
$SMB0_CHAR_UNK:1, \
$SMB0_CHAR_RSV0:2
; BIOS Characteristics Extension Byte 1
SMB0_CHAREXT1_REC record \
$SMB0_CHAREXT1_SBATT:1, \
$SMB0_CHAREXT1_BOOT1394:1, \
$SMB0_CHAREXT1_BOOTZIP:1, \
$SMB0_CHAREXT1_LS120:1, \
$SMB0_CHAREXT1_I2O:1, \
$SMB0_CHAREXT1_AGP:1, \
$SMB0_CHAREXT1_USBL:1, \
$SMB0_CHAREXT1_ACPI:1
; BIOS Characteristics Extension Byte 2
SMB0_CHAREXT2_REC record \
$SMB0_CHAREXT2_RSV1:6, \
$SMB0_CHAREXT2_NETBOOT:1, \
$SMB0_CHAREXT2_BOOTSPEC:1
; =========================== Type 1: System Information ====================
SMB1_STR struc ; Type 1: System Information
db (type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB1_MFR db ? ; 04: Manufacturer string
SMB1_PROD db ? ; 05: Product Name string
SMB1_VER db ? ; 06: Version string
SMB1_SN db ? ; 07: Serial # string
SMB1_UUID db 16 dup (?) ; 08: Universal Unique ID #
SMB1_WAKE db ? ; 18: Wake-up Type enum (see @SMB1_WAKE_xxx)
SMB1_STR ends
@SMB1_WAKE_RSV0 equ 0 ; Reserved 0
@SMB1_WAKE_OTHER equ 1 ; Other
@SMB1_WAKE_UNK equ 2 ; Unknown
@SMB1_WAKE_APM equ 3 ; APM Timer
@SMB1_WAKE_MODEM equ 4 ; Modem Ring
@SMB1_WAKE_LAN equ 5 ; LAN Remote
@SMB1_WAKE_POWER equ 6 ; Power Switch
@SMB1_WAKE_PCI equ 7 ; PCI PME#
@SMB1_WAKE_ACRES equ 8 ; AC Power Restored
; =========================== Type 2: Base Board Information ================
SMB2_STR struc ; Type 2: Base Board Information
db (type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB2_MFR db ? ; 04: Manufacturer string
SMB2_PROD db ? ; 05: Product Name string
SMB2_VER db ? ; 06: Version string
SMB2_SN db ? ; 07: Serial # string
SMB2_ASSET db ? ; 08: Asset Tag string
SMB2_FEAT db ? ; 09: Feature flags bit field (see SMB2_FEAT_REC)
SMB2_LOC db ? ; 0A: Location in chassis string
SMB2_CHNDL dw ? ; 0B: Chassis handle (Type 3)
SMB2_TYPE db ? ; 0D: Board type enum (see @SMB2_TYPE_xxx)
SMB2_NCOH db ? ; 0E: # Contained Object Handles
SMB2_COH dw ? ; 0F: Contained Object Handles (see SMB2_COH_STR)
SMB2_STR ends
SMB2_FEAT_REC record \
$SMB2_FEAT_RSV5:3, \
$SMB2_FEAT_HOTSWAP:1, \
$SMB2_FEAT_REPLACEABLE:1, \
$SMB2_FEAT_REMOVABLE:1, \
$SMB2_FEAT_DAUGHTER:1, \
$SMB2_FEAT_MOTHER:1
@SMB2_TYPE_UNK equ 1 ; Unknown
@SMB2_TYPE_OTHER equ 2 ; Other
@SMB2_TYPE_SERVER equ 3 ; Server Blade
@SMB2_TYPE_CONNSW equ 4 ; Connectivity Switch
@SMB2_TYPE_SMM equ 5 ; System Management Module
@SMB2_TYPE_PROCESSOR equ 6 ; Processor Module
@SMB2_TYPE_IO equ 7 ; I/O Module
@SMB2_TYPE_MEMORY equ 8 ; Memory Module
@SMB2_TYPE_DAUGHTER equ 9 ; Daughter board
@SMB2_TYPE_MOTHER equ 10 ; Motherboard
@SMB2_TYPE_PROCMEM equ 11 ; Processor/Memory Module
@SMB2_TYPE_PROCIO equ 12 ; Processor/IO Module
@SMB2_TYPE_INTER equ 13 ; Interconnect Board
SMB2_COH_STR struc
SMB2_COH_HNDL dw ? ; 00: Handle (various Types)
SMB2_COH_STR ends
; =========================== Type 3: System Enclosure or Chassis ===========
SMB3_STR struc ; Type 3: System Enclosure or Chassis
db (type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB3_MFR db ? ; 04: Manufacturer string
SMB3_TYPE db ? ; 05: Type bit field (see SMB3_TYPE_REC)
SMB3_VER db ? ; 06: Version string
SMB3_SN db ? ; 07: Serial # string
SMB3_ASSET db ? ; 08: Asset Tag # string
SMB3_BOOT db ? ; 09: Bootup state enum (see @SMB3_STATE_xxx)
SMB3_POWER db ? ; 0A: Power Suppy State enum (see @SMB3_STATE_xxx)
SMB3_THERM db ? ; 0B: Thermal State enum (see @SMB3_STATE_xxx)
SMB3_SECUR db ? ; 0C: Security Status enum (see @SMB3_SECUR_xxx)
SMB3_OEM dd ? ; 0D: OEM-defined bit field
SMB3_HEIGHT db ? ; 11: Height (00h = Unknown)
SMB3_NCORDS db ? ; 12: # Power Cords (00h = Unknown)
SMB3_CE_CNT db ? ; 13: Contained Element Count
SMB3_CE_RECL db ? ; 14: Contained Element Record Length
SMB3_CE db ? ; 15: Contained Elements (see SMB_CE_STR)
SMB3_STR ends
SMB3_TYPE_REC record \
$SMB3_TYPE_LOCK:1, \
$SMB3_TYPE:7
@SMB3_TYPE_OTHER equ 01h ; Other
@SMB3_TYPE_UNK equ 02h ; Unknown
@SMB3_TYPE_DTOP equ 03h ; Desktop
@SMB3_TYPE_LPDTOP equ 04h ; Low Profile Desktop
@SMB3_TYPE_PBOX equ 05h ; Pizza Box
@SMB3_TYPE_MINITWR equ 06h ; Mini Tower
@SMB3_TYPE_TWR equ 07h ; Tower
@SMB3_TYPE_PORT equ 08h ; Portable
@SMB3_TYPE_LTOP equ 09h ; Laptop
@SMB3_TYPE_NOTE equ 0Ah ; Notebook
@SMB3_TYPE_HAND equ 0Bh ; Hand Held
@SMB3_TYPE_DOCK equ 0Ch ; Docking Station
@SMB3_TYPE_ALL equ 0Dh ; All in One
@SMB3_TYPE_SNOTE equ 0Eh ; Sub Notebook
@SMB3_TYPE_SPACE equ 0Fh ; Space-saving
@SMB3_TYPE_LBOX equ 10h ; Lunch Box
@SMB3_TYPE_MCHAS equ 11h ; Main Server Chassis
@SMB3_TYPE_ECHAS equ 12h ; Expansion Chassis
@SMB3_TYPE_SCHAS equ 13h ; SubChassis
@SMB3_TYPE_BCHAS equ 14h ; Bus Expansion Chassis
@SMB3_TYPE_PCHAS equ 15h ; Peripheral Chassis
@SMB3_TYPE_RAID equ 16h ; RAID Chassis
@SMB3_TYPE_RACK equ 17h ; Rack Mount Chassis
@SMB3_TYPE_SEAL equ 18h ; Sealed Case Chassis
@SMB3_TYPE_MULTI equ 19h ; Multi-system Chassis
@SMB3_STATE_OTHER equ 01h ; Other
@SMB3_STATE_UNK equ 02h ; Unknown
@SMB3_STATE_SAFE equ 03h ; Safe
@SMB3_STATE_WARN equ 04h ; Warning
@SMB3_STATE_CRIT equ 05h ; Critical
@SMB3_STATE_NONREC equ 06h ; Non-recoverable
@SMB3_SECUR_OTHER equ 01h ; Other
@SMB3_SECUR_UNK equ 02h ; Unknown
@SMB3_SECUR_NONE equ 03h ; None
@SMB3_SECUR_EI_LOCK equ 04h ; External Interface Locked Out
@SMB3_SECUR_EI_ENA equ 05h ; External Interface Enabled
SMB_CE_STR struc
SMB_CE_TYPE db ? ; Type bit field (see SMB_CE_TYPE_REC)
SMB_CE_MIN db ? ; Contained Element Minimum
SMB_CE_MAX db ? ; ... Maximum
SMB_CE_STR ends
SMB_CE_TYPE_REC record \
$SMB_CE_TYPE_SEL:1, \
$SMB_CE_TYPE_TYPE:7
; =========================== Type 4: Processor Information =================
SMB4_STR struc ; Type 4: Processor Information
db (type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB4_SOCK db ? ; 04: Socket Designation string
SMB4_PTYP db ? ; 05: Processor Type enum (see @SMB4_PTYP_xxx)
SMB4_PFAM db ? ; 06: Processor Family enum (see @SMB4_PFAM_xxx)
SMB4_PMFR db ? ; 07: Processor Manufacturer string
SMB4_PID dq ? ; 08: Processor ID 8 bytes
SMB4_PVER db ? ; 10: Processor Version string
SMB4_VOLT db ? ; 11: Voltage record (see SMB4_VOLT_REC)
SMB4_CLCK dw ? ; 12: External Clock frequency in MHz (0000h = Unknown)
SMB4_MAXSP dw ? ; 14: Maximum Speed in MHz (0000h = Unknown)
SMB4_CURSP dw ? ; 16: Current Speed in MHz (0000h = Unknown)
SMB4_STAT db ? ; 18: Status record (see SMB4_STAT_REC)
SMB4_PUPG db ? ; 19: Processor Upgrade enum (see @SMB4_PUPG_xxx)
SMB4_L1HNDL dw ? ; 1A: L1 Cache Handle (Type 7) (0FFFFh = Unknown)
SMB4_L2HNDL dw ? ; 1C: L2 ... ...
SMB4_L3HNDL dw ? ; 1E: L3 ... ...
SMB4_SERNUM db ? ; 20: Serial number string
SMB4_ASSET db ? ; 21: Asset Tag string
SMB4_PARTNUM db ? ; 22: Part NUmber string
SMB4_STR ends
@SMB4_PTYP_OTHER equ 01h ; Other
@SMB4_PTYP_UNK equ 02h ; Unknown
@SMB4_PTYP_CTRL equ 03h ; Central Processor
@SMB4_PTYP_MATH equ 04h ; Math Processor
@SMB4_PTYP_DSP equ 05h ; DSP Processor
@SMB4_PTYP_VIDEO equ 06h ; Video Processor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -