As of 10.12.4, OS X refuses to boot unless the AppleSMC supports a third I/O port, which provides the current error status when read.
New since v2: - updated "reviewd-by" fields - ping ? >New since v1: > > - 1/3: don't touch the default OSK string, as it's unnecessary > at this time > > - 2/3: don't consolidate I/O regions, leave as-is for data > and cmd; This patch now implements the error-code state > machine, AND adds an i/o region dedicaded to the error > status port, complete with read/write access methods. > > - 3/3: set access width to 1-byte on data and cmd i/o regions. > Tested on OS X versions 10.[6..12]. > >> This series consists of three patches: >> >> - 1/3: indentation/whitespace cleanup for applesmc.c to the point >> where it now passes scripts/checkpatc.pl, and allows >> subsequent changes to look nice in diff-patch format :) >> >> - 2/3: consolidate Port I/O into a single region, and invoke >> appropriate read/write methods based on the offset being >> accessed >> >> - 3/3: implement read-only error/status port, and update >> data and command read/write methods to correctly >> maintain the state machine for keeping the status_1e >> value up to date. Gabriel L. Somlo (3): applesmc: cosmetic whitespace and indentation cleanup applesmc: implement error status port applesmc: fix port i/o access width hw/misc/applesmc.c | 219 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 155 insertions(+), 64 deletions(-) -- 2.7.4