⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbios.inc

📁 This program displays all SMBIOS/DMI information within the BIOS. The information is organized as a
💻 INC
📖 第 1 页 / 共 5 页
字号:

SMB28_STR struc 		; Type 28:  Temperature Probe

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB28_DESC db	?		; 04:  Description string
SMB28_LOC  db	?		; 05:  Location and Status record (see SMB28_LOC_REC)
SMB28_MAX  dw	?		; 06:  Maximum value in millivolts (8000h = Unknown)
SMB28_MIN  dw	?		; 08:  Minimum value in millivolts (8000h = Unknown)
SMB28_RES  dw	?		; 0A:  Resolution in tenths of millivolts (8000h = Unknown)
SMB28_TOL  dw	?		; 0C:  Tolerance in plus/minus millivolts (8000h = Unknown)
SMB28_ACC  dw	?		; 0E:  Accuracy in plus/minus 1/100th of a percent (8000h = Unknown)
SMB28_OEM  dd	?		; 10:  OEM-defined
SMB28_NOM  dw	?		; 14:  Nominal value in millivolts (8000h = Unknown)

SMB28_STR ends


SMB28_LOC_REC record \
$SMB28_LOC_STAT:3, \
$SMB28_LOC_LOC:5


@SMB28_LOC_STAT_OTHER equ 01h	; Other
@SMB28_LOC_STAT_UNK   equ 02h	; Unknown
@SMB28_LOC_STAT_OK    equ 03h	; OK
@SMB28_LOC_STAT_NCRIT equ 04h	; Non-critical
@SMB28_LOC_STAT_CRIT  equ 05h	; Critical
@SMB28_LOC_STAT_NREC  equ 06h	; Non-recoverable


@SMB28_LOC_LOC_OTHER  equ 01h	; Other
@SMB28_LOC_LOC_UNK    equ 02h	; Unknown
@SMB28_LOC_LOC_PROC   equ 03h	; Processor
@SMB28_LOC_LOC_DISK   equ 04h	; Disk
@SMB28_LOC_LOC_PERI   equ 05h	; Peripheral Bay
@SMB28_LOC_LOC_SMM    equ 06h	; System Management Module
@SMB28_LOC_LOC_MBRD   equ 07h	; Motherboard
@SMB28_LOC_LOC_MMOD   equ 08h	; Memory Module
@SMB28_LOC_LOC_PMOD   equ 09h	; Processor Module
@SMB28_LOC_LOC_PWR    equ 0Ah	; Power Unit
@SMB28_LOC_LOC_ADD    equ 0Bh	; Add-in card
@SMB28_LOC_LOC_FPB    equ 0Ch	; Front Panel Board
@SMB28_LOC_LOC_BPB    equ 0Dh	; Back Panel Board
@SMB28_LOC_LOC_PSB    equ 0Eh	; Power System Board
@SMB28_LOC_LOC_DBP    equ 0Fh	; Drive Back Plane


; =========================== Type 29:	Electrical Current Probe =============

SMB29_STR struc 		; Type 29:  Electrical Current Probe

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB29_DESC db	?		; 04:  Description string
SMB29_LOC  db	?		; 05:  Location and Status record (see SMB29_LOC_REC)
SMB29_MAX  dw	?		; 06:  Maximum value in millivolts (8000h = Unknown)
SMB29_MIN  dw	?		; 08:  Minimum value in millivolts (8000h = Unknown)
SMB29_RES  dw	?		; 0A:  Resolution in tenths of millivolts (8000h = Unknown)
SMB29_TOL  dw	?		; 0C:  Tolerance in plus/minus millivolts (8000h = Unknown)
SMB29_ACC  dw	?		; 0E:  Accuracy in plus/minus 1/100th of a percent (8000h = Unknown)
SMB29_OEM  dd	?		; 10:  OEM-defined
SMB29_NOM  dw	?		; 14:  Nominal value in millivolts (8000h = Unknown)

SMB29_STR ends


SMB29_LOC_REC record \
$SMB29_LOC_STAT:3, \
$SMB29_LOC_LOC:5


@SMB29_LOC_STAT_OTHER equ 01h	; Other
@SMB29_LOC_STAT_UNK   equ 02h	; Unknown
@SMB29_LOC_STAT_OK    equ 03h	; OK
@SMB29_LOC_STAT_NCRIT equ 04h	; Non-critical
@SMB29_LOC_STAT_CRIT  equ 05h	; Critical
@SMB29_LOC_STAT_NREC  equ 06h	; Non-recoverable


@SMB29_LOC_LOC_OTHER  equ 01h	; Other
@SMB29_LOC_LOC_UNK    equ 02h	; Unknown
@SMB29_LOC_LOC_PROC   equ 03h	; Processor
@SMB29_LOC_LOC_DISK   equ 04h	; Disk
@SMB29_LOC_LOC_PERI   equ 05h	; Peripheral Bay
@SMB29_LOC_LOC_SMM    equ 06h	; System Management Module
@SMB29_LOC_LOC_MBRD   equ 07h	; Motherboard
@SMB29_LOC_LOC_MMOD   equ 08h	; Memory Module
@SMB29_LOC_LOC_PMOD   equ 09h	; Processor Module
@SMB29_LOC_LOC_PWR    equ 0Ah	; Power Unit
@SMB29_LOC_LOC_ADD    equ 0Bh	; Add-in card


; =========================== Type 30:	Out-of-Band Remote Access ============

SMB30_STR struc 		; Type 30:  Out-of-Band Remote Access

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB30_MFR db	?		; 04:  Manufacturer Name string
SMB30_CON db	?		; 05:  Connections record (see SMB30_CON_REC)

SMB30_STR ends


SMB30_CON_REC record \
$SMB30_CON_RSV2:6, \
$SMB30_CON_OCE:1,  \
$SMB30_CON_ICE:1


@SMB30_CON_CE_FALSE equ 0	; False
@SMB30_CON_CE_TRUE  equ 1	; True


; =========================== Type 31:	Boot Integrity Services (BIS) Entry Point

SMB31_STR struc 		; Type 31:  Boot Integrity Services (BIS) Entry Point

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB31_CSUM db	?		; 04:  Checksum
SMB31_RSV1 db	?		; 05:  Reserved
SMB31_RSV2 dw	?		; 06:  Reserved
SMB31_PTR16 dd	?		; 08:  Entry point for 16-bit callers
SMB31_PHYS32 dd ?		; 0C:  Physical address for 32-bit callers
SMB31_RSV3 dq	?		; 10:  Reserved
SMB31_RSV4 dd	?		; 18:  Reserved

SMB31_STR ends


; =========================== Type 32:	System Boot Information ==============

SMB32_STR struc 		; Type 32:  System Boot Information

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB32_RSV  db	6 dup (?)	; 04:  Reserved
SMB32_STAT db	?		; 0A:  Boot Status (see @SMB32_STAT_xxx)
SMB32_DATA db	9 dup (?)	; 0B:  Additional Data

SMB32_STR ends


@SMB32_STAT_NOERR  equ	0	; No errors detected
@SMB32_STAT_NOBOOT equ	1	; No bootable media
@SMB32_STAT_NOLOAD equ	2	; The 'normal' OS failed to load
@SMB32_STAT_HWFAIL equ	3	; Firmware-detected HW failure, including 'unknown' failure types
@SMB32_STAT_OSFAIL equ	4	; OS-detected HW failure
@SMB32_STAT_USER   equ	5	; User-requested boot
@SMB32_STAT_SEC    equ	6	; System security violation
@SMB32_STAT_PREV   equ	7	; Previously requested image
@SMB32_STAT_WATCH  equ	8	; A system watchdog timer expired


; =========================== Type 33:	64-bit Memory Error Information ======

SMB33_STR struc 		; Type 33:  64-bit Memory Error Information

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB33_ERRTYPE db ?		; 04:  Error Type enum (see @SMB18_ERRTYPE_xxx)
SMB33_ERRGRAN db ?		; 05:  Error Granularity enum (see @SMB18_ERRGRAN_xxx)
SMB33_ERROPER db ?		; 06:  Error Operation enum (see @SMB18_ERROPER_xxx)
SMB33_VENSYN  dd ?		; 07:  Vendor Syndrome (ECC or CRC) (00000000h = Unknown)
SMB33_MAEADDR dq ?		; 0B:  Memory Array Error Address (8000000000000000h = Unknown)
SMB33_DEADDR  dq ?		; 13:  Device Error Address (8000000000000000h = Unknown)
SMB33_ERRRES  dd ?		; 1B:  Error Resolution (80000000h = Unknown)

SMB33_STR ends


; =========================== Type 34:	Management Device ====================

SMB34_STR struc 		; Type 34:  Management Device

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB34_DESC db	?		; 04:  Description string
SMB34_TYPE db	?		; 05:  Type enum (see @SMB34_TYPE_xxx)
SMB34_ADDR dd	?		; 06:  Address
SMB34_ATYP db	?		; 0A:  Address Type enum (see @SMB34_ATYP_xxx)

SMB34_STR ends


@SMB34_TYPE_OTHER   equ 01h	; Other
@SMB34_TYPE_UNK     equ 02h	; Unknown
@SMB34_TYPE_NS_LM75 equ 03h	; National Semiconductor LM75
@SMB34_TYPE_NS_LM78 equ 04h	; National Semiconductor LM78
@SMB34_TYPE_NS_LM79 equ 05h	; National Semiconductor LM79
@SMB34_TYPE_NS_LM80 equ 06h	; National Semiconductor LM80
@SMB34_TYPE_NS_LM81 equ 07h	; National Semiconductor LM81
@SMB34_TYPE_ANADEV  equ 08h	; Analog Devices ADM9240
@SMB34_TYPE_DALLAS  equ 09h	; Dallas Semiconductor DS1780
@SMB34_TYPE_MAXIM   equ 0Ah	; Maxim 1617
@SMB34_TYPE_GENESYS equ 0Bh	; Genesys GL518SM
@SMB34_TYPE_WINBOND equ 0Ch	; Winbond W83871D
@SMB34_TYPE_HOLTEK  equ 0Dh	; Holtek HT82H791


@SMB34_ATYP_OTHER equ	01h	; Other
@SMB34_ATYP_UNK   equ	02h	; Unknown
@SMB34_ATYP_IO	  equ	03h	; I/O Port
@SMB34_ATYP_MEM   equ	04h	; Memory
@SMB34_ATYP_SMB   equ	05h	; SM Bus


; =========================== Type 35:	Management Device Component ==========

SMB35_STR struc 		; Type 35:  Management Device Component

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB35_DESC  db	?		; 04:  Description string
SMB35_MHNDL dw	?		; 05:  Management Device Handle (Type 34)
SMB35_CHNDL dw	?		; 07:  Component Handle (Types 26, 27, 28, or 29)
SMB35_THNDL dw	?		; 09:  Threshold Handle (Type 36)

SMB35_STR ends


; =========================== Type 36:	Management Device Threshold Data =====

SMB36_STR struc 		; Type 36:  Management Device Threshold Data

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB36_LT_NC dw	?		; 04:  Lower Threshold - Non-critical (8000h = Unknown)
SMB36_UT_NC dw	?		; 06:  Upper Threshold - Non-critical (8000h = Unknown)
SMB36_LT_C  dw	?		; 08:  Lower Threshold - Critical (8000h = Unknown)
SMB36_UT_C  dw	?		; 0A:  Upper Threshold - Critical (8000h = Unknown)
SMB36_LT_NR dw	?		; 0C:  Lower Threshold - Non-recoverable (8000h = Unknown)
SMB36_UT_NR dw	?		; 0E:  Upper Threshold - Non-recoverable (8000h = Unknown)

SMB36_STR ends


; =========================== Type 37:	Memory Channel =======================

SMB37_STR struc 		; Type 37:  Memory Channel

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB37_TYPE   db ?		; 04:  Channel Type enum (see @SMB37_TYPE_xxx)
SMB37_MCLOAD db ?		; 05:  Maximum Channel Load
SMB37_CNT    db ?		; 06:  Memory Device Count
SMB37_MD     db ?		; 07:  Memory Devices (see SMB37_MD_STR)

SMB37_STR ends


SMB37_MD_STR struc

SMB37_MD_LOAD db ?		; 00:  Memory Device Load
SMB37_MD_HNDL dw ?		; 01:  Memory Device Handle (Type 17)

SMB37_MD_STR ends


@SMB37_TYPE_OTHER  equ	01h	; Other
@SMB37_TYPE_UNK    equ	02h	; Unknown
@SMB37_TYPE_RAMBUS equ	03h	; RAMBUS
@SMB37_TYPE_SYNC   equ	04h	; SyncLink


; =========================== Type 38:	IPMI Device Information ==============

SMB38_STR struc 		; Type 37:  IPMI Device Information

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB38_TYPE  db	?		; 04:  Baseboard Management Controller (BMC) Interface Type enum (see @SMB38_TYPE_xxx)
SMB38_REV   db	?		; 05:  IPMI Specification Revision in BCD
SMB38_SLAVE db	?		; 06:  I2C Slave Address
SMB38_DEV   db	?		; 07:  NV Storage Device Address
SMB38_BASE  dq	?		; 08:  Base Address
SMB38_BAMII db	?		; 10:  Base Address Modifier & Interrupt Info (see SMB38_BAMII_REC)
SMB38_INTNO db	?		; 11:  Interrupt # for IPMI System Interface (00=unspecified/unsupported)

SMB38_STR ends


@SMB38_TYPE_UNK  equ	00h	; Unknown
@SMB38_TYPE_KCS  equ	01h	; Keyboard Controller Style
@SMB38_TYPE_SMIC equ	02h	; Server Mangement Interface Chip
@SMB38_TYPE_BT	 equ	03h	; Block Transfer


SMB38_BAMII_REC record	\
$SMB38_BAMII_REGSP:2,	\
$SMB38_BAMII_RSV5:1,	\
$SMB38_BAMII_LSBIT:1,	\
$SMB38_BAMII_INTINFO:1, \
$SMB38_BAMII_RSV2:1,	\
$SMB38_BAMII_IPOL:1,	\
$SMB38_BAMII_INTTRIG:1

@SMB38_BAMII_REGSP_BYTE      equ 00b ; Interface Registers are on successive byte boundaries
@SMB38_BAMII_REGSP_DWORD     equ 01b ; Interface Registers are on 32-byte boundaries
@SMB38_BAMII_REGSP_WORD      equ 10b ; Interface Registers are on 16-byte boundaries
@SMB38_BAMII_REGSP_RSV3      equ 11b ; (Reserved)
@SMB38_BAMII_LSBIT1	     equ 1   ; Address bit 0 is 1
@SMB38_BAMII_LSBIT0	     equ 0   ; Address bit 0 is 0
@SMB38_BAMII_INTINFO_SPEC    equ 1   ; Interrupt Info Specified
@SMB38_BAMII_INTINFO_NOTSPEC equ 0   ; Interrupt Info Not specified
@SMB38_BAMII_IPOL_ACTLOW     equ 0   ; Interrupt Polarity Active Low
@SMB38_BAMII_IPOL_ACTHIGH    equ 1   ; Interrupt Polarity Active High
@SMB38_BAMII_INTTRIG_EDGE    equ 0   ; Interrupt Trigger Mode Edge
@SMB38_BAMII_INTTRIG_LEVEL   equ 1   ; Interrupt Trigger Mode Level


; =========================== Type 39:	System Power Supply ==================

SMB39_STR struc 		; Type 39:  System Power Supply

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB39_GRP  db	?		; 04:  Power Unit Group
SMB39_LOC  db	?		; 05:  Location string
SMB39_DEV  db	?		; 06:  Device Name string
SMB39_MFR  db	?		; 07:  Manufacturer string
SMB39_SER  db	?		; 08:  Serial # string
SMB39_TAG  db	?		; 09:  Asset Tag # string
SMB39_PART db	?		; 0A:  Part # string
SMB39_REV  db	?		; 0B:  Revision Level string
SMB39_CAP  dw	?		; 0C:  Max Power Capacity in Watts (8000h = Unknown)
SMB39_CHAR dw	?		; 0E:  Power Supply Characteristics record (see SMB39_CHAR_REC)
SMB39_IVP  dw	?		; 10:  Input Voltage Probe Handle (Type 26)
SMB39_CD   dw	?		; 12:  Cooling Device Handle (Type 27)
SMB39_ICP  dw	?		; 14:  Input Current Probe Handle (Type 29)

SMB39_STR ends


SMB39_CHAR_REC record \
$SMB39_CHAR_RSV14:2,	\
$SMB39_CHAR_TYPE:4,	\
$SMB39_CHAR_STAT:3,	\
$SMB39_CHAR_RANGE:4,	\
$SMB39_CHAR_UNPL:1,	\
$SMB39_CHAR_PRES:1,	\
$SMB39_CHAR_REPL:1


@SMB39_CHAR_TYPE_OTHER	equ	0001b	; Other
@SMB39_CHAR_TYPE_UNK	equ	0010b	; Unknown
@SMB39_CHAR_TYPE_LIN	equ	0011b	; Linear
@SMB39_CHAR_TYPE_SW	equ	0100b	; Switching
@SMB39_CHAR_TYPE_BATT	equ	0101b	; Battery
@SMB39_CHAR_TYPE_UPS	equ	0110b	; UPS
@SMB39_CHAR_TYPE_CONV	equ	0111b	; Converter
@SMB39_CHAR_TYPE_REG	equ	1000b	; Regulator


@SMB39_CHAR_STAT_OTHER	equ	001b	; Other
@SMB39_CHAR_STAT_UNK	equ	010b	; Unknown
@SMB39_CHAR_STAT_OK	equ	011b	; OK
@SMB39_CHAR_STAT_NCRIT	equ	100b	; Non-critical
@SMB39_CHAR_STAT_CRIT	equ	101b	; Critical (off-line)


@SMB39_CHAR_RANGE_OTHER equ	0001b	; Other
@SMB39_CHAR_RANGE_UNK	equ	0010	; Unknown
@SMB39_CHAR_RANGE_MAN	equ	0011	; Manual
@SMB39_CHAR_RANGE_AUTO	equ	0100	; Auto-switch
@SMB39_CHAR_RANGE_WIDE	equ	0101	; Wide range
@SMB39_CHAR_RANGE_NA	equ	0110	; Not applicable


; =========================== Type 126:  Inactive ============================

SMB126_STR struc		; Type 126:  Inactive

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)
SMB126_DATA db	?		; 04:  Data

SMB126_STR ends


; =========================== Type 126:  End-of-Table ========================

SMB127_STR struc		; Type 127:  End-of-Table

	db	(type SMBHDR_STR) dup (?) ; Header (see SMBHDR_STR)

SMB127_STR ends


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -