diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-06-07 14:51:14 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-06-07 14:51:14 -0400 |
commit | 0fae9e18fc6c9ae0f6745c38c5363892a776bf03 (patch) | |
tree | 3854caf784e4cb739c7d8c6d696553c22899d74f /src/apm.c | |
parent | db9e65ea4caa530198415ec580b2be05ab7b94fd (diff) | |
download | seabios-hppa-0fae9e18fc6c9ae0f6745c38c5363892a776bf03.zip seabios-hppa-0fae9e18fc6c9ae0f6745c38c5363892a776bf03.tar.gz seabios-hppa-0fae9e18fc6c9ae0f6745c38c5363892a776bf03.tar.bz2 |
APM fixes; don't save/clear/restore %esp high bits.
Don't worry about %esp high bits - 16bit protected mode may require
the bits to be set. It would be very odd to call into the bios
with junk in %esp high bits.
Fix 32bit apm entry point.
Don't log apm calls 155306/15530b.
Diffstat (limited to 'src/apm.c')
-rw-r--r-- | src/apm.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -97,6 +97,13 @@ handle_155305(struct bregs *regs) set_success(regs); } +// APM cpu busy +static void +handle_155306(struct bregs *regs) +{ + set_success(regs); +} + // APM Set Power State static void handle_155307(struct bregs *regs) @@ -141,12 +148,13 @@ handle_15530a(struct bregs *regs) set_success(regs); } +#define RET_ENOEVENT 0x80 + // Get PM Event static void handle_15530b(struct bregs *regs) { - set_fail(regs); - regs->ah = 0x80; // no event pending + set_code_fail_silent(regs, RET_ENOEVENT); } // APM Driver Version @@ -196,6 +204,7 @@ handle_1553(struct bregs *regs) case 0x03: handle_155303(regs); break; case 0x04: handle_155304(regs); break; case 0x05: handle_155305(regs); break; + case 0x06: handle_155306(regs); break; case 0x07: handle_155307(regs); break; case 0x08: handle_155308(regs); break; case 0x0a: handle_15530a(regs); break; |