On 4/14/10 5:54 AM, Keith Hui wrote:
irq 9: nobody cared (try booting with the "irqpoll" option)
This is caused by setting fadt->sci_int without an irqoverride source in the MADT.

        current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
                 current, 0, 9, 9, MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_HIGH);


Generally your fadt looks a bit off, still:
+    fadt->sci_int = 9; // APM_CNT
This is not APM control but the sci interrupt
+    fadt->smi_cmd = 0;
This should be APM_CNT
+    fadt->acpi_enable = 0xa1; // ACPI_ENABLE
+    fadt->acpi_disable = 0xa0; // ACPI_DISABLE
These two should be zero unless you have an SMM handler
+    fadt->s4bios_req = 0x0;
+    fadt->pstate_cnt = 0x0;

With SMM it should look like this, assuming the APM_CNT port is 0xb2 on the 82371 too. (It is on the ICHx chips)

#define APM_CNT         0xb2
#define   CST_CONTROL   0x85
#define   PST_CONTROL   0x80
#define   ACPI_DISABLE  0x1e
#define   ACPI_ENABLE   0xe1

        fadt->sci_int = 0x9;
        fadt->smi_cmd = APM_CNT;
        fadt->acpi_enable = ACPI_ENABLE;
        fadt->acpi_disable = ACPI_DISABLE;
        fadt->s4bios_req = 0x0;
        fadt->pstate_cnt = PST_CONTROL;
        ...
        fadt->cst_cnt = CST_CONTROL;

HTH,
Stefan