These patches let Ubuntu 8.10 boot with ACPI support and no ACPI table-related warnings. I haven't done SMM support yet, so that still complains and disables IRQ 9.
Windows still doesn't like something, but I thought I'd contribute this code before I started using munged factory tables to see if I can get it to work that way. Because resource allocation is totally different, the tables will need to be munged quite a bit :(
_Tyan_common_tables.diff_
This patch adds common elements for ck804-based boards.
changes by file: src/arch/i386/boot/acpi.c: Be Paranoid and set srat_lapic table to zero before filling it. Enable SLIT filling if acpi_create_slit gets called.
src/northbridge/amd/amdk8/northbridge.c: Add high tables code ala Stefan's code for the i945.
src/northbridge/amd/amdk8/amdk8_util.asl: Put this file here instead of every board having a personal copy.
src/southbridge/nvidia/ck804/ck804_lpc.c: Enable High Precision Event Timers. Add pm_base for ACPI.
src/northbridge/amd/amdk8/amdk8_acpi.c Silence warnings about implicit functions and format strings.
src/arch/i386/include/arch/acpi.h: Add slit prototype and minor whitespace.
src/southbridge/nvidia/ck804/ck804_fadt.c: Since fadt is only dependent on the Southbridge, add it here.
src/southbridge/nvidia/ck804/Config.lb: Compile in ck804_fadt.c
_s289X_tables.diff_
changes by file:
src/mainboard/tyan/s289X/Options.lb: Add options and defaults for ACPI tables and resources.
src/mainboard/tyan/s289X/mainboard.c: Add high_tables resource ala Stefan's code for the Kontron.
src/mainboard/tyan/s289X/acpi_tables.c: Fill out the ACPI tables, using existing code where possible. Only the madt is different between the boards, to be combined later.
src/mainboard/tyan/s289X/Config.lb: Compile in acpi_tables.c and dsdt.dsl. Turn on the parallel port and the real-time-clock.
src/mainboard/tyan/s289x/dsdt.dsl: The board layout (thanks Rudolf) and interrupts from mptable.c
src/mainboard/tyan/s289x/mptable.c: Minor formatting changes to make them diff better.
src/superio/smsc/lpc47b397/superio.c: (s2895 only) Correct the size of the real-time-clock so it can be where it belongs.
Signed-off-by: Myles Watson mylesgw@gmail.com
Thanks, Myles