Finally... We have got the irq assignment working. Here are the checkins
cpu/c3/premtrr.inc lib/newpci.c - added added pci_level_irq and pci_assign_irqs lib/vsprintf.c southbridge/via/vt8231/ideconfig.inc mainboard/via/epia/Config mainboard/via/epia/irq_tables.c mainboard/via/epia/mainboard.c northbridge/via/vt694/northbridge.c southbridge/via/vt8231/southbridge.c superio/via/vt8231/setup_ethernet.inc
However there are still some minor problems, eg 1. linuxbios willl hang at pci scanning devfn > 0xa8 when rebooting 2. linux might hange when pci scanning devfn > 0xa8 That could be a hardware problem according to Ron. 3. pirq semi-working. Although irq is being assigned correctly, device doesn't work. Luckily we can force irq.
Kevin still has some extra stuffs to add, eg, non-block console display. I will work on it later.
Thanks Kevin and Ron for all the help.
Happy hacking.
-Andrew