From: Volker R. <vru...@us...> - 2008-06-22 09:04:56
|
Update of /cvsroot/bochs/bochs/bios In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12745/bios Modified Files: rombios.c Log Message: - applied rombios patches from SF tracker by Sebastian * handle shutdown status codes 0Ah, 0Bh and 0Ch * changed #if #else construct since hard_drive_post is always called Index: rombios.c =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v retrieving revision 1.209 retrieving revision 1.210 diff -u -d -r1.209 -r1.210 --- rombios.c 2 Jun 2008 20:08:10 -0000 1.209 +++ rombios.c 22 Jun 2008 09:05:02 -0000 1.210 @@ -9053,11 +9053,28 @@ mov al, #0x20 out #0x20, al ;; master PIC EOI +jmp_post_0x467: xor ax, ax mov ds, ax jmp far ptr [0x467] +iret_post_0x467: + xor ax, ax + mov ds, ax + + mov sp, [0x467] + mov ss, [0x469] + iret + +retf_post_0x467: + xor ax, ax + mov ds, ax + + mov sp, [0x467] + mov ss, [0x469] + retf + ;-------------------- eoi_both_pics: @@ -10291,8 +10308,20 @@ cmp al, #0x05 je eoi_jmp_post + ;; 0x0A = jmp via [0x40:0x67] jump + cmp al, #0x0a + je jmp_post_0x467 + + ;; 0x0B = iret via [0x40:0x67] + cmp al, #0x0b + je iret_post_0x467 + + ;; 0x0C = retf via [0x40:0x67] + cmp al, #0x0c + je retf_post_0x467 + ;; Examine CMOS shutdown status. - ;; 0x01,0x02,0x03,0x04,0x06,0x07,0x08, 0x0a, 0x0b, 0x0c = Unimplemented shutdown status. + ;; 0x01,0x02,0x03,0x04,0x06,0x07,0x08 = Unimplemented shutdown status. push bx call _shutdown_status_panic @@ -10529,25 +10558,19 @@ ;; call floppy_drive_post -#if BX_USE_ATADRV - ;; ;; Hard Drive setup ;; call hard_drive_post +#if BX_USE_ATADRV + ;; ;; ATA/ATAPI driver setup ;; call _ata_init call _ata_detect ;; -#else // BX_USE_ATADRV - - ;; - ;; Hard Drive setup - ;; - call hard_drive_post #endif // BX_USE_ATADRV |