svn commit: r220788 - stable/8/sys/compat/x86bios
Jung-uk Kim
jkim at FreeBSD.org
Mon Apr 18 15:55:02 UTC 2011
Author: jkim
Date: Mon Apr 18 15:55:02 2011
New Revision: 220788
URL: http://svn.freebsd.org/changeset/base/220788
Log:
MFC: r219430
Remove custom interrupt dispatcher. This is a pointless micro-optimization
and it may cause problems if SS and SP are modified by real-mode code.
Modified:
stable/8/sys/compat/x86bios/x86bios.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/sys/compat/x86bios/x86bios.c
==============================================================================
--- stable/8/sys/compat/x86bios/x86bios.c Mon Apr 18 15:30:25 2011 (r220787)
+++ stable/8/sys/compat/x86bios/x86bios.c Mon Apr 18 15:55:02 2011 (r220788)
@@ -291,25 +291,6 @@ x86bios_emu_outl(struct x86emu *emu, uin
outl(port, val);
}
-static void
-x86bios_emu_get_intr(struct x86emu *emu, int intno)
-{
- uint16_t *sp;
- uint32_t iv;
-
- emu->x86.R_SP -= 6;
-
- sp = (uint16_t *)((vm_offset_t)x86bios_seg + emu->x86.R_SP);
- sp[0] = htole16(emu->x86.R_IP);
- sp[1] = htole16(emu->x86.R_CS);
- sp[2] = htole16(emu->x86.R_FLG);
-
- iv = x86bios_get_intr(intno);
- emu->x86.R_IP = iv & 0xffff;
- emu->x86.R_CS = (iv >> 16) & 0xffff;
- emu->x86.R_FLG &= ~(F_IF | F_TF);
-}
-
void *
x86bios_alloc(uint32_t *offset, size_t size)
{
@@ -567,7 +548,6 @@ x86bios_unmap_mem(void)
static void
x86bios_init(void *arg __unused)
{
- int i;
mtx_init(&x86bios_lock, "x86bios lock", NULL, MTX_SPIN);
@@ -598,9 +578,6 @@ x86bios_init(void *arg __unused)
x86bios_emu.emu_outb = x86bios_emu_outb;
x86bios_emu.emu_outw = x86bios_emu_outw;
x86bios_emu.emu_outl = x86bios_emu_outl;
-
- for (i = 0; i < 256; i++)
- x86bios_emu._x86emu_intrTab[i] = x86bios_emu_get_intr;
}
static void
More information about the svn-src-stable
mailing list