observed issue. rsdt pointed to incomplete fadt, leading to bogus fixed event blocks. solution. prefer revision 2 of the table. Reference: /n/atom/patch/applied2013/acpiprevrev2 Date: Mon Oct 7 06:28:25 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/k10/acpi.c Mon Oct 7 06:27:18 2013 +++ /sys/src/nix/k10/acpi.c Mon Oct 7 06:27:18 2013 @@ -192,14 +192,13 @@ static void maptables(void) { - loadrsd(); if(ntblmap > 0 || ntblpa > 0) return; - if(!checksum(rsd, 20)) + loadrsd(); + if(rsd->rev >= 2 && !checksum(rsd, 36)) + maptable(get64(rsd->xaddr)); + else if(!checksum(rsd, 20)) maptable(get32(rsd->raddr)); - if(rsd->rev >= 2) - if(!checksum(rsd, 36)) - maptable(get64(rsd->xaddr)); } enum {