calling interface (via a grapple in locore.s) is:
/*
* void bioscall(int function, struct apmregs *regs):
* call the BIOS interrupt "function" from real mode with
* registers as specified in "regs"
* (for the flags, though, only these flags are passed to the BIOS;
* the remainder come from the flags register at the time of the call:
* (PSL_C|PSL_PF|PSL_AF|PSL_Z|PSL_N|PSL_D|PSL_V)
*
* Fills in *regs with registers as returned by BIOS.
*/
still some generalization to do (moving this to a better named location,
cleaning up #if tests from NAPM > 0 to something else to allow easy
sharing by other drivers)
Thanks to Charles Hannum for complaining about the previous BIOS grapple
and inspiring me to hack this one together.