throbber
DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`American Megatrends Inc.
`Award Software International Inc.
`Dell Computer Corporation
`Intel Corporation
`Phoenix Technologies Ltd.
`SystemSoft Corporation
`
`Desktop Management BIOS Specification
`
`Version 2.0
`
`March 6, 1996
`
`This specification has been made available to the public. You are hereby granted the right to use,
`implement,reproduce and distribute this specification with the forgoing rights, at no charge. This specification is,
`and shall remain, the property of American Megatrends Inc. (“AMI”), Award Software International Inc.
`(“Award”), Dell Computer Corporation (“Dell”), Intel Corporation (“Intel”), Phoenix Technologies LTD
`("Phoenix") and SystemSoft Corporation (“SystemSoft”). No license under any patents of other intellectual
`property rights are granted either expressly or impliedly by the publication of this document by AMI, Award, Dell,
`Intel, Phoenix, and SystemSoft.
`NEITHER AMI, AWARD, DELL, INTEL, PHOENIX, NOR SYSTEMSOFT MAKE ANY
`REPRESENTATION OR WARRANTY REGARDING THIS SPECIFICATION OR ANY PRODUCT OR
`ITEM DEVELOPED BASED ON THIS SPECIFICATION. USE OF THIS SPECIFICATION FOR ANY
`PURPOSE IS AT THE RISK OF THE PERSON OR ENTITY USING IT. AMI, AWARD, DELL, INTEL,
`PHOENIX, AND SYSTEMSOFT DISCLAIM ALL EXPRESS AND IMPLIED WARRANTIES,
`INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
`FITNESS FOR A PARTICULAR PURPOSE AND FREEDOM FROM INFRINGEMENT. NEITHER AMI,
`AWARD, DELL, INTEL, PHOENIX, NOR SYSTEMSOFT WILL BE RESPONSIBLE FOR ANY
`DIRECT, INDIRECT, CONSEQUENTIAL OR OTHER DAMAGES RELATING TO THE USE OF THIS
`SPECIFICATION. WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, NEITHER AMI,
`AWARD, DELL, INTEL, PHOENIX, NOR SYSTEMSOFT MAKE ANY WARRANTY OF ANY KIND
`THAT ANY ITEM DEVELOPED BASED ON THIS SPECIFICATION, OR ANY PORTION OF IT, WILL
`NOT INFRINGE ANY COPYRIGHT, PATENT, TRADE SECRET OR OTHER INTELLECTUAL
`PROPERTY RIGHT OF ANY PERSON OR ENTITY IN ANY COUNTRY.
`
`Dmibios2
`
`1 of 49
`
`29 July, 1996
`
`SAMSUNG EX. 1012 - 1/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`Document Information
`
`The softcopy version of this specification, in Microsoft Word-for-Windows 6.0 format, is available as
`DMIB20.DOC via ftp://ftp.ptltd.com/pub/phoenix_docs/dmib20.doc or from the Phoenix Technologies World
`Wide Web site at http://www.ptltd.com/techs/specs.html.
`
`Document Revision History
`
`09/14/95
`Version 2.0D
`Version 2.0M 12/12/95
`
`Version 2.00
`
`03/06/96
`
`Initial Release of DRAFT COPY
`Final draft released, with the following changes:
`- Specified that dmiStorageBase (Function 50h) and NVStorageBase (Function
`55h) must be paragraph-aligned.
`- Added Command value to change a string to function 52h; Command
`enumeration values modified.
`- Removed redundant enumerations from Processor Family list
`- Corrected Memory Subsystem Example
`- Corrected/clarified Indexed I/O access-methods for event-log; Access Method
`enumeration values and Access Method Address union modified
`- Added clarifications to some of the event log types
`Final release, with the following changes:
`- Specified that all structures end with a terminating NULL, even if the
`formatted portion of the structure contains string-reference fields and all the
`string fields are set to 0.
`- Corrected the Memory Subsystem Example, handles are now correctly created
`with a ‘dw’.
`- Fixed formatting of some bit definition fields and function examples.
`
`Table Of Contents _______________________________
`
`1. OVERVIEW 4
`
`1.1 REFERENCES
`1.2 ENHANCEMENTS TO THE CURRENT BIOS ARCHITECTURE
`
`4
`4
`
`2. ACCESSING DMI INFORMATION 5
`
`2.1 CALLING CONVENTION
`2.2 DMI BIOS FUNCTIONS
`2.3 ERROR RETURN CODES
`2.4 DMI BIOS STRUCTURE ACCESS INTERFACE
`2.4.1 FUNCTION 50H – GET DMI INFORMATION
`2.4.2 FUNCTION 51H – GET DMI STRUCTURE
`2.4.3 FUNCTION 52H – SET DMI STRUCTURE
`2.5 STRUCTURE CHANGE NOTIFICATION INTERFACE
`2.5.1 FUNCTION 53H – GET STRUCTURE CHANGE INFORMATION
`2.6 CONTROL INTERFACE
`2.6.1 FUNCTION 54H – DMI CONTROL
`
`5
`5
`6
`7
`7
`8
`9
`12
`13
`15
`15
`
`Dmibios2
`
` 2 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 2/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`2.6.2 DMI_CONTROL_LOGGING CONTROL WORD
`2.7 GENERAL PURPOSE NONVOLATILE STORAGE INTERFACE
`2.7.1 FUNCTION 55H – GET GENERAL-PURPOSE NONVOLATILE INFORMATION
`2.7.2 FUNCTION 56H – READ GENERAL-PURPOSE NONVOLATILE DATA
`2.7.3 FUNCTION 57H – WRITE GENERAL-PURPOSE NONVOLATILE DATA
`
`16
`17
`18
`19
`20
`
`3. DMI BIOS STRUCTURES 22
`
`3.1 STRUCTURE STANDARDS
`3.1.1 STRUCTURE HEADER FORMAT
`3.1.2 TEXT STRINGS
`3.2 STRUCTURE DEFINITIONS
`3.2.1 BIOS INFORMATION (TYPE 0)
`3.2.2 SYSTEM INFORMATION (TYPE 1)
`3.2.3 BASE BOARD INFORMATION (TYPE 2)
`3.2.4 SYSTEM ENCLOSURE OR CHASSIS (TYPE 3)
`3.2.5 PROCESSOR INFORMATION (TYPE 4)
`3.2.6 MEMORY CONTROLLER INFORMATION (TYPE 5)
`3.2.7 MEMORY MODULE INFORMATION (TYPE 6)
`3.2.8 CACHE INFORMATION (TYPE 7)
`3.2.9 PORT CONNECTOR INFORMATION (TYPE 8)
`3.2.10 SYSTEM SLOTS (TYPE 9)
`3.2.11 ON BOARD DEVICES INFORMATION (TYPE 10)
`3.2.12 OEM STRINGS (TYPE 11)
`3.2.13 SYSTEM CONFIGURATION OPTIONS (TYPE 12)
`3.2.14 BIOS LANGUAGE INFORMATION (TYPE 13)
`3.2.15 GROUP ASSOCIATIONS (TYPE 14)
`3.2.16 SYSTEM EVENT LOG (TYPE 15)
`
`22
`22
`23
`24
`24
`26
`26
`26
`28
`31
`33
`36
`37
`40
`42
`43
`43
`43
`44
`45
`
`Dmibios2
`
` 3 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 3/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`1. Overview ________________________________
`
`Desktop Management Interface (DMI) is a new method of managing computers in an enterprise. The main
`component of DMI is the Management Information Format Database, or MIF. This database contains all the
`information about the computing system and its components. Using DMI, a system administrator can obtain the
`types, capabilities, operational status, installation date, and other information about the system components.
`
`The Desktop Management BIOS Specification documents a standard embedded tool-set to assist in the generation
`of a system MIF database.
`
`1.1 References
`
`Desktop Management Interface Specification, Version 1.0, April 29, 1994.
`DMTF PC Systems Standard MIF Definition, Version 1.3, March 1, 1995.
`DMTF Server Standard MIF Definition, Draft Version 0.3, March 1, 1995
`Plug and Play BIOS Specification, Version 1.0A, May 5, 1994
`PCI BIOS Specification, Version 2.1, August 26, 1994
`
`1.2 Enhancements to the current BIOS architecture
`
`The DMI specification requires that certain information about the System Board be made available to an
`applications program. For systems implementing DMI BIOS Extensions, user-defined information will be located
`in a series of data structures. These data structures are accessed by the method described in Section 2.
`
`Vendors may decide to include all or any part of this information in their designs. For a complete solution that is
`compatible with the Service Layer distributed by the DMTF, vendors must also implement component
`instrumentation. This instrumentation allows the Service Layer to gain access to the information stored in the
`BIOS. In addition, a MIF file must be provided that describes that data that is provided by the BIOS and the
`method of accessing that data. As a minimum, the PC Standard System MIF provided by the DTMF can be used
`for this purpose.
`
`Dmibios2
`
` 4 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 4/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`2. Accessing DMI Information
`
`2.1 Calling Convention
`
`To prevent the proliferation of interfaces for accessing information embedded in the System BIOS, the Desktop
`Management BIOS Specification will follow the System Device Node model used by Plug and Play, and use Plug
`and Play BIOS functions to access DMI information. Plug and Play functions 50h-5Fh have been assigned to the
`DMI BIOS Interface.
`Each of the DMI BIOS Plug-and-Play functions is available both in real-mode and 16-bit protected-mode. A
`function called in 16-bit protected-mode supports both 16-bit and 32-bit stack segments.
`
`Description
`
`Required/Optional
`
`2.2 DMI BIOS Functions
`
`This table defines the current DMI BIOS Functions.
`
`DMI BIOS Function
`
`GET_DMI_INFORMATION
`
`Function
`Number
`50h
`
`GET_DMI_STRUCTURE
`
`SET_DMI_STRUCTURE
`
`GET_DMI_STRUCTURE_
`CHANGE_INFO
`
`DMI_CONTROL
`GET_GPNV_INFORMATION
`
`READ_GPNV_DATA
`
`WRITE_GPNV_DATA
`
`Reserved for Future Use
`
`Returns the Number of
`Structures, the Size of the Largest
`Structure, and the DMI BIOS
`Revision.
`Copies the information for the
`specified DMI Structure into the
`buffer specified by the caller.
`Copies the information for the
`specified DMI structure from the
`buffer specified by the caller.
`Returns the DMI Structure
`Change Information into a 16-
`byte buffer specified by the caller.
`
`51h
`
`52h
`
`53h
`
`54h
`55h
`
`56h
`
`Controls a system action
`Returns information about the
`General Purpose Non-Volatile
`Storage Area
`Reads the entire specified GPNV
`contents into a buffer specified by
`the caller.
`Copies the contents of the user
`specified buffer into the GPNV.
`The function causes the entire
`specified GPNV to be updated.
`58h-5Fh Reserved, will return
`DMI_FUNCTION_NOT_
`SUPPORTED.
`
`57h
`
`Required
`
`Required
`
`Optional
`
`Required for
`Dynamic Structure-
`change Notification
`Support
`Optional
`Required for GPNV
`Support
`
`Required for GPNV
`Support
`
`Required for GPNV
`Support
`
`Reserved
`
`Dmibios2
`
` 5 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 5/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`2.3 Error Return Codes
`
`After the call has been made, the following return codes are available in the AX Register.
`
`Return Code
`DMI_SUCCESS
`DMI_UNKNOWN_FUNCTION
`DMI_FUNCTION_NOT_SUPPORTED
`DMI_INVALID_HANDLE
`
`DMI_BAD_PARAMETER
`
`DMI_INVALID_SUBFUNCTION
`
`DMI_NO_CHANGE
`
`DMI_ADD_STRUCTURE_FAILED
`
`DMI_READ_ONLY
`
`DMI_LOCK_NOT_SUPPORTED
`
`DMI_CURRENTLY_LOCKED
`
`DMI_ INVALID_LOCK
`
`Value
`00h
`81h
`82h
`83h
`
`84h
`
`85h
`
`86h
`
`87h
`
`8Dh
`
`90h
`
`91h
`
`92h
`
`Description
`Function Completed Successfully
`Unknown, or invalid, function number passed
`The function is not supported on this system
`DMI Structure number/handle passed is invalid or out
`of range.
`The function detected invalid parameter or, in the case
`of a “Set DMI Structure” request, detected an invalid
`value for a to-be-changed structure field.
`The SubFunction parameter supplied on a DMI Control
`function is not supported by the system BIOS.
`There are no changed DMI structures pending
`notification.
`Returned when there was insufficient storage space to
`add the desired structure.
`A “Set DMI Structure” request failed because one or
`more of the to-be-changed structure fields are read-only.
`The GPNV functions do not support locking for the
`specified GPNV handle.
`The GPNV lock request failed - the GPNV is already
`locked.
`The caller has failed to present the predefined
`GPNVLock value which is expected by the BIOS for
`access of the GPNV area.
`
`Dmibios2
`
` 6 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 6/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`2.4 DMI BIOS Structure Access Interface
`
`2.4.1 Function 50h – Get DMI Information
`
`Synopsis:
`short FAR (*entryPoint)(Function, dmiBIOSRevision, NumStructures, StructureSize, dmiStorageBase,
`dmiStorageSize, BiosSelector);
`/* PnP BIOS Function 50h */
`/* Revision of the DMI BIOS Extensions */
`/* Maximum Number of Structures the BIOS will return */
`/* Size of largest DMI Structure */
`/* 32-bit physical base address for memory-mapped */
`/* DMI data */
`/* Size of the memory-mapped DMI data */
`/* PnP BIOS readable/writable selector */
`
`short Function;
`unsigned char FAR *dmiBIOSRevision;
`unsigned short FAR *NumStructures;
`unsigned short FAR *StructureSize;
`unsigned long FAR *dmiStorageBase;
`
`unsigned short FAR *dmiStorageSize;
`unsigned short BiosSelector;
`
`Description:
`Required for DMI BIOS Support. This function will return the revision of the DMI BIOS Extensions and the
`maximum number of DMI structures that the system BIOS will return information for in NumStructures. These
`structures represent the DMI information that is embedded in the System BIOS. In addition to the number of
`structures, the system BIOS will return the size, in bytes, of the largest DMI structure (and all of its supporting
`data) in StructureSize. This information can be utilized by the system software to determine the amount of
`memory required to get all of the DMI structures. Note: The system BIOS may return a value that is larger than
`the actual largest DMI structure to facilitate hot docking or other dynamic DMI information. The BIOS may also
`return fewer than NumStructures when the structures are retrieved using Function 51h. If the BIOS does not
`support DMI capability, DMI_FUNCTION_NOT_SUPPORTED (82h) will be returned.
`
`The dmiBIOSRevision parameter indicates compliance with a revision of this specification. It is a BCD value
`where the upper nibble indicates the major version and the lower nibble the minor version. For revision 2.0 the
`returned value will be 20h.
`
`dmiStorageBase is updated by the BIOS call with the paragraph-aligned, 32-bit absolute physical base address of
`any memory-mapped DMI structure information. If non-zero, this value allows the caller to construct a 16-bit data
`segment descriptor with a limit of dmiStorageSize and read/write access for subsequent input to functions 51h to
`54h. If dmiStorageBase is 0, protected-mode mapping is not required the DMI structure information and the
`dmiStorageSize return value has no meaning.
`
`The BiosSelector parameter enables the system BIOS, if necessary, to update system variables that are contained in
`the system BIOS memory space. If this function is called from protected mode, the caller must create a data
`segment descriptor using the 16-bit Protected Mode data segment base address specified in the Plug and Play
`Installation Check data structure, a limit of 64KB, and the descriptor must be read/write capable. If this function is
`called from real mode, BiosSelector should be set to the Real mode 16-bit data segment address as specified in the
`Plug and Play Installation Check Structure. Refer to section 4.4 of the Plug and Play BIOS Specification revision
`1.0a for more information on the Plug and Play Installation Check Structure and the elements that make up the
`structure.
`This function is available in real mode and 16-bit protected mode.
`
`Dmibios2
`
` 7 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 7/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`Returns:
`If successful - DMI_SUCCESS
`If an Error (Bit 7 set) or a Warning occurred the Error Code will be returned in AX, the FLAGS and all other
`registers will be preserved.
`
`Example:
`The following example illustrates how the ‘C’ style call interface could be made from an assembly language
`module:
`push
`push
`push
`push
`push
`push
`push
`push
`push
`push
`push
`push
`call
`add
`cmp
`jne
`
`; Pointer to DMIStorageSize
`
`; Pointer to DMIStorageBase
`
`; Pointer to StructureSize
`
`; Pointer to NumStructures
`
`BiosSelector
`segment/selector of dmiStorageSize
`offset of dmiStorageSize
`segment/selector of dmiStorageBase
`offset of dmiStorageBase
`segment/selector of StructureSize
`offset of StructureSize
`segment/selector of NumStructures
`offset NumStructures
`segment/selector of dmiBIOSRevision ; Pointer to DMIBIOSRevision
`offset dmiBIOSRevision
`GET_DMI_INFORMATION
`FAR PTR entryPoint
`sp, 24
`ax, DMI_SUCCESS
`error
`
`; Function number, 50h
`
`; Clean up stack
`; Function completed successfully?
`
`2.4.2 Function 51h – Get DMI Structure
`
`Synopsis:
`short FAR (*entryPoint)(Function, Structure, dmiStrucBuffer, dmiSelector, BiosSelector);
`short Function;
`/* PnP BIOS Function 51h */
`unsigned short FAR *Structure;
`/* Structure number/handle to retrieve*/
`unsigned char FAR *dmiStrucBuffer;
`/* Pointer to buffer to copy structure data to */
`unsigned short dmiSelector;
`/* DMI data read/write selector */
`unsigned short BiosSelector;
`/* PnP BIOS readable/writable selector */
`
`Description:
`Required for DMI BIOS Support. This function will copy the information for the specified DMI Structure into the
`buffer specified by the caller. The Structure argument is a pointer to the unique DMI Structure number (handle).
`If Structure contains zero, the system BIOS will return the first DMI Structure. The dmiStrucBuffer argument
`contains the pointer to the caller’s memory buffer. If the function returns either DMI_SUCCESS or
`DMI_INVALID_HANDLE, Structure is updated with either the next sequential structure handle or the end-of-list
`indicator 0FFFFh.
`
`The protected-mode read/write selector dmiSelector has base equal to dmiStorageBase and limit of at least
`dmiStorageSize — so long as the dmiStorageBase value returned from Function 50h was non-zero.
`
`The BiosSelector parameter enables the system BIOS, if necessary, to update system variables that are contained in
`the system BIOS memory space. If this function is called from protected mode, the caller must create a data
`segment descriptor using the 16-bit Protected Mode data segment base address specified in the Plug and Play
`Installation Check data structure, a limit of 64KB, and the descriptor must be read/write capable. If this function is
`called from real mode, BiosSelector should be set to the Real mode 16-bit data segment address as specified in the
`Plug and Play Installation Check Structure. Refer to section 4.4 of the Plug and Play BIOS Specification revision
`1.0a for more information on the Plug and Play Installation Check Structure and the elements that make up the
`structure.
`
`Dmibios2
`
` 8 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 8/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`This function is available in real mode and 16-bit protected mode.
`
`Returns:
`If successful - DMI_SUCCESS
`If an Error (Bit 7 set) or a Warning occurred, the Error Code will be returned in AX, the FLAGS and all other
`registers will be preserved
`
`Example:
`The following example illustrates how the ‘C’ style call interface could be made from an assembly language
`module:
`
`push
`push
`push
`push
`push
`push
`push
`call
`add
`cmp
`jne
`
`BiosSelector
`dmiSelector
`segment/selector of dmiStrucBuffer; Pointer to dmiStrucBuffer
`offset of dmiStrucBuffer
`segment/selector of Structure
`offset of Structure
`GET_ DMI_STRUCTURE
`FAR PTR entryPoint
`sp, 14
`ax, DMI_SUCCESS
`error
`
`; Clean up stack
`; Function completed successfully?
`
`; Pointer to Structure
`
`; Function number, 51h
`
`2.4.3 Function 52h – Set DMI Structure
`
`Synopsis:
`short FAR (*entryPoint)(Function, dmiDataBuffer, dmiWorkBuffer, Control, dmiSelector, BiosSelector)
`short Function;
`/* PnP BIOS Function 52h */
`unsigned char FAR *dmiDataBuffer;
`/* Pointer to buffer containing new/change data */
`unsigned char FAR *dmiWorkBuffer;
`/* Pointer to work buffer area for the BIOS */
`unsigned char Control;
`/* Conditions for performing operation */
`unsigned short dmiSelector;
`/* DMI data read/write selector */
`unsigned short BiosSelector;
`/* PnP BIOS readable/writeable selector */
`
`Description:
`Optional. This function will set the DMI structure identified by the type (and possibly handle) found in the DMI
`structure header in the buffer pointed to by dmiDataBuffer. Values that the BIOS allows to be set in the supplied
`structure will either be updated by the call, or will cause the BIOS to perform some defined action (such as
`enabling a hardware option, etc.).
`
` Unless otherwise specified, all structures and structure values defined in Section 3, DMI BIOS Structures, are
`read-only and cannot be set. Attempts to set these structures will return a DMI_READ_ONLY error. A structure
`field that is composed of read/write and read-only subfields can still be set -- so long as the read-only portion of the
`field is unmodified. Attempting to write to a read-only subfield will also cause a DMI_READ_ONLY to be
`returned.
`
`Dmibios2
`
` 9 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 9/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`The dmiDataBuffer parameter references a structure of the following format:
`
`Offset
`00h
`
`Field
`Command
`
`01h
`
`FieldOffset
`
`02h
`
`ChangeMask
`
`06h
`
`ChangeValue
`
`0Ah
`
`DataLength
`
`0Ch
`
`StructureHeader
`
`10h
`
`StructureData
`
`Length
`BYTE
`
`WORD
`
`Var
`
`01h
`
`02h
`
`03h
`
`04h
`
`05h
`
`BYTE
`
`Description
`Identifies the structure-setting operation to be performed, one of:
`00h
`A single byte of information is to be changed in the structure
`identified by StructureHeader
`A word (two bytes) of information is to be changed in the
`structure identified by StructureHeader
`A double-word (four bytes) of information is to be changed in
`the structure identified by StructureHeader
`The structure identified by StructureHeader is to be added to
`the DMI structure pool
`The structure identified by StructureHeader is to be deleted
`from the DMI structure pool
`A string’s value is to be changed in the structure identified by
`StructureHeader.
`06h-0FFh Reserved for future assignment by this specification.
`For a structure change Command, identifies the starting offset within
`the changed structure’s fixed data of the to-be-changed item. For a
`string-value change Command, identifies the offset within the
`structure’s fixed data associated with the string’s “number”. This field
`is ignored for all other Commands.
`DWORD For a structure-change Command, identifies the ANDing mask to be
`applied to the existing structure data prior to applying the
`ChangeValue. The number of significant bytes within this area is
`defined by the Command. This field is ignored for all other Commands.
`DWORD For a structure-change Command, identifies the data value to be ORed
`with the existing structure data – after applying the ChangeMask. The
`number of significant bytes within this area is defined by the Command.
`This field is ignored for all other Commands.
`For a structure-add Command, identifies the full length of the to-be-
`added structure. The length includes the structure header, the fixed-
`length portion of the structure, and any string data which accompanies
`the added structure – including all null-terminators. For a string-value
`change Command, identifies the length of the string data (including the
`null-terminator); if the length is 1, the current string is deleted. This
`field is ignored for all other Commands.
`4 BYTEs Contains the structure header (see Structure Header Format on page 22)
`of the structure to be added, changed, or deleted.
`For a structure-add Command, contains the data to be associated with
`the DMI BIOS Structure identified by the StructureHeader. For a
`string-value change Command, contains the string’s data (the number
`of characters is identified by DataLength). This field is ignored for all
`other Commands.
`
`The dmiWorkBuffer parameter references a work buffer for use by the BIOS in performing the request; the contents
`of the buffer are destroyed by the BIOS’ processing. This work buffer must be read/write and sized to hold the
`entire DMI structure pool, based on the maximum structure-size information (StructureSize * NumStructures)
`
`Dmibios2
`
` 10 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 10/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`returned by Function 50h – Get DMI Information (see page 7) plus the size of any structure to be added by the
`request.
`
`The Control flag provides a mechanism for indicating to the BIOS whether the set request is to take effect
`immediately, or if this is a check to validate the to-be-updated data.
`Control is defined as:
`Bit 0
`
`Bits 1:7
`
`0 = Do not set the specified structure, but validate its parameters.
`1 = Set the structure immediately.
`Reserved, must be 0.
`
`If bit 0 of Control is 0, then the dmiDataBuffer values are checked for validity. If any are not valid, then the
`function returns DMI_BAD_PARAMETER; if any read-only field is modified, the function returns
`DMI_READ_ONLY. Validity checking is useful to determine if the BIOS supports setting a structure field to a
`particular value – or whether the BIOS supports writing to a specific structure field. For example, it may be useful
`for an OEM to determine beforehand whether the OEM's BIOS supports a "Reboot to Diagnostics Now" setting in
`an OEM-defined structure.
`
`The protected-mode read/write selector dmiSelector has base equal to dmiStorageBase and a limit of at least
`dmiStorageSize, so long as the dmiStorageBase returned from Function 50h – Get DMI Information was non-zero.
`
`The BiosSelector parameter enables the system BIOS, if necessary, to update system variables that are contained in
`the system BIOS memory space. If this function is called from protected mode, the caller must create a data
`segment descriptor using the 16-bit Protected Mode data segment base address specified in the Plug and Play
`Installation Check data structure, a limit of 64KB, and the descriptor must be read/write capable. If this function is
`called from real mode, BiosSelector should be set to the Real mode 16-bit data segment address as specified in the
`Plug and Play Installation Check Structure. Refer to section 4.4 of the Plug and Play BIOS Specification revision
`1.0a for more information on the Plug and Play Installation Check Structure and the elements that make up the
`structure.
`
`This function is available in real mode and 16-bit protected mode.
`
`Note: If the system BIOS supports structure-change notification, a structure-change event will be issued by the
`BIOS upon its successful completion of a structure-setting (rather than validation) function call. See Structure
`Change Notification Interface on page 12 for more information.
`
`Returns:
`If successful - DMI_SUCCESS
`If an error occurred, the Error Code will be returned in AX. The FLAGS and all other registers will be preserved.
`
`Errors:
`DMI_BAD_PARAMETER
`DMI_READ_ONLY
`
`DMI_ADD_STRUCTURE_FAILED
`
`DMI_INVALID_HANDLE
`
`A parameter contains an invalid or unsupported value.
`A parameter is read-only and differs from the present value –
`an attempt was made to modify a read-only value.
`The desired structure could not be added due to insufficient storage
`space.
`For an add (03h) Command, the structure handle present in the
`StructureHeader already exists or, for a change (00h to 02h and 05h)
`or delete (04h) Command, the structure handle does not exist.
`
`Dmibios2
`
` 11 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 11/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`Example:
`The following example illustrates how the 'C' style call interface could be made from an assembly language
`module:
`
`push
`push
`push
`push
`push
`push
`push
`push
`call
`add
`cmp
`jne
`
`BiosSelector
`dmiSelector
`Control
`segment/selector of dmiWorkBuffer
`offset of dmiWorkBuffer
`segment/selector of dmiDataBuffer
`offset of dmiDataBuffer
`SET_DMI_STRUCTURE
`FAR PTR entryPoint
`sp, 16
`ax, DMI_SUCCESS
`error
`
`;pointer to BIOS temporary buffer
`
`; pointer to structure
`
`; Function number, 52h
`
`; clean stack
`; Successful?
`; No, go handle error
`
`2.5 Structure Change Notification Interface
`
`Certain classes of systems may provide the capability for the addition or removal of system devices while the
`system unit is powered on, such as inserting a Notebook unit into a Docking Station. System BIOS support is
`necessary for providing DMI Structure Change Notification accessible to system software so that when devices are
`added or removed the system software will comprehend any changes in the DMI BIOS Structures. Structure
`Change Notification can be implemented as either a polled method or as asynchronous Plug-and-Play events. For
`information on how Plug-and-Play event notification is accessed, see section 4.6 of the Plug and Play BIOS
`Specification revision 1.0a.
`
`When system software is notified on an event by either mechanism, it can then call the BIOS runtime function
`(Plug and Play BIOS Function 3 - Get Event) to get the type of event. In addition to the events defined in the Plug
`and Play BIOS Specification, the following event has been defined.
`
`Note: Some DMI structure values might be inherently changing (e.g. an OEM-specific structure which returns
`system temperature and voltage values). Due to the frequency of the values’ change, the BIOS might not return
`Structure Change status for this type of structure.
`
`DMI_STRUCTURE_CHANGE_EVENT
`
`7FFFh
`
`This message indicates that there has been a change in the DMI Information being maintained by the System
`BIOS. Upon receiving a DMI_STRUCTURE_CHANGE_EVENT, system software can call the BIOS runtime
`function 53h (Get Structure Change Information) to determine the exact cause of the DMI structure-change event.
`
`Dmibios2
`
` 12 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 12/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`2.5.1 Function 53h – Get Structure Change Information
`
`Synopsis:
`short FAR (*entryPoint)(Function, dmiChangeStructure, dmiSelector, BiosSelector);
`short Function;
`/* PnP BIOS Function 53h */
`unsigned char FAR *dmiChangeStructure;
`/* Pointer to DMI Change structure */
`unsigned short dmiSelector;
`/* DMI data read/write selector */
`unsigned short BiosSelector;
`/* PnP BIOS readable/writable selector */
`
`Description:
`Required for DMI BIOS Dynamic Structure Change Notification Support. This function will allow system
`software to get information about what type of DMI structure-change occurred. The DMI structure-change
`information will be returned in the 16-byte memory buffer pointed to by dmiChangeStructure in the following
`format:
`
`Field
`DMI Change Status
`DMI Change Type
`DMI Structure Handle
`Reserved
`
`Offset
`00h
`01h
`02h
`04h-0Fh
`
`Length
`BYTE
`BYTE
`WORD
`12 BYTEs
`
`Value
`ENUM
`Bit Field
`Varies
`00h
`
`DMI Change Status:
`00h
`No Change
`01h
`Other
`02h
`Unknown
`03h
`Single DMI Structure Affected
`04h
`Multiple DMI Structures Affected
`05h - 0FFh
`Reserved
`
`DMI Change Type:
`Bit 0
`One or more structures was changed, when 1.
`Bit 1
`One or more structures was added, when 1. See “Function 52h – Set DMI Structure”
`for information about adding DMI structures.
`Reserved, must be 0
`
`Byte 2:7
`
`If DMI Change Status 03h (Single Structure Affected) is returned, the number (or handle) of the affected structure
`is present in the "DMI Structure Handle" field; DMI Change Type identifies whether the structure was changed
`(01h) or added (02h).
`
`If DMI Change Status 04h (Multiple DMI Structures Affected) is returned, the caller must enumerate all the
`structures to determine what was changed and/or added. DMI Change Type identifies whether multiple structures
`were changed (01h), multiple structures were added (02h), or structures were both changed and added (03h).
`
`The DMI Change Status Byte remains valid until Function 53h is called. The calling of Function 53h will reset the
`DMI Change Status Byte to be reset to zero. If the call is issued in the absence of a DMI event, the function returns
`error code 86h (DMI_NO_CHANGE).
`
`The protected-mode read/write selector dmiSelector has base equal to dmiStorageBase and limit of at least
`dmiStorageSize — so long as the dmiStorageBase value returned from Function 50h was non-zero.
`
`Dmibios2
`
` 13 of 49 29 July, 1996
`
`SAMSUNG EX. 1012 - 13/49
`
`

`

`DMI BIOS Specification
`
` DRAFT COPY
`
` Version 2.0
`
`The BiosSelector param

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket