I tried the following bios which I extracted from insyde bios:
sh-2.05b# ./testbios elpin.vga -d 94 running file elpin.vga No size specified. defaulting to 32k No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 halt_sys: file ops.c, line 9836 halted sh-2.05b#
that's annoying. I've tried to add more helpful output to the x86 emulator from X11 (such as all the messages above) but obviously I missed some important bits.
can you decode this a bit for me? What is it looking for in terms of devid, and how is the pci read returning wrong values?
the internal vga pci device at 0:12.4 should be found when you write 0x80009400 to pci index reg 0xcf8. After that the value 0x0504100b should be returned at 0xcfc as vendor id (0x100b) and device id (0x0504). After single stepping this return value AX is set to 0x4000 and not 0x100b. Unfortunaly EAX is not printed:
c000:0124 ed IN EAX,DX c000:124 - AX=4000 BX=0000 CX=0000 DX=0cfc SP=ffea BP=0000 SI=0000 DI=0000 DS=0000 ES=c000 SS=0030 CS=c000 IP=0126 NV UP DI PL ZR NA PE NC
If I check this with the pciset tool I get the right values back. Also I tried to read these value back under InsydeBIOS with bootet DOS.
Bernd
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios