summaryrefslogtreecommitdiff
path: root/com32/lib/syslinux/serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'com32/lib/syslinux/serial.c')
-rw-r--r--com32/lib/syslinux/serial.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/com32/lib/syslinux/serial.c b/com32/lib/syslinux/serial.c
index 4c6c1995..bc41acfc 100644
--- a/com32/lib/syslinux/serial.c
+++ b/com32/lib/syslinux/serial.c
@@ -35,31 +35,16 @@
#include <syslinux/firmware.h>
#include <syslinux/config.h>
#include <string.h>
-#include <com32.h>
struct syslinux_serial_console_info __syslinux_serial_console_info;
-void bios_get_serial_console_info(uint16_t *iobase, uint16_t *divisor,
- uint16_t *flowctl)
-{
- static com32sys_t reg;
-
- memset(&reg, 0, sizeof reg);
- reg.eax.w[0] = 0x000b;
- __intcall(0x22, &reg, &reg);
-
- *iobase = reg.edx.w[0];
- *divisor = reg.ecx.w[0];
- *flowctl = reg.ebx.w[0];
-}
-
void __constructor __syslinux_get_serial_console_info(void)
{
- uint16_t iobase, divisor, flowctl;
+ uint16_t iobase, divisor, flowctl;
- firmware->get_serial_console_info(&iobase, &divisor, &flowctl);
+ firmware->get_serial_console_info(&iobase, &divisor, &flowctl);
- __syslinux_serial_console_info.iobase = iobase;
- __syslinux_serial_console_info.divisor = divisor;
- __syslinux_serial_console_info.flowctl = flowctl;
+ __syslinux_serial_console_info.iobase = iobase;
+ __syslinux_serial_console_info.divisor = divisor;
+ __syslinux_serial_console_info.flowctl = flowctl;
}