VirtualBox

Changeset 67668 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Jun 28, 2017 4:28:34 PM (7 years ago)
Author:
vboxsync
Message:

PDM: rip out the entire FakePCIBIOS support, no longer triggered from here
Devices/Bus: register magic port to trigger FakePCIBIOS
BIOS: disable the unneeded function for PCI resource/IRQ initialization (only partially used anyway) and use the magic port to trigger FakePCIBIOS

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/pcibios.inc

    r60422 r67668  
    9696                push    bp
    9797                mov     bp, sp
     98ifdef VBOX
     99                mov     eax,19200509
     100                mov     dx,410h
     101                out     dx,  eax
     102else
     103; This incomplete PCI resource setup code is less functional than the PCI
     104; resource assignment created by the fake PCI BIOS and is therefore disabled.
     105; Blindly enabling everything on the root bus (including bus mastering!) can
     106; only be called buggy. It causes the trouble with AMD PCNet which it then
     107; tries to work around, but that still contains a race.
    98108                mov     eax, 0E0000000h ; base for memory init
    99109                push    eax
     
    111121                jz      next_pci_dev
    112122
    113 ifndef VBOX ; This currently breaks restoring a previously saved state. */
     123ifndef VBOX ; This currently breaks restoring a previously saved state.
    114124                mov     dl, 4   ; disable i/o and memory space access
    115125                call    pcibios_init_sel_reg
     
    201211                cmp     bx, 0100h
    202212                jne     pci_init_io_loop1
     213endif ; !VBOX
    203214                mov     sp, bp
    204215                pop     bp
     
    230241                mov     ax, 0F000h
    231242                mov     ds, ax
     243ifndef VBOX
     244; this code works OK, but it's unnecessary effort since the fake PCI BIOS
     245; already configured the IRQ lines and the ELCR correctly
    232246                mov     dx, 04D0h ;; reset ELCR1 + ELCR2
    233247                mov     al, 0
     
    282296                mov     dl, 3Ch
    283297                call pcibios_init_sel_reg
    284                 mov     dx, PCI_CFG2 + 1 ; TODO: was #0x0cfd - is that right?
     298                mov     dx, PCI_CFG2 + 1 ; access config space at 3Dh
    285299                in      al, dx
    286300                and     al, 7
     
    332346                pop     bx
    333347pci_init_end:
     348endif
    334349                pop             bp
    335350                pop             ds
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