[coreboot] unexpected exception errors loading vga rom

Joseph Smith joe at settoplinux.org
Thu Apr 30 14:37:52 CEST 2009

On Wed, 29 Apr 2009 21:13:33 -0700, ron minnich <rminnich at gmail.com> wrote:
> On Wed, Apr 29, 2009 at 8:34 PM, Joseph Smith <joe at settoplinux.org>
>> What? Eithor something changed between r4227 (that I was testing with
> last
>> night and r4232) or I am going completely crazy! Anyways, everything is
>> working fine. Maybe my board is just f'd up...
> hardware is like that :-)
> Let's hope that's what it is ...
Well, along the way I did learn a lot more about irq tables. Like each line
in irq_tables.c is not actually a device but a route to the device/s. There
can be multiple devices on a route. For example all of my USB devices are
on the same route:

                       |- USB #1        |- USB #2      |- USB #3       |-
{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 */

It is just condensed into one line instead of four.

I never really understood this until now. Also the "bus, dev|fn," can be
diseaving becuase it only tells you the first device on the route INTA.

If no one objects I would really like to add a section to the
http://www.coreboot.org/Creating_Valid_IRQ_Tables page breaking down
irq_tables.c and explaining what each part means. I think this would help
people understand this very confusing process a little more.

Joseph Smith

More information about the coreboot mailing list