Stefan Reinauer <stepan(a)openbios.org> writes:
* YhLu <YhLu(a)tyan.com> [040924 18:56]:
How about add acpi that only is related to pci to
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.