Method(_STA, 0) {
Store(0x10, CMDP) // APPLESMC_READ_CMD
Store(CMDP, Local0)
If (LEqual(Local0, 0x0c)) {
Also, once you've tickled the CMDP, the SMC internal state is no longer what OS X expects, so it gets all hung up on that later during the boot process. I guess I'll put "gain thorough understanding of the qemu applesmc state machine" on my ToDo list :)
_STA having side effects isn't exactly nice. Doing that once in _INI instead might work better.
cheers, Gerd