void handle_1553(struct bregs *regs) { if (! CONFIG_APMBIOS) { set_code_invalid(regs, RET_EUNSUPPORTED); return; } //debug_stub(regs); switch (regs->al) { case 0x00: handle_155300(regs); break; case 0x01: handle_155301(regs); break; case 0x02: handle_155302(regs); break; 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; case 0x0b: handle_15530b(regs); break; case 0x0e: handle_15530e(regs); break; case 0x0f: handle_15530f(regs); break; case 0x10: handle_155310(regs); break; default: handle_1553XX(regs); break; } }
static void via_155f18(struct bregs *regs) { int fbsize = GET_GLOBAL(ViaFBsize), ramspeed = GET_GLOBAL(ViaRamSpeed); if (fbsize < 0 || ramspeed < 0) { set_code_invalid(regs, RET_EUNSUPPORTED); return; } regs->eax = 0x5f; regs->ebx = 0x500 | (ramspeed << 4) | fbsize; regs->ecx = 0x060; set_success(regs); }