So how can we get more debug info out of this system? Our primary debug method dies.
You can run this under the user mode emulator with the IO prints enabled it works right?
It don't work :D
I can't believe that, whit enabled orginal printfs it don't work. Whit disabled ones it work normally.
the output is attached. I have tried it twice, under LB and factory Bios.
now I will do a run with your patch. But I think I get no output.
chris
Can you do that and look at what IO its doing when it starts up?. Probally don't need more than the first 50 lines or so. Maybe we can exclude printing on IO port ranges that cause problems.
./testbios -s 32768 --abseg /dev/mem aw512n.bin -d 0x48 running file aw512n.bin No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 Loading ax with BusDevFn = 48 updating int vector 0x10 updating int vector 0x10 updating int vector 0x42 updating int vector 0x42 updating int vector 0x43 updating int vector 0x43 updating int vector 0x1f updating int vector 0x1f outb(0x18, 0x46e8) outb(0x01, 0x0102) outb(0x08, 0x46e8) outw(0x04f8, 0x03ce) outw(0x00fb, 0x03ce) outw(0x80bb, 0x03ce) outw(0x80ba, 0x03ce) outw(0x52b2, 0x03ce) outw(0x50b3, 0x03ce) outb(0xb9, 0x03ce) inb(0x03cf) = 0xff outw(0xffb9, 0x03ce) outw(0x7fb9, 0x03ce) outb(0x70, 0x03ce) inb(0x03cf) = 0xff outw(0x1b70, 0x03ce) outw(0xa871, 0x03ce) outw(0x80b5, 0x03ce) outb(0xbe, 0x03ce) inb(0x03cf) = 0xff outw(0x7fbe, 0x03ce) outw(0x8097, 0x03ce) outw(0x031f, 0x03d4) outw(0x0157, 0x03ce) inw(0x03ce) = 0xffff outw(0x0057, 0x03ce) outw(0x0100, 0x03c4) outw(0x0001, 0x03c4) outw(0x0302, 0x03c4) outw(0x0003, 0x03c4) outw(0x0204, 0x03c4) outb(0x01, 0x03c4) inw(0x03c4) = 0xffff outw(0xffff, 0x03c4) outb(0x67, 0x03c2) outw(0x0300, 0x03c4) outb(0x11, 0x03d4) inb(0x03d5) = 0xff outw(0x7f11, 0x03d4) outw(0x5f00, 0x03d4) outw(0x4f01, 0x03d4) outw(0x5002, 0x03d4) outw(0x8203, 0x03d4) outw(0x5504, 0x03d4) outw(0x8105, 0x03d4) outw(0xbf06, 0x03d4) outw(0x1f07, 0x03d4) outw(0x0008, 0x03d4) outw(0x4f09, 0x03d4) outw(0x0d0a, 0x03d4) outw(0x0e0b, 0x03d4) outw(0x000c, 0x03d4) outw(0x000d, 0x03d4) outw(0x000e, 0x03d4) outw(0x000f, 0x03d4) outw(0x9c10, 0x03d4) outw(0x8e11, 0x03d4) outw(0x8f12, 0x03d4) outw(0x2813, 0x03d4) outw(0x1f14, 0x03d4) outw(0x9615, 0x03d4) outw(0xb916, 0x03d4) outw(0xa317, 0x03d4) outw(0xff18, 0x03d4) inb(0x03da) = 0xff outb(0x00, 0x03c0) outb(0x00, 0x03c0) outb(0x01, 0x03c0) outb(0x01, 0x03c0) outb(0x02, 0x03c0) outb(0x02, 0x03c0) outb(0x03, 0x03c0) outb(0x03, 0x03c0) outb(0x04, 0x03c0) outb(0x04, 0x03c0) outb(0x05, 0x03c0) outb(0x05, 0x03c0) outb(0x06, 0x03c0) outb(0x14, 0x03c0) outb(0x07, 0x03c0) outb(0x07, 0x03c0) outb(0x08, 0x03c0) outb(0x38, 0x03c0) outb(0x09, 0x03c0) outb(0x39, 0x03c0) outb(0x0a, 0x03c0) outb(0x3a, 0x03c0) outb(0x0b, 0x03c0) outb(0x3b, 0x03c0) outb(0x0c, 0x03c0) outb(0x3c, 0x03c0) outb(0x0d, 0x03c0) outb(0x3d, 0x03c0) outb(0x0e, 0x03c0) outb(0x3e, 0x03c0) outb(0x0f, 0x03c0) outb(0x3f, 0x03c0) outb(0x10, 0x03c0) outb(0x0c, 0x03c0) outb(0x11, 0x03c0) outb(0x00, 0x03c0) outb(0x12, 0x03c0) outb(0x0f, 0x03c0) outb(0x13, 0x03c0) outb(0x08, 0x03c0) outb(0x14, 0x03c0) outb(0x00, 0x03c0) outw(0x0000, 0x03ce) outw(0x0001, 0x03ce) outw(0x0002, 0x03ce) outw(0x0003, 0x03ce) outw(0x0004, 0x03ce) outw(0x1005, 0x03ce) outw(0x0e06, 0x03ce) outw(0x0007, 0x03ce) outw(0xff08, 0x03ce) outw(0x0010, 0x03ce) outw(0x0011, 0x03ce) outw(0x0014, 0x03ce) outw(0x0015, 0x03ce) outw(0x0031, 0x03ce) outw(0x0032, 0x03ce) outw(0x0033, 0x03ce) outw(0x0056, 0x03ce) outw(0x0058, 0x03ce) outw(0x0059, 0x03ce) outw(0x005a, 0x03ce) outw(0x0057, 0x03ce) outw(0x0077, 0x03ce) outw(0x003c, 0x03ce) outw(0x205c, 0x03ce) outb(0x90, 0x03ce) inb(0x03cf) = 0xff outw(0xfe90, 0x03ce) outb(0x72, 0x03ce) inw(0x03ce) = 0xffff outw(0xb7ff, 0x03ce) outb(0x56, 0x03ce) inw(0x03ce) = 0xffff outw(0x0456, 0x03ce) inb(0x03c6) = 0xff outb(0xed, 0x03c6) outw(0xffff, 0x03ce) outb(0x73, 0x03ce) inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff inb(0x0080) = 0x92 inb(0x03cf) = 0xff outb(0x01, 0x03c4) inw(0x03c4) = 0xffff outw(0xdfff, 0x03c4) outw(0x0100, 0x03c4) outw(0x0300, 0x03c4) outw(0x0012, 0x03ce) outw(0x0016, 0x03ce) outw(0x0050, 0x03ce) outw(0x0051, 0x03ce) outw(0x0052, 0x03ce) outw(0x0053, 0x03ce) outw(0x0054, 0x03ce) outw(0x0055, 0x03ce) outw(0x3073, 0x03ce) outw(0x1b74, 0x03ce) outw(0x1e75, 0x03ce) outw(0x0076, 0x03ce) outw(0x0078, 0x03ce) outw(0x3079, 0x03ce) outw(0xc87a, 0x03ce) outw(0x01bf, 0x03ce) inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff
// after her always the same inb line