Blue Swirl wrote:
Hmmmm. I've also added in an implementation of pv_putstr but still don't see anything useful output on the console (and in fact, if I set a breakpoint on obp_putstr it never breaks which means it isn't being called here either). I guess there will have to be some long nights tracing through disassembled code :(
What about pv_printf?
Hmmmm well I think this should have been calling printk already? However, I added the handler wrapper function just before commit and I now get the following message on boot:
Configuration device id QEMU version 1 machine id 32 CPUs: 1 x FMI,MB86904 UUID: 00000000-0000-0000-0000-000000000000 Welcome to OpenBIOS v1.0 built on Oct 24 2010 19:39 Type 'help' for detailed information Trying cdrom:d... Not a bootable ELF image Loading a.out image... Loaded 7680 bytes entry point is 0x4000 bootpath: /iommu/sbus/espdma/esp/sd@2,0:d
Jumping to entry point 00004000 for type 00000005... switching to new context: kobj_read: seek 0x16a000 failed kobj_load_module: error reading section headers krtld: error during initial load/link phase Unhandled Exception 0x00000002 PC = 0x00000000 NPC = 0x00000004 Stopping execution
Strangely enough, with pv_printf() included the console output seems to change in that my screen is limited to a much smaller vertical terminal space, so perhaps it was never working in the first place anyway?
At least with error messages we can figure out what's going on :) A random crash on a function that has worked fine before tends to suggest some kind of memory allocation/memory clobber though.
Based upon all your comments above, would you say that the attached patch is ready for commit? It passes my tests here against my NetBSD, Debian and Solaris 8 ISO images.
Works for me too.
Great - thanks for testing!
ATB,
Mark.