diff --git a/src/lib/linuxbiosmain.c b/src/lib/linuxbiosmain.c index bec7ff28ad..e8974d6151 100644 --- a/src/lib/linuxbiosmain.c +++ b/src/lib/linuxbiosmain.c @@ -109,7 +109,7 @@ ttys0_rx_line(buffer, &buflen); printk("TFTP init complete (%d)\n",buflen); buflen = 512; // I know, not it's purpose, // but it isn't being used at this point. - bufptr = initrd_start = 0x0400000; + bufptr = (char *) initrd_start = 0x0400000; while(buflen == 512) { buflen = tftp_fetchone(bufptr); #ifdef DEBUG_TFTP @@ -117,7 +117,7 @@ printk("Got block, bufptr = %lu, size= %u\n",bufptr, buflen); #endif bufptr += buflen; } - initrd_size = bufptr - initrd_start; + initrd_size = (unsigned long) bufptr - initrd_start; printk("Initrd loaded\n"); diff --git a/src/northsouthbridge/sis/630/ipl.S b/src/northsouthbridge/sis/630/ipl.S index 5a933c46bf..cd1a1fbf2b 100644 --- a/src/northsouthbridge/sis/630/ipl.S +++ b/src/northsouthbridge/sis/630/ipl.S @@ -32,6 +32,7 @@ #include "ipl.h" .code16 +.org 0xfe00 #define SIZE_ALL #define REALLY_COMPACT @@ -210,7 +211,20 @@ sis630ipl_start: movw %ax, %ss movw $SPL_RAM_SEG, %ax movw %ax, %es +#ifdef STD_FLASH + movw $0xf000, %ax + movw %ax, %ds + xorw %sp, %sp # clear %sp + xorw %si, %si + xorw %di, %di + movw $0xffff, %cx + rep + movsb + movw $DOC_WIN_SEG, %ax + movw %ax, %ds + +#else movw $sis950_init_table, %si # unlock SiS 950 LPC movw $0x05, %cx # select Clock Selection movw $0x2e, %dx # and Flash ROM I/F @@ -278,6 +292,7 @@ doc_delay: incw %bp # increse current page number cmpw $128, %bp # moved 63 KB ?? jl read_next_page # no, read next page +#endif /*else STD_FLASH */ sis630ipl_end: jmp spl_vector # jump to SPL vector @@ -387,10 +402,14 @@ pci_init_table: .word 0x5201 # Refresh Cycle Enable .word 0x0000 /* Null, End of table */ - .org 0x01f0 +# .org 0x1f0 + .org 0xfff0 reset_vector: +# .byte 0xea # jmp to fe00:0000, where IPL +# .word 0x0000, DOC_WIN_SEG # starts in DoC + .byte 0xea # jmp to fe00:0000, where IPL - .word 0x0000, DOC_WIN_SEG # starts in DoC + .word 0xfe00, 0xf000 # starts in DoC spl_vector: .byte 0xea # jmp to 8000:0000, where SPL