// Main 16bit entry point void handle_155f(struct bregs *regs) { if (!CONFIG_VGAHOOKS) { handle_155fXX(regs); return; } int htype = GET_GLOBAL(VGAHookHandlerType); switch (htype) { case VH_VIA: via_155f(regs); break; case VH_INTEL: intel_155f(regs); break; default: handle_155fXX(regs); break; } }
static void intel_155f(struct bregs *regs) { switch (regs->al) { case 0x35: intel_155f35(regs); break; case 0x40: intel_155f40(regs); break; default: handle_155fXX(regs); break; } }
static void via_155f(struct bregs *regs) { switch (regs->al) { case 0x01: via_155f01(regs); break; case 0x02: via_155f02(regs); break; case 0x18: via_155f18(regs); break; case 0x19: via_155f19(regs); break; default: handle_155fXX(regs); break; } }