Stefan Reinauer stepan@openbios.org writes:
- YhLu YhLu@tyan.com [040924 18:56]:
How about add acpi that only is related to pci to the LinuxBIOS?
Otherwise how make the PCI-E device get interrupt assigned?
We need to provide a DSDT for this, and thus probably a lot of other information about the system. Or can PCI-E interrupts be completely stored in other tables? Last time I tried to get more ACPI support into LinuxBIOS I stopped when I had to create some dozens of tables and a whole bunch of ASL just to get PCI interrupts working. If Linux sees one table, it often thinks that the complete set must be there. The features are not handled "atomicly".. No idea whether it really is possible at all. But going ASL is a lot of work
PCI-E should be drop dead simple, and not require any of this.
PCI-E interrupts are in-band. We can assign the non-smp ones in LinuxBIOS with just a little bit of code. I think MSI and the smp case are similarly easy. It should be much easier as all of the interrupts are in-band. If it is harder I will patch the kernel.
Needing ASL for is absolutely ridiculous. Especially given how very fragile the linux ACPI code is. It can't even recover when it knows it was given wrong information. And it runs so early you can't see it when it panics the kernel.
The Linux ACPI implementation may be fix-able but I don't want to go there unless we have to. Especially for something so simple as PCI-E support.
Eric