Commit 3f433d2c87d666e446b1cd45c52390d61edd189b
1 parent
1a084f3d
int13 CDROM BIOS fix (aka Solaris x86 install CD fix)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@807 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
45 additions
and
1 deletions
pc-bios/README
pc-bios/bios.bin
No preview for this file type
pc-bios/bios.diff
0 → 100644
| 1 | +Index: rombios.c | |
| 2 | +=================================================================== | |
| 3 | +RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v | |
| 4 | +retrieving revision 1.108 | |
| 5 | +diff -u -w -r1.108 rombios.c | |
| 6 | +--- rombios.c 9 Feb 2004 16:48:50 -0000 1.108 | |
| 7 | ++++ rombios.c 16 May 2004 13:44:26 -0000 | |
| 8 | +@@ -2254,6 +2254,7 @@ | |
| 9 | + type = read_byte(get_SS(),buffer+1) & 0x1f; | |
| 10 | + removable = (read_byte(get_SS(),buffer+0) & 0x80) ? 1 : 0; | |
| 11 | + mode = read_byte(get_SS(),buffer+96) ? ATA_MODE_PIO32 : ATA_MODE_PIO16; | |
| 12 | ++ blksize = 2048; | |
| 13 | + | |
| 14 | + write_byte(ebda_seg,&EbdaData->ata.devices[device].device, type); | |
| 15 | + write_byte(ebda_seg,&EbdaData->ata.devices[device].removable, removable); | |
| 16 | +@@ -3781,7 +3782,17 @@ | |
| 17 | + write_word(ebda_seg, 0x0022, mouse_driver_offset); | |
| 18 | + write_word(ebda_seg, 0x0024, mouse_driver_seg); | |
| 19 | + mouse_flags_2 = read_byte(ebda_seg, 0x0027); | |
| 20 | ++ if (mouse_driver_offset == 0 && | |
| 21 | ++ mouse_driver_seg == 0) { | |
| 22 | ++ /* remove handler */ | |
| 23 | ++ if ( (mouse_flags_2 & 0x80) != 0 ) { | |
| 24 | ++ mouse_flags_2 &= ~0x80; | |
| 25 | ++ inhibit_mouse_int_and_events(); // disable IRQ12 and packets | |
| 26 | ++ } | |
| 27 | ++ } else { | |
| 28 | ++ /* install handler */ | |
| 29 | + mouse_flags_2 |= 0x80; | |
| 30 | ++ } | |
| 31 | + write_byte(ebda_seg, 0x0027, mouse_flags_2); | |
| 32 | + CLEAR_CF(); | |
| 33 | + regs.u.r8.ah = 0; | |
| 34 | +@@ -4409,7 +4420,8 @@ | |
| 35 | + mouse_flags_2 = read_byte(ebda_seg, 0x0027); | |
| 36 | + | |
| 37 | + if ( (mouse_flags_2 & 0x80) != 0x80 ) { | |
| 38 | +- BX_PANIC("int74_function:\n"); | |
| 39 | ++ // BX_PANIC("int74_function:\n"); | |
| 40 | ++ return; | |
| 41 | + } | |
| 42 | + | |
| 43 | + package_count = mouse_flags_2 & 0x07; | ... | ... |