[SeaBIOS] Problem with Debug lvl under XEN
Ian.Campbell at citrix.com
Mon Feb 13 21:50:56 CET 2012
On Mon, 2012-02-13 at 23:21 +0900, Daniel Castro wrote:
> I have encountered something a little strange, if I set up the debug
> lvl to 3 or more Y will get a Triple VCPU fault. If I set it to 1 the
> bios runs normally but I loose a lot of information that I need to
> debug. Sometimes if I try to print char * variables regardless of the
> debug level I still get the fault.
> Any ideas why?
My guess is that there is a debug print at lvl>=3 which ends up
dereferencing a NULL pointer in one of its arguments (probably a %s) and
this leads to a page fault. This in turn leads to a double fault because
SeaBIOS does not install a page fault handler and then a triple fault
because it also does not install a double fault handler. Likewise when
you are printing "char * variables regardless of the debug level".
You could test this by adding an explicit check for null in the bit of
bvprintf which handles %s, perhaps putc()ing "(null)" instead.
> Thanks for the ideas/pointers/ anything!
More information about the SeaBIOS