VirtualBox

vbox的更動 9440 路徑 trunk/src/VBox/Devices/PC


忽略:
時間撮記:
2008-6-5 下午04:48:03 (16 年 以前)
作者:
vboxsync
訊息:

Added SMBIOS header for DMI data to make Vista and Solaris recognize the data.

位置:
trunk/src/VBox/Devices/PC
檔案:
修改 3 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Devices/PC/BIOS/rombios.c

    r8631 r9440  
    1157211572
    1157311573#ifdef VBOX
     11574// The SMBIOS header
     11575.org 0xff30
     11576.align 16
     11577 db   0x5f, 0x53, 0x4d, 0x5f          ; "_SM_" signature
     11578 ; calculate Entry Point Structure checksum - note that we already
     11579 ; know the checksum for the DMI header paragraph is zero
     11580       db ( - ( 0x5f + 0x53 + 0x4d + 0x5f \
     11581               + 0x1f \
     11582               + ((VBOX_SMBIOS_MAJOR_VER    ) & 0xff) + ((VBOX_SMBIOS_MINOR_VER    ) & 0xff) \
     11583               + ((VBOX_SMBIOS_MAXSS        ) & 0xff) + ((VBOX_SMBIOS_MAXSS   >>  8) & 0xff) \
     11584          )) & 0xff
     11585 db 0x1f                              ; EPS length - defined by standard
     11586 db VBOX_SMBIOS_MAJOR_VER             ; SMBIOS major version
     11587 db VBOX_SMBIOS_MINOR_VER             ; SMBIOS minor version
     11588 dw VBOX_SMBIOS_MAXSS                 ; Maximum structure size
     11589 db 0x00                              ; Entry point revision
     11590 db 0x00, 0x00, 0x00, 0x00, 0x00
     11591
    1157411592// The DMI header
    11575 .org 0xff40
    11576 .align 16
    1157711593 db   0x5f, 0x44, 0x4d, 0x49, 0x5f    ; "_DMI_" signature
    1157811594 ; calculate the DMI header checksum
  • trunk/src/VBox/Devices/PC/DevPcBios.cpp

    r9434 r9440  
    963963    *pszStr++                    = '\0';
    964964
     965    /* End-of-table marker - includes padding to account for fixed table size. */
     966    PDMIHDR pEndOfTable          = (PDMIHDR)pszStr;
     967    pEndOfTable->u8Type          = 0x7f;
     968    pEndOfTable->u8Length        = cbMax - ((char *)pszStr - (char *)pTable) - 2;
     969    pEndOfTable->u16Handle       = 0xFFFF;
     970
    965971    /* If more fields are added here, fix the size check in STRCPY */
    966972
     
    980986    return VINF_SUCCESS;
    981987}
    982 AssertCompile(VBOX_DMI_TABLE_ENTR == 2);
     988AssertCompile(VBOX_DMI_TABLE_ENTR == 3);
    983989
    984990
  • trunk/src/VBox/Devices/PC/DevPcBios.h

    r8155 r9440  
    2323#define DEV_PCBIOS_H
    2424
    25 #define VBOX_DMI_TABLE_ENTR          2
     25#define VBOX_DMI_TABLE_ENTR          3
    2626#define VBOX_DMI_TABLE_SIZE          0x100 /* XXX make this variable */
    2727#define VBOX_DMI_TABLE_BASE          0xe1000
    28 #define VBOX_DMI_TABLE_VER           0x23
     28#define VBOX_DMI_TABLE_VER           0x25
     29
     30#define VBOX_SMBIOS_MAJOR_VER        2
     31#define VBOX_SMBIOS_MINOR_VER        5
     32#define VBOX_SMBIOS_MAXSS            0xff   /* Not very accurate */
    2933
    3034#define VBOX_MPS_TABLE_BASE          0xe1100
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette