This patch enables booting of ADLO on a 440bx chipset.
cd to freebios/util/ADLO and do a 'patch < loader_440bx.diff'
--
Richard A. Smith
rsmith@bitworks.com
*** ../../../freebios_cvs/util/ADLO/loader.s Sun Nov 24 20:07:53 2002
--- loader.s Thu May 1 13:52:46 2003
***************
*** 47,62 ****
;*****************************************************
nop
nop
;*****************************************************
; B) shadow - ON (enable/read/write)
! mov eax, #0x80000070
! mov dx, #0x0cf8
! out dx, eax
!
! mov eax, #0xFFFFFFFF
! mov dx, #0x0cfc
! out dx, eax
;*****************************************************
nop
--- 47,99 ----
;*****************************************************
nop
nop
+
+ ; Outputs a value to PCI config space
+ ; put the bus,dev,function,offset in eax
+ ; and the byte value in dl then call this macro
+
+ MACRO PCI_CONFIG_WRITE_BYTE
+ shl edx, #8
+ mov dl, al
+ and dl, #3
+ shl edx, #16
+ or eax, #0x80000000
+ and eax, #0xfffffffc
+ mov dx, #0x0cf8
+ out dx, eax
+ shr edx, #16
+ mov al, dh
+ mov dh, #0
+ add edx, #0x0cfc
+ out dx, al
+ MEND
+
;*****************************************************
; B) shadow - ON (enable/read/write)
! ; This is orginal shadowing setup code
! ; Works on the Matsonic 7308e mainboard
! ;mov eax, #0x80000070
! ;mov dx, #0x0cf8
! ;out dx, eax
!
! ;mov eax, #0xFFFFFFFF
! ;mov dx, #0x0cfc
! ;out dx, eax
!
! ; This enables read/write shadowing for the 0x0f0000 -
! ; 0x0fffff range and the 0x0C0000 - 0x0cffff range
! ; for the 440bx chipset.
!
! mov eax, #0x59
! mov edx, #0x30
! PCI_CONFIG_WRITE_BYTE
! mov eax, #0x5A
! mov edx, #0x33
! PCI_CONFIG_WRITE_BYTE
! mov eax, #0x5b
! mov edx, #0x33
! PCI_CONFIG_WRITE_BYTE
;*****************************************************
nop