VirtualBox

Changeset 31 in vbox for trunk/src/VBox/Devices/PC/BIOS


Ignore:
Timestamp:
Jan 15, 2007 5:07:24 PM (18 years ago)
Author:
vboxsync
Message:

Move etherboot BIOS from 0xc8000...0xcffff to 0xcb000...0xcffff as it does not need more than 20KB and the VGA BIOS needs more than 32KB in future versions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/rombios.c

    r1 r31  
    120120//
    121121//   BCC Bug: find a generic way to handle the bug of #asm after an "if"  (fixed in 0.16.7)
     122
     123#ifdef VBOX
     124#include "DevPcBios.h"
     125#endif
    122126
    123127#define DEBUG_ROMBIOS      0
     
    78737877  // Check for boot from LAN first
    78747878  if (bootlan == 1) {
    7875     if (read_word(0xc800,0) == 0xaa55) {
     7879    if (read_word(VBOX_LANBOOT_SEG,0) == 0xaa55) {
    78767880      Bit16u pnpoff;
    78777881      // This is NOT a generic PnP implementation, but an Etherboot-specific hack.
    7878       pnpoff = read_word(0xc800,0x1a);
    7879       if (read_dword(0xc800,pnpoff) == 0x506e5024 && read_dword(0xc800,read_word(0xc800,pnpoff+0xe)) == 0x65687445) {
     7882      pnpoff = read_word(VBOX_LANBOOT_SEG,0x1a);
     7883      if (read_dword(VBOX_LANBOOT_SEG,pnpoff) == 0x506e5024 &&
     7884          read_dword(VBOX_LANBOOT_SEG,read_word(VBOX_LANBOOT_SEG,pnpoff+0xe)) == 0x65687445) {
    78807885        // Found PnP signature and Etherboot manufacturer string.
    78817886        print_boot_device(bootcd, bootlan, bootdrv);
     
    78847889    push es
    78857890    pusha
    7886     calli 0x0006,0xc800
     7891    calli 0x0006,VBOX_LANBOOT_SEG
    78877892    popa
    78887893    pop es
     
    1084110846
    1084210847#ifdef VBOX
    10843 #include "DevPcBios.h"
    1084410848// The DMI header
    1084510849.org 0xff40
     
    1084810852 ; calculate the DMI header checksum
    1084910853 db ( - ( 0x5f + 0x44 + 0x4d + 0x49 + 0x5f \
    10850          + ((DMI_TABLE_BASE      ) & 0xff) + ((DMI_TABLE_BASE >>  8) & 0xff) \
    10851          + ((DMI_TABLE_BASE >> 16) & 0xff) + ((DMI_TABLE_BASE >> 24) & 0xff) \
    10852          + ((DMI_TABLE_SIZE      ) & 0xff) + ((DMI_TABLE_SIZE >>  8) & 0xff) \
    10853          + ((DMI_TABLE_ENTR      ) & 0xff) + ((DMI_TABLE_ENTR >>  8) & 0xff) \
    10854          + DMI_TABLE_VER \
     10854         + ((VBOX_DMI_TABLE_BASE      ) & 0xff) + ((VBOX_DMI_TABLE_BASE >>  8) & 0xff) \
     10855         + ((VBOX_DMI_TABLE_BASE >> 16) & 0xff) + ((VBOX_DMI_TABLE_BASE >> 24) & 0xff) \
     10856         + ((VBOX_DMI_TABLE_SIZE      ) & 0xff) + ((VBOX_DMI_TABLE_SIZE >>  8) & 0xff) \
     10857         + ((VBOX_DMI_TABLE_ENTR      ) & 0xff) + ((VBOX_DMI_TABLE_ENTR >>  8) & 0xff) \
     10858         + VBOX_DMI_TABLE_VER \
    1085510859    )) & 0xff
    10856  dw DMI_TABLE_SIZE                    ; DMI tables length
    10857  dd DMI_TABLE_BASE                    ; DMI tables base
    10858  dw DMI_TABLE_ENTR                    ; DMI tables entries
    10859  db DMI_TABLE_VER                     ; DMI version
     10860 dw VBOX_DMI_TABLE_SIZE               ; DMI tables length
     10861 dd VBOX_DMI_TABLE_BASE               ; DMI tables base
     10862 dw VBOX_DMI_TABLE_ENTR               ; DMI tables entries
     10863 db VBOX_DMI_TABLE_VER                ; DMI version
    1086010864 db 0x00                              ; Just for alignment
    1086110865#endif
Note: See TracChangeset for help on using the changeset viewer.

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