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; | ... | ... |