Hi,
It's pretty informative. Thanks.
2007/5/8, Juergen Beisert juergen127@kreuzholzen.de:
On my system LinuxBIOS left all PCI irq registers at their reset value.
- Or, can/should I leave the configuration part to a OS as long as
irq_tables.c sets a proper irq_routing_table? I've read about people who booted LB with GX1 in the ML. Did they solely rely on the irq_routin_table?
Yes. With a working irq routing table and a (small) special Linux kernel patch (only with this patch Linux is able to setup the IRQ routing correctly. The patch was rejected in mainline, because it breaks other systems. The current kernel implementation is wrong, as it permuts the nibbles in the routing register. I have no idea how this could work on the other systems...)
ok, I think that's a right way that a payload or OS configures IRQ routing since they need to initialize PCI controllers anyway, and it's not possible for a bios to configure all the add-on PCI devices.
My only concern is portability to other architecures. The struct irq_routing_table seems to be x86 PC specific.
Sound ,
I'm working on it. And I can play sounds with it. But under higher system load it crashes yet. There is not interrupt available to setup the next sound data if the current one is finished. The hardware can only generate SMIs. So a second part of my driver polls the SMI statusbits and calls the sound driver when it flags "ready" for next data.
I noticed that CS5535 is very similiar to CS5530 except CS5535 has two more DMAs. I suspect the CS5535audio driver would work for CS5530 just by adding PCI vendor/device ID.
I can send you my whole embedded project. It contains graphics (special
I'm very much interested in it. Please send it to me unless you are gonig to put yout whole stuff to the wiki. Thank you!
Kenji Noguchi
ps. anyone interested to port LB to MIPS? gxemul is my target so far.