From cb9700ef6f5ea2db575d9a7c91c74fb5756fea48 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Tue, 23 Jun 2009 16:57:05 -0400 Subject: [PATCH] [comboot] Implement INT 22h AX=000Bh (Get Serial Console Configuration) Signed-off-by: Michael Brown --- src/arch/i386/interface/syslinux/comboot_call.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/arch/i386/interface/syslinux/comboot_call.c b/src/arch/i386/interface/syslinux/comboot_call.c index 30fb49a1..08fd1736 100644 --- a/src/arch/i386/interface/syslinux/comboot_call.c +++ b/src/arch/i386/interface/syslinux/comboot_call.c @@ -39,6 +39,8 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include "config/console.h" +#include "config/serial.h" /** The "SYSLINUX" version string */ static char __data16_array ( syslinux_version, [] ) = "gPXE " VERSION; @@ -456,8 +458,14 @@ static __asmcall void int22 ( struct i386_all_regs *ix86 ) { break; case 0x000B: /* Get Serial Console Configuration */ - /* FIXME: stub */ +#if defined(CONSOLE_SERIAL) && !defined(COMPRESERVE) + ix86->regs.dx = COMCONSOLE; + ix86->regs.cx = 115200 / COMSPEED; + ix86->regs.bx = 0; +#else ix86->regs.dx = 0; +#endif + ix86->flags &= ~CF; break;