[SeaBIOS] SeaVGABIOS crash on FC13 X11
Julian Pidancet
julian.pidancet at gmail.com
Sun Mar 10 03:42:09 CET 2013
On Sun, Mar 10, 2013 at 2:19 AM, Kevin O'Connor <kevin at koconnor.net> wrote:
>
>> It is printing the same sequence of bytes over and over again:
>>
>> 0002d160 30 30 33 0d 0a ff 55 aa 48 e9 ed 4e 93 55 aa 48 |003...U.H..N.U.H|
>> 0002d170 ec ed 4e 93 55 aa 48 e9 ed 4e 93 55 aa 48 e9 ed |..N.U.H..N.U.H..|
>> 0002d180 4e 93 55 aa 48 e9 ed 4e 93 55 aa 48 e9 ed 4e 93 |N.U.H..N.U.H..N.|
>> 0002d190 55 aa 48 e9 ed 4e 93 55 aa 48 e9 ed 4e 93 55 aa |U.H..N.U.H..N.U.|
>> 0002d1a0 48 e9 ed 4e 93 55 aa 48 e9 ed 4e 93 55 aa 48 e9 |H..N.U.H..N.U.H.|
>
> I'm not seeing this right now, but I think I have seen it in previous
> tests. I think subtle changes in the binary layout may make this junk
> come out/not come out.
>
It is obvious that what we see is the beginning of the ROM at offset
0, it even stops at the first '\0' it encounters. Which seem to
indicate that the print function is doing the right thing. Except the
address of the string is not right.
My suspicion would be that the address of the string on the stack is
getting corrupted between calls, or like in the Windows bug, we're
dereferencing arguments on the stack using a register which is not
meant to. Also, another possibility is that we're using segment
registers that the emulator doesn't like us to use.
> Thanks again for looking at this.
>
Pleasure :) Tell me if you find anything.
--
Julian
More information about the SeaBIOS
mailing list