[coreboot] SimNOW VGA int 1a

Myles Watson mylesgw at gmail.com
Thu Oct 16 17:43:21 CEST 2008


2008/10/16 ron minnich <rminnich at gmail.com>

> On Thu, Oct 16, 2008 at 5:39 AM, Myles Watson <mylesgw at gmail.com> wrote:
> tter.
> >
> > I get a
> > Execution halted due to Stopping SimNow due to unhandled case(s)
> >
> > EAX=00000001 EBX=000163A8 ECX=80012010 EDX=00000FDC
> > ESI=0000B10D EDI=00000001 ESP=00000F34 EBP=00000020
> > CS=0010 DS=0018 ES=0018 FS=0018 GS=0018 SS=0018 EFLAGS=oditSzapc
> > GIF=1 ASID=00000000 HCR3=0000000000000000
> > VMHSAVEPA=0000000000000000 GuestVMCBPA=0000000000000000
> >
> > 0010:FFFFF07D 0000             add [eax],al
> > 0010:FFFFF07F 007000           add [eax+00],dh
> > 0010:FFFFF082 0000             add [eax],al
> > 0010:FFFFF084 0018             add [eax],bl
> > 0010:FFFFF086 01B44800000000   add [eax+ecx*2+00000000],esi
> > 0010:FFFFF08D 0000             add [eax],al
> > 0010:FFFFF08F 007000           add [eax+00],dh
> > 0010:FFFFF092 0000             add [eax],al
> > 0010:FFFFF094 0018             add [eax],bl
> > 0010:FFFFF096 01BC4800000000   add [eax+ecx*2+00000000],edi
> > 0010:FFFFF09D FF
>
> see where this is is build/coreboot.map. It looks like garbage to me.
>
> >
> > 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
>
> 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
>
> going through looking for several things I guess? The esp looks ok.
>
> I suggest you set a break at c32b3 and see what you see.


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.

Thanks,
Myles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081016/60e498fb/attachment.html>


More information about the coreboot mailing list