allow acpi to disable legacy bits like keyboards, vga, etc. Reference: /n/atom/patch/applied2013/nixiapcbootarch Date: Sat Oct 5 17:41:11 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/k10/devacpi.c Sat Oct 5 17:40:48 2013 +++ /sys/src/nix/k10/devacpi.c Sat Oct 5 17:40:48 2013 @@ -1509,6 +1509,28 @@ ioalloc(addr, len, 0, "acpi"); } +enum { + Blegacy = 1<<0, + B8042kbd = 1<<1, + Bnovga = 1<<2, + Bnomsi = 1<<3, + Bnocmos = 1<<4, +}; + +static void +iapcbootarch(void) +{ + int i; + + i = fadt.iapcbootarch; + + sys->nolegacyprobe = !(i&Blegacy); + sys->noi8042kbd = !(i&B8042kbd); + sys->novga = i&Bnovga; + sys->nomsi = i&Bnomsi; + sys->nocmos = i&Bnocmos; +} + int devacpiinit(void) { @@ -1517,6 +1539,7 @@ acpirsdptr(); if(fadt.smicmd == 0) return -1; + iapcbootarch(); } return 0; } @@ -1530,8 +1553,10 @@ * This was written for the stock kernel. * This code must use 64 registers to be acpi ready in nix. */ - if(1 || devacpiinit() < 0) + if(devacpiinit() < 0) error("no acpi"); + + error("acpi disabled"); /* * should use fadt->xpm* and fadt->xgpe* registers for 64 bits.