aboutsummaryrefslogtreecommitdiffstats
path: root/core/bios.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2014-02-13 09:32:39 -0800
committerH. Peter Anvin <hpa@linux.intel.com>2014-02-13 15:40:13 -0800
commit636504f7bb6f9e86cc65addbfb36aed14dc1ecb4 (patch)
tree1fad7b5702b5af17c291838d02fd392951b10741 /core/bios.c
parent8c11d9231fa234ff30477ba9c958c9d3645abfa2 (diff)
downloadsyslinux-636504f7bb6f9e86cc65addbfb36aed14dc1ecb4.tar.gz
syslinux-636504f7bb6f9e86cc65addbfb36aed14dc1ecb4.tar.xz
syslinux-636504f7bb6f9e86cc65addbfb36aed14dc1ecb4.zip
bios: Remove comapi calls related to the ADV
The only comapi calls left are the ones related to the ADV and to shuffle and boot. Remove the ADV-related ones as part of getting rid of the comapi framework completely. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'core/bios.c')
-rw-r--r--core/bios.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/core/bios.c b/core/bios.c
index 7ad10bb3..ac1f48bc 100644
--- a/core/bios.c
+++ b/core/bios.c
@@ -12,6 +12,7 @@
#include <sys/vesa/video.h>
#include <sys/vesa/debug.h>
#include <minmax.h>
+#include "core.h"
__export struct firmware *firmware = NULL;
@@ -165,22 +166,12 @@ static void bios_get_serial_console_info(uint16_t *iobase, uint16_t *divisor,
*flowctl |= (0x80 << 8);
}
-void *__syslinux_adv_ptr;
-size_t __syslinux_adv_size;
-
void bios_adv_init(void)
{
static com32sys_t reg;
memset(&reg, 0, sizeof(reg));
- reg.eax.w[0] = 0x0025;
- __intcall(0x22, &reg, &reg);
-
- memset(&reg, 0, sizeof(reg));
- reg.eax.w[0] = 0x001c;
- __intcall(0x22, &reg, &reg);
- __syslinux_adv_ptr = MK_PTR(reg.es, reg.ebx.w[0]);
- __syslinux_adv_size = reg.ecx.w[0];
+ call16(adv_init, &reg, NULL);
}
int bios_adv_write(void)
@@ -188,8 +179,7 @@ int bios_adv_write(void)
static com32sys_t reg;
memset(&reg, 0, sizeof(reg));
- reg.eax.w[0] = 0x001d;
- __intcall(0x22, &reg, &reg);
+ call16(adv_write, &reg, &reg);
return (reg.eflags.l & EFLAGS_CF) ? -1 : 0;
}