On 01.09.2009 22:15, Rudolf Marek wrote:
On 01.09.2009 15:00, Arnaud Maye wrote:
I've been implementing the ACPI for the ep80579 and so far it is not going very well. Linux refuses to boot unless I use acpi=off or acpi=ht as boot parameters. acpi=ht seems to display my ACPI ioports in proc/ioports as expected ( the ioports addresses are all mapped to the ACPI BAR ). Without to disable acpi the kernel complains that the 0xE0000000 range is not a reserved range and the MMCONF is not supported and then hangs.
It should not hang. The complain is only about e820 map is not reserved. I made recently a small patch for this for K8M890. Simply the problem seems elsewhere to me.
But if MMCONF is not seen as active, the kernel might allocate something else in that area. If the ACPI code uses MMCONF for PCI accesses, this means the ACPI code will write/read with undefined side effects. Besides that, if you forgot to (re)activate MMCONFIG inside coreboot, you might see similar effects. I was fighting with RS690 code which enabled MMCONF, used it for a few accesses, then disabled it again, but the ACPI code tried to use MMCONF anyway. Effect were SATA problems/hangs. Besides that, enabling MMCONF in the chipset may break some classic PCI accesses. For example, if I enable MMCONF in the chipset and if the kernel doesn't accept it due to missing reservation, my network card fails because it uses extended config space for storing the MAC and other stuff. When MMCONFIG in the chipset is disabled, it works, so there must be some further interaction (maybe enabling MMCONFIG breaks other access methods to extended config space).
Regards, Carl-Daniel