On Thu, Apr 16, 2015 at 01:46:41PM +0200, Roger Pau Monné wrote: > El 16/04/15 a les 3.43, Kevin O'Connor ha escrit: > > If you know which "int 15h" is returning bogus values, you can also > > use gdb with qemu and set a break point. See > > http://seabios.org/Debugging . > > I've tried this, the function is handle_15c0. This happens quite late > in the boot process, the FreeBSD code that triggers this issue is at: > > http://fxr.watson.org/fxr/source/dev/atkbdc/atkbd.c#L1163 > > I've tried to run gdb against SeaBIOS, but it seems like breakpoints are > not correctly working. I've launched Qemu with: > > # qemu-system-x86_64 -bios out/bios.bin -nographic /dev/zvol/tank/freebsd -s > -S > > And then: > > # gdb782 out/rom16.o
Looks like this broke in gdb at some point. It definitely used to work. You can use this sequence instead: $ objcopy --adjust-vma 0xf0000 out/rom16.o rom16offset.o $ gdb out/rom16.o (gdb) target remote localhost:1234 (gdb) set architecture i8086 (gdb) symbol-file rom16offset.o (gdb) break handle_15 (gdb) continue -Kevin _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
