}
// Assembler entry points defined in romlayout.S
-extern void apm16protected_entry();
-extern void apm32protected_entry();
+extern void apm16protected_entry(void);
+extern void apm32protected_entry(void);
// APM 16 bit protected mode interface connect
static void
set_success(regs);
}
+void
+apm_shutdown(void)
+{
+ irq_disable();
+ out_str("Shutdown");
+ for (;;)
+ hlt();
+}
+
// APM Set Power State
static void
handle_155307(struct bregs *regs)
out_str("Suspend");
break;
case 3:
- irq_disable();
- out_str("Shutdown");
- for (;;)
- hlt();
+ apm_shutdown();
break;
}
set_success(regs);
set_unimplemented(regs);
}
-void VISIBLE16
+void
handle_1553(struct bregs *regs)
{
if (! CONFIG_APMBIOS) {
default: handle_1553XX(regs); break;
}
}
+
+void VISIBLE16
+handle_apm16(struct bregs *regs)
+{
+ debug_enter(regs, DEBUG_HDL_apm);
+ handle_1553(regs);
+}
+
+void VISIBLE32SEG
+handle_apm32(struct bregs *regs)
+{
+ debug_enter(regs, DEBUG_HDL_apm);
+ handle_1553(regs);
+}