On Tue, Feb 14, 2012 at 5:50 AM, Ian Campbell <[email protected]> wrote: > On Mon, 2012-02-13 at 23:21 +0900, Daniel Castro wrote: >> Hello, >> >> 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 response, I will try what you suggest. > >> Thanks for the ideas/pointers/ anything! >> >> Daniel >> > > -- +-=====---------------------------+ | +---------------------------------+ | This space intentionally blank for notetaking. | | | Daniel Castro, | | | | Consultant/Programmer.| | | | U Andes | +-------------------------------------+ _______________________________________________ SeaBIOS mailing list [email protected] http://www.seabios.org/mailman/listinfo/seabios
