1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
graphic: 0.818
device: 0.684
instruction: 0.581
socket: 0.580
other: 0.568
network: 0.517
semantic: 0.515
boot: 0.513
vnc: 0.501
mistranslation: 0.472
KVM: 0.190
assembly: 0.099
qemu crashes on unaligned extended disk reads
When performing a BIOS extended disk read (INT 13H, AH=0x42), if the offset of the buffer destination in the DAP (disk address packet) is not dword-aligned (i.e. a multiple of 4), SeaBIOS attempts to execute code at non-mapped address 0xb4f53, causing QEMU to crash. I imagine it's a bug in the BIOS code, but it does cause QEMU to crash.
QEMU version: 1.4.0 (Debian 1.4.0+dfsg-1expubuntu4) (from Ubuntu repository)
SeaBIOS version: 1.7.2-20130119_170942-roseapple
command line: qemu-system-x86_64 -m 64 -hda hda.img -monitor stdio
CPU: Intel Core i7 CPU M620 on a Dell Latitude E6410
OS: Ubuntu, GNU/Linux 3.8.0-25-generic, 64-bit
On Tue, Jun 18, 2013 at 09:23:31PM -0000, Andrew McGowen wrote:
> When performing a BIOS extended disk read (INT 13H, AH=0x42), if the
> offset of the buffer destination in the DAP (disk address packet) is not
> dword-aligned (i.e. a multiple of 4), SeaBIOS attempts to execute code
> at non-mapped address 0xb4f53, causing QEMU to crash. I imagine it's a
> bug in the BIOS code, but it does cause QEMU to crash.
Can you post details on the "crash"? What is the error message?
Stefan
...well this is embarrassing - it was an issue with my code not saving/restoring registers on the stack properly.
Marking this ticket as "Invalid" according to comment #2.
|