modification to fit with Eric's older update
This commit is contained in:
parent
d96aab9e06
commit
64e3a29930
23 changed files with 62 additions and 51 deletions
|
|
@ -1,7 +1,5 @@
|
|||
option SIS540
|
||||
option USE_DOC_MIL
|
||||
option SMA_SIZE=0x90
|
||||
docipl northsouthbridge/sis/540/ipl.S
|
||||
raminit northsouthbridge/sis/540/raminit.inc
|
||||
|
||||
object southbridge.o
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ sis630ipl_start:
|
|||
xorw %dx, %dx # clear %dx, start of RAM
|
||||
movw $0x800, %si # point %si to CDSN Data area
|
||||
movw $0x1000, %di # point %di to CDSN Control area
|
||||
movw $DOC_SPL_START_BLK, %bp # start page of LinuxBIOS
|
||||
movw $DOC_SPL_START_PAGE, %bp # start page of LinuxBIOS
|
||||
|
||||
movb $0x84, %al # Reset DOC Millennium
|
||||
call doc_reset
|
||||
|
|
@ -276,7 +276,8 @@ doc_delay:
|
|||
|
||||
movw %di, %dx # save current destination
|
||||
incw %bp # increse current page number
|
||||
cmpw $128, %bp # moved 63 KB ??
|
||||
cmpw $(DOC_SPL_START_PAGE + DOC_SPL_SIZE_IN_PAGE), %bp
|
||||
# moved enough data ??
|
||||
jl read_next_page # no, read next page
|
||||
|
||||
sis630ipl_end:
|
||||
|
|
|
|||
|
|
@ -10,8 +10,13 @@
|
|||
#define DOC_STACK_SEG 0x0400
|
||||
#define SPL_RAM_SEG 0x8000
|
||||
|
||||
#define DOC_SPL_START_BLK 2 /* 0,1 for IPL */
|
||||
#define DOC_SPL_SIZE_IN_PAGE 126 /* 1 page = 512 bytes, total 63kB */
|
||||
#if defined(USE_DOC_2000_TSOP)
|
||||
#define DOC_SPL_START_PAGE 4 /* 0-3 for IPL (each of 1KB size) */
|
||||
#else /* defined (USE_DOC_MIL) */
|
||||
#define DOC_SPL_START_PAGE 2 /* 0,1 for IPL (each of 512B size) */
|
||||
#endif
|
||||
|
||||
#define DOC_SPL_SIZE_IN_PAGE 128 - DOC_SPL_START_PAGE /* 1 page = 512 bytes, total 63kB */
|
||||
|
||||
#define RET_LABEL(label) \
|
||||
jmp label##_done
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ void nvram_on()
|
|||
|
||||
}
|
||||
printk_debug("Now try to turn off shadow\n");
|
||||
#ifdef USE_DOC_MIL
|
||||
#if !defined(STD_FLASH)
|
||||
/* turn off nvram shadow in 0xc0000 ~ 0xfffff, i.e. accessing segment C - F
|
||||
is actually to the DRAM not NVRAM. For 512KB NVRAM case, this one should be
|
||||
disabled */
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
option SIS550
|
||||
option USE_DOC_MIL
|
||||
option SMA_SIZE=0xA0
|
||||
docipl northsouthbridge/sis/550/ipl.S
|
||||
raminit northsouthbridge/sis/550/raminit.inc
|
||||
|
||||
object southbridge.o
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ sis630ipl_start:
|
|||
xorw %dx, %dx # clear %dx, start of RAM
|
||||
movw $0x800, %si # point %si to CDSN Data area
|
||||
movw $0x1000, %di # point %di to CDSN Control area
|
||||
movw $DOC_SPL_START_BLK, %bp # start page of LinuxBIOS
|
||||
movw $DOC_SPL_START_PAGE, %bp # start page of LinuxBIOS
|
||||
|
||||
movb $0x84, %al # Reset DOC Millennium
|
||||
call doc_reset
|
||||
|
|
@ -289,7 +289,8 @@ doc_delay:
|
|||
|
||||
movw %di, %dx # save current destination
|
||||
incw %bp # increse current page number
|
||||
cmpw $128, %bp # moved 63 KB ??
|
||||
cmpw $(DOC_SPL_START_PAGE + DOC_SPL_SIZE_IN_PAGE), %bp
|
||||
# moved enough data ??
|
||||
jl read_next_page # no, read next page
|
||||
|
||||
sis630ipl_end:
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@
|
|||
#define DOC_STACK_SEG 0x0400
|
||||
#define SPL_RAM_SEG 0x8000
|
||||
|
||||
#ifdef USE_DOC_MIL_PLUS
|
||||
#define DOC_SPL_START_BLK 4 /* 0-3 for IPL (each of 1KB size) */
|
||||
#else
|
||||
#define DOC_SPL_START_BLK 2 /* 0,1 for IPL (each of 512B size) */
|
||||
#if defined(USE_DOC_2000_TSOP)
|
||||
#define DOC_SPL_START_PAGE 4 /* 0-3 for IPL (each of 1KB size) */
|
||||
#else /* defined (USE_DOC_MIL) */
|
||||
#define DOC_SPL_START_PAGE 2 /* 0,1 for IPL (each of 512B size) */
|
||||
#endif
|
||||
|
||||
#define DOC_SPL_SIZE_IN_PAGE 126 /* 1 page = 512 bytes, total 63kB */
|
||||
#define DOC_SPL_SIZE_IN_PAGE 128 - DOC_SPL_START_PAGE /* 1 page = 512 bytes, total 63kB */
|
||||
|
||||
#define RET_LABEL(label) \
|
||||
jmp label##_done
|
||||
|
|
|
|||
|
|
@ -34,9 +34,6 @@
|
|||
|
||||
#define NORTH_BRIDGE_BASE_ADDR 0x80000000
|
||||
|
||||
/* set new stack */
|
||||
movl $_estack, %esp
|
||||
|
||||
register_setting_start:
|
||||
movl $northbridge_init_table, %esi
|
||||
movl $(northbridge_init_table_end - northbridge_init_table), %ecx
|
||||
|
|
@ -45,10 +42,6 @@ register_setting_start:
|
|||
init_northbridge:
|
||||
lodsw (%esi), %ax # load the register address/value to %ax
|
||||
xchgb %al, %ah # exchange address/values for write_common
|
||||
call write_northbridge_register
|
||||
loopnz init_northbridge
|
||||
|
||||
jmp register_setting_end
|
||||
|
||||
write_northbridge_register:
|
||||
/* Input: AH - register number. AL - register value. */
|
||||
|
|
@ -68,8 +61,11 @@ write_common:
|
|||
addb %al, %dl
|
||||
movb %bl, %al
|
||||
outb %al, %dx
|
||||
ret # End of write_[lpc|pci]_reg
|
||||
|
||||
loopnz init_northbridge
|
||||
|
||||
jmp register_setting_end
|
||||
|
||||
#include "550_regs.inc"
|
||||
|
||||
register_setting_end:
|
||||
register_setting_end:
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ void nvram_on()
|
|||
}
|
||||
printk_debug("Now try to turn off shadow\n");
|
||||
|
||||
#ifdef USE_DOC_MIL
|
||||
#if !defined(STD_FLASH)
|
||||
/* turn off nvram shadow in 0xc0000 ~ 0xfffff, i.e. accessing segment C - F
|
||||
is actually to the DRAM not NVRAM. For 512KB NVRAM case, this one should be
|
||||
disabled */
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
option SIS630
|
||||
# option USE_DOC_MIL
|
||||
option SMA_SIZE=0xA0
|
||||
docipl northsouthbridge/sis/630/ipl.S
|
||||
raminit northsouthbridge/sis/630/raminit.inc
|
||||
|
||||
object southbridge.o
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ sis630ipl_start:
|
|||
xorw %dx, %dx # clear %dx, start of RAM
|
||||
movw $0x800, %si # point %si to CDSN Data area
|
||||
movw $0x1000, %di # point %di to CDSN Control area
|
||||
movw $DOC_SPL_START_BLK, %bp # start page of LinuxBIOS
|
||||
movw $DOC_SPL_START_PAGE, %bp # start page of LinuxBIOS
|
||||
|
||||
movb $0x84, %al # Reset DOC Millennium
|
||||
call doc_reset
|
||||
|
|
@ -293,7 +293,8 @@ doc_delay:
|
|||
|
||||
movw %di, %dx # save current destination
|
||||
incw %bp # increse current page number
|
||||
cmpw $128, %bp # moved 63 KB ??
|
||||
cmpw $(DOC_SPL_START_PAGE + DOC_SPL_SIZE_IN_PAGE), %bp
|
||||
# moved enough data ??
|
||||
jl read_next_page # no, read next page
|
||||
#endif /* STD_FLASH */
|
||||
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@
|
|||
#define DOC_STACK_SEG 0x0400
|
||||
#define SPL_RAM_SEG 0x8000
|
||||
|
||||
#ifdef USE_DOC_MIL_PLUS
|
||||
#define DOC_SPL_START_BLK 4 /* 0-3 for IPL (each of 1KB size) */
|
||||
#else
|
||||
#define DOC_SPL_START_BLK 2 /* 0,1 for IPL (each of 512B size) */
|
||||
#if defined(USE_DOC_2000_TSOP)
|
||||
#define DOC_SPL_START_PAGE 4 /* 0-3 for IPL (each of 1KB size) */
|
||||
#else /* defined (USE_DOC_MIL) */
|
||||
#define DOC_SPL_START_PAGE 2 /* 0,1 for IPL (each of 512B size) */
|
||||
#endif
|
||||
|
||||
#define DOC_SPL_SIZE_IN_PAGE 126 /* 1 page = 512 bytes, total 63kB */
|
||||
#define DOC_SPL_SIZE_IN_PAGE 128 - DOC_SPL_START_PAGE /* 1 page = 512 bytes, total 63kB */
|
||||
|
||||
#define RET_LABEL(label) \
|
||||
jmp label##_done
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ void nvram_on()
|
|||
}
|
||||
printk_debug("Now try to turn off shadow\n");
|
||||
|
||||
#ifdef USE_DOC_MIL
|
||||
#if !defined(STD_FLASH)
|
||||
/* turn off nvram shadow in 0xc0000 ~ 0xfffff, i.e. accessing segment C - F
|
||||
is actually to the DRAM not NVRAM. For 512KB NVRAM case, this one should be
|
||||
disabled */
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
option SIS730
|
||||
# option USE_DOC_MIL
|
||||
option SMA_SIZE=0xA0
|
||||
docipl northsouthbridge/sis/730/ipl.S
|
||||
raminit northsouthbridge/sis/730/raminit.inc
|
||||
|
||||
object southbridge.o
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ sis730ipl_start:
|
|||
xorw %dx, %dx # clear %dx, start of RAM
|
||||
movw $0x800, %si # point %si to CDSN Data area
|
||||
movw $0x1000, %di # point %di to CDSN Control area
|
||||
movw $DOC_SPL_START_BLK, %bp # start page of LinuxBIOS
|
||||
movw $DOC_SPL_START_PAGE, %bp # start page of LinuxBIOS
|
||||
|
||||
movb $0x84, %al # Reset DOC Millennium
|
||||
call doc_reset
|
||||
|
|
@ -293,7 +293,8 @@ doc_delay:
|
|||
|
||||
movw %di, %dx # save current destination
|
||||
incw %bp # increse current page number
|
||||
cmpw $128, %bp # moved 63 KB ??
|
||||
cmpw $(DOC_SPL_START_PAGE + DOC_SPL_SIZE_IN_PAGE), %bp
|
||||
# moved enough data ??
|
||||
jl read_next_page # no, read next page
|
||||
#endif /* STD_FLASH */
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,13 @@
|
|||
#define DOC_STACK_SEG 0x0400
|
||||
#define SPL_RAM_SEG 0x8000
|
||||
|
||||
#define DOC_SPL_START_BLK 2 /* 0,1 for IPL */
|
||||
#define DOC_SPL_SIZE_IN_PAGE 126 /* 1 page = 512 bytes, total 63kB */
|
||||
#if defined(USE_DOC_2000_TSOP)
|
||||
#define DOC_SPL_START_PAGE 4 /* 0-3 for IPL (each of 1KB size) */
|
||||
#else /* defined (USE_DOC_MIL) */
|
||||
#define DOC_SPL_START_PAGE 2 /* 0,1 for IPL (each of 512B size) */
|
||||
#endif
|
||||
|
||||
#define DOC_SPL_SIZE_IN_PAGE 128 - DOC_SPL_START_PAGE /* 1 page = 512 bytes, total 63kB */
|
||||
|
||||
#define RET_LABEL(label) \
|
||||
jmp label##_done
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ void nvram_on()
|
|||
}
|
||||
printk_debug("Now try to turn off shadow\n");
|
||||
|
||||
#ifdef USE_DOC_MIL
|
||||
#if !defined(STD_FLASH)
|
||||
/* turn off nvram shadow in 0xc0000 ~ 0xfffff, i.e. accessing segment C - F
|
||||
is actually to the DRAM not NVRAM. For 512KB NVRAM case, this one should be
|
||||
disabled */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
object fill_inbuf.o
|
||||
object rom_fill_inbuf.o
|
||||
object docmil_fill_inbuf.o
|
||||
#object docplus_fill_inbuf.o
|
||||
object tsunami_tigbus_rom_fill_inbuf.o
|
||||
object serial_fill_inbuf.o
|
||||
object tftp_fill_inbuf.o
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#if defined(USE_DOC_MIL) || defined(USE_DOC_MIL_PLUS)
|
||||
#if defined(USE_DOC_MIL) || defined(USE_DOC_2000_TSOP)
|
||||
|
||||
#include <cpu/p5/io.h>
|
||||
#include <printk.h>
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ mainboard pcchips/m810lmr
|
|||
# Enable Serial Console for debugging
|
||||
option SERIAL_CONSOLE=1
|
||||
|
||||
# Enable MicroCode update and L2 Cache init for PII and PIII
|
||||
#option UPDATE_MICROCODE
|
||||
#option CONFIGURE_L2_CACHE
|
||||
# use DOC MIL
|
||||
option USE_DOC_MIL
|
||||
docipl northsouthbridge/sis/730/ipl.S
|
||||
|
||||
# Use the internal VGA frame buffer device
|
||||
option HAVE_FRAMEBUFFER
|
||||
|
|
@ -20,8 +20,5 @@ linux /usr/src/linux
|
|||
|
||||
# Kernel command line parameters
|
||||
commandline root=/dev/hda1 console=ttyS0,115200 console=tty0 single
|
||||
# use DOC MIL
|
||||
option USE_DOC_MIL
|
||||
docipl northsouthbridge/sis/730/ipl.S
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,13 @@ target sis540
|
|||
# SiS 550 SoC demo mainboard
|
||||
mainboard sis/540
|
||||
|
||||
#Enable Serial Console for debugging
|
||||
option SERIAL_CONSOLE=1
|
||||
|
||||
# use DOC MIL
|
||||
option USE_DOC_MIL
|
||||
docipl northsouthbridge/sis/540/ipl.S
|
||||
|
||||
# Use the internal VGA frame buffer device
|
||||
option HAVE_FRAMEBUFFER
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,10 @@ target sis550
|
|||
# SiS 550 SoC demo mainboard
|
||||
mainboard sis/550
|
||||
|
||||
# use DOC MIL
|
||||
option USE_DOC_MIL
|
||||
docipl northsouthbridge/sis/550/ipl.S
|
||||
|
||||
# Use the internal VGA frame buffer device
|
||||
option HAVE_FRAMEBUFFER
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ target winfast
|
|||
mainboard leadtek/winfast6300
|
||||
|
||||
# Enable Serial Console for debugging
|
||||
option SERIAL_CONSOLE=1
|
||||
#option SERIAL_CONSOLE=1
|
||||
|
||||
# use DOC MIL
|
||||
option USE_DOC_MIL
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue