On 04/28/11 04:00 AM, Mark Cave-Ayland wrote:
On 27/04/11 23:01, Nathan Kunkee wrote:
I built that on opensolaris (so sparc64) with gcc 4.5.2. No cross-compiler needed, although the config script thinks I'm using one.
Ah that will probably be the problem - config/script/switch-arch contains the logic which detects how NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH and SWAP_ENDIANNESS should be set and adds them to CFLAGS in Makefile.target as appropriate.
OK. I'll start looking to see how to change that for by build environment.
Thank you for posting the link. That image does load, which is better than I managed, but somehow isn't seeing my solaris 9 cd or iso. BTW, QEMU crashes nicely when you boot from an empty cd device.
Strange. Can you show us the command line you are using? From your previous email:
nathan@redwall:/usr/local/build/qemu$ sparc-softmmu/qemu-system-sparc -nographic -bios openbios-builtin.elf
You are definitely missing the "-boot d" option to force boot from cdrom, although this is just a guess as you have shown us any error messages :(
Oops; it seemed obvious when I wrote it. The trick is that the cd device is empty, or is full of 0. Running your sparc32 image:
nathan@fangorn:/usr/local/build/qemu$ sparc-softmmu/qemu-system-sparc -nographic -bios openbios-sparc32-mark 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 Apr 27 2011 19:13 Type 'help' for detailed information Trying disk... No valid state has been set by load or init-program
0 > boot cdrom: Unhandled Exception 0x0000002a PC = 0xffd1101c NPC = 0xffd11020 Stopping execution QEMU 0.14.50 monitor - type 'help' for more information (qemu) info block scsi0-cd2: type=cdrom removable=1 locked=0 [not inserted] floppy0: type=floppy removable=1 locked=0 [not inserted] sd0: type=floppy removable=1 locked=0 [not inserted] (qemu) quit
Looking at it again, OpenBIOS is bombing out rather than QEMU. I found this by accident trying to get the right path to my host cdrom drive. So, '-boot d -cdrom /dev/null' on the command line produces the same error at the same place. I'm not sure why a zero device would cause this when a missing hard disk does not.
Hard drive full of 0: nathan@fangorn:/usr/local/build/qemu$ sparc-softmmu/qemu-system-sparc -nographic -bios openbios-sparc32-mark -hda /dev/null
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 Apr 27 2011 19:13 Type 'help' for detailed information Trying disk... Unhandled Exception 0x0000002a PC = 0xffd1101c NPC = 0xffd11020 Stopping execution QEMU 0.14.50 monitor - type 'help' for more information (qemu) info block scsi0-hd0: type=hd removable=0 file=/dev/null ro=0 drv=raw encrypted=0 scsi0-cd2: type=cdrom removable=1 locked=0 [not inserted] floppy0: type=floppy removable=1 locked=0 [not inserted] sd0: type=floppy removable=1 locked=0 [not inserted] (qemu) quit
And the happy path I usually see, just a missing hard drive: nathan@fangorn:/usr/local/build/qemu$ sparc-softmmu/qemu-system-sparc -nographic -bios openbios-sparc32-mark
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 Apr 27 2011 19:13 Type 'help' for detailed information Trying disk... No valid state has been set by load or init-program
0 > boot Trying disk... No valid state has been set by load or init-program ok 0 >
Let me know if you need more information on this.
Thanks, Nathan