[coreboot] SimNOW VGA int 1a

ron minnich rminnich at gmail.com
Thu Oct 16 17:45:11 CEST 2008


2008/10/16 Myles Watson <mylesgw at gmail.com>:

>> >
>> > The last output on the serial port is:
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb102 ebx 0xc002e ecx 0xc2067 edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd0000 esi 0x10000
>> > biosint:  ip 0x3246   cs 0xc000  flags 0x46
>> > dev_find_device: find PCI: 1022:2067
>> > Check Root Device
>> > Check CPU: 00
>> > Check APIC: 00
>> > Check PCI: 00:01.0
>> > Check PCI: 1022:7462
>> > Check PCI: 1022:7464
>> > Check PCI: 1022:7464
>> > Check PCI: 1022:7464
>> > Check PCI: 1022:7458
>> > Check PCI: 1022:7468
>> > Check PCI: 1022:7469
>> > Check PCI: 1022:746a
>> > Check PCI: 1022:746e
>> > Check PCI: 1022:746e
>> > Check PCI: 1022:746e
>> > Check PCI: 1022:1100
>> > Check PCI: 1022:1100
>> > Check PCI: 00:02.0
>> > Check PCI: 1022:1100
>> > Check PCI: 1022:1101
>> > Check PCI: 1022:1102
>> > Check PCI: 1022:1103
>> > Check IOPORT: 2e
>> > Check APIC_CLUSTER: 1022:1100
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PNP: 0000
>> > Check PCI: 1022:7460
>> > Check PCI: 1022:7468
>> > Check PCI: 1022:7469
>> > Check PCI: 1022:746a
>> > Check PCI: 1022:746b
>> > Check PCI: 1022:746d
>> > Check PCI: 1022:746e
>> > Check PCI: 1022:746f
>> > Check PCI: 1022:7459
>> > Check PCI: 1022:7458
>> > Check PCI: 1022:7459
>> > Check PCI: 1022:7464
>> > Check PCI: 1022:7464
>> > Check PCI: 1022:7463
>> > Check PCI: 1022:7462
>> > Check PCI: 1022:2067
>> > found
>> > 0xb102: return 0x120

the wrong # here?

>>
>> so that worked.
>>
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb108 ebx 0x120 ecx 0xc2067 edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd000a esi 0x10000
>> > biosint:  ip 0x325a   cs 0xc000  flags 0x46
>> > 0xb108: bus 1 devfn 0x20 reg 0xa val 0x0
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb109 ebx 0x120 ecx 0x0 edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd0008 esi 0x10000
>> > biosint:  ip 0x3269   cs 0xc000  flags 0x46
>> > 0xb109: bus 1 devfn 0x20 reg 0x8 val 0x3
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb10a ebx 0x120 ecx 0x3 edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd0018 esi 0x10000
>> > biosint:  ip 0x3283   cs 0xc000  flags 0x46
>> > 0xb10a: bus 1 devfn 0x20 reg 0x18 val 0x1001
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb10a ebx 0x120 ecx 0x1000 edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd0014 esi 0x100b1
>> > biosint:  ip 0x3294   cs 0xc000  flags 0x46
>> > 0xb10a: bus 1 devfn 0x20 reg 0x14 val 0xfe055000
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb10a ebx 0x120 ecx 0xfe055000 edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd0010 esi 0x100ad
>> > biosint:  ip 0x32a2   cs 0xc000  flags 0x46
>> > 0xb10a: bus 1 devfn 0x20 reg 0x10 val 0xfd000000
>> > biosint: INT# 0x1a
>> > biosint: eax 0xb10d ebx 0x120 ecx 0xffffffff edx 0xf1022
>> > biosint: ebp 0xcf0d8 esp 0xfe4 edi 0xd0010 esi 0x100a9
>> > biosint:  ip 0x32b3   cs 0xc000  flags 0x46

or here?


> It looks like the problem is that coreboot is giving the VGA BIOS the wrong
> device number.  I don't know why the reads succeed, but the device number
> should be 4 for the VGA controller, not 2.  When it writes to the
> non-existant device, it triple faults.
>

at what point is it giving the wrong #?

nice detective work

ron




More information about the coreboot mailing list