[coreboot] unexpected exception errors loading vga rom

Joseph Smith joe at settoplinux.org
Thu Apr 30 23:01:38 CEST 2009



On Thu, 30 Apr 2009 13:34:37 -0700, ron minnich <rminnich at gmail.com> wrote:
> On Thu, Apr 30, 2009 at 1:11 PM, Joseph Smith <joe at settoplinux.org>
wrote:
> 
>> Right. So in my example:
>>                       |- USB #1        |- USB #2    
>  |- USB #3
>> |-EHCI
>> {0x00,(0x1d<<3)|0x0, {{0x60, 0x1ef8}, {0x63, 0x1ef8}, {0x62, 0x1ef8},
>> {0x6b, 0x01ef8}}, 0x0, 0x0},
>>
>> is the same as:
>>
>> {0x00,(0x1d<<3)|0x0, {{0x60, 0x1ef8}, {0x00, 0x0000}, {0x00, 0x0000},
>> {0x00, 0x00000}}, 0x0, 0x0}, /* [A] USB UHCI 1 */
>> {0x00,(0x1d<<3)|0x1, {{0x60, 0x1ef8}, {0x63, 0x1ef8}, {0x00, 0x0000},
>> {0x00, 0x00000}}, 0x0, 0x0}, /* [B] USB UHCI 2 */
>> {0x00,(0x1d<<3)|0x2, {{0x60, 0x1ef8}, {0x63, 0x1ef8}, {0x62, 0x1ef8},
>> {0x00, 0x00000}}, 0x0, 0x0}, /* [C] USB UHCI 3 */
>> {0x00,(0x1d<<3)|0x7, {{0x60, 0x1ef8}, {0x63, 0x1ef8}, {0x62, 0x1ef8},
>> {0x6b, 0x01ef8}}, 0x0, 0x0}, /* [D] EHCI */
> 
> yes, but what I have been trying to explain (badly) is that you don't
> want to think of those functions as devices. They're functions. So, in
> your sample table above, all the entries save the first one are
> illegal -- PIRQ tables don't have non-zero functions. They only
> describe
> how the (one or more) wires from a device are hooked up.
> 
> 
>> [A] USB UHCI 1
>> [B] USB UHCI 2
>> [C] USB UHCI 3
>> [D] EHCI
> 
> I still think your diagram is misleading in that it implies wires that
> are not really there -- correct me if I got this wrong again.
> 
> But the way I view it is that the device (which used to be a
> multi-function board or chip) is what is physically wired to the four
> IRQ lines. To put it another way, the swizzling you show occurfing
> inside the device doesn't really occur; that kind of INT swizzling is
> done on the mainboard itself. It's not possible, for example, for USB
> UHCI2 to use INTA -- the wires don't exist. But your diagram implies
> any of the four functions can use any of the four interrupts, which is
> not correct.

Right the INT lines A,B,C, and D are hard wired. But you can asign any PIRQ
to a function and any available IRQ to the PIRQ these are software
controlled.
> 
> So I draw it differently, with one device with INT A,B,C,D and the
> functions wired internally, one to each INT.
> 
Hmm. That is another way of looking at it. The doc does say the "device"
acts as a interrupt router (which is INTA in this case). So the other three
are directly connected to it? Like the attached image?

-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Routing_full2.bmp
Type: image/bmp
Size: 105318 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090430/c1785ce8/attachment.bmp>


More information about the coreboot mailing list