As of 10.12.4 (currently the latest Sierra update), OS X refuses to boot
unless the AppleSMC supports a third I/O port, which provides the current
error status when read.

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: optional patch setting 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


Reply via email to