On Wed, 29 Apr 2009 21:13:33 -0700, ron minnich rminnich@gmail.com wrote:
On Wed, Apr 29, 2009 at 8:34 PM, Joseph Smith joe@settoplinux.org
wrote:
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 |- 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 */
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.