[coreboot] unexpected exception errors loading vga rom

ron minnich rminnich at gmail.com
Thu Apr 30 22:34:37 CEST 2009

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
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.

So I draw it differently, with one device with INT A,B,C,D and the
functions wired internally, one to each INT.


More information about the coreboot mailing list