Hello,
I have tried running ofw without BIOS (as per http://www.openfirmware.info/Building_OFW_for_QEMU) and it seems that VGA support does not work. I am using config-virtualbox.fth as advised.
I have uncommented "console-serial" in config.fth to be able to interact with the console and run:
qemu-system-i386 -m 32 -bios emuofw.rom -hda fat:. -serial stdio
(this qemu 2.4.0 on FreeBSD/amd64)
"show-devs" reports (this is with video.fc included)
ok show-devs /cpus /dropin-fs /flash@fff80000 /pci /dropin-fs /mmu /memory@0 /aliases /options /openprom /chosen /packages /cpus/cpu@0 /pci/ethernet@3 /pci/display@2 /pci/pci8086,7113@1,3 /pci/pci-ide@1,1 /pci/host@0 /pci/isa@1 /pci/pci-ide@1,1/ide@1 /pci/pci-ide@1,1/ide@0 /pci/pci-ide@1,1/ide@1/cdrom@0 /pci/pci-ide@1,1/ide@0/disk@0 /pci/isa@1/ide-controller@i1f0 /pci/isa@1/sound@i220 /pci/isa@1/rtc@i70 /pci/isa@1/8042@i60 /pci/isa@1/fdc@i3f0 /pci/isa@1/parallel@i378 /pci/isa@1/serial@i2f8 /pci/isa@1/serial@i3f8 /pci/isa@1/timer@i40 /pci/isa@1/interrupt-controller@i20 /pci/isa@1/dma-controller@i00 /pci/isa@1/ide-controller@i1f0/ide@1 /pci/isa@1/ide-controller@i1f0/ide@0 /pci/isa@1/ide-controller@i1f0/ide@0/<Unnamed>@0 /pci/isa@1/8042@i60/mouse@aux /pci/isa@1/8042@i60/keyboard@kbd /pci/isa@1/fdc@i3f0/disk /packages/http /packages/tcp ...
I have tried uncommenting
in: ${BP}/dev/video/build/video.fc
in cpu/x86/pc/emu/emuofw.bth
as well as uncommenting
create use-vga
in cpu/x86/pc/emu/config.fth, none of which improves the situation.
When I switch consoles in qemu the VGA screen says "Guest has not initialized the display (yet)"
Any hints to troubleshoot this?
Additional questions:
1) Would that be possible to have a dual-console mode (similar to what FreeBSD early bootloader has) so that both vga and serial console are active? ofw prints messages on the serial console even if disabled, only input is not working.
2) Initially I thought ofw is completely dead and I have run it under gdb, only to figure out I am running in the Forth inner interpreter:
0xff9fc000: lods %ds:(%esi),%eax => 0xff9fc001: jmp *(%eax)
Is there any way to have "symbol table" to map word addresses to the word names? (I figured out I can tick the word to get its address).
Thank you, Marcin