modification to fit with Eric's older update

This commit is contained in:
Li-Ta Lo 2001-11-13 05:08:11 +00:00
commit 64e3a29930
23 changed files with 62 additions and 51 deletions

View file

@ -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

View file

@ -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:

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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:

View file

@ -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

View file

@ -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:

View file

@ -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 */

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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 */

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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