From 49ca5d49ba1fb8b0550024f816e6e6bb7f9e3a0a Mon Sep 17 00:00:00 2001 From: jkim Date: Thu, 25 Mar 2010 15:56:04 +0000 Subject: Fix stupid typos. Some VESA BIOSes directly call BIOS interrupt handlers within the VBE interrupt handler. Unfortunately it was causing real mode page faults because we were fetching instructions from bogus addresses. Pass me the pointyhat, please. PR: kern/144654 MFC after: 3 days --- sys/compat/x86bios/x86bios.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/compat/x86bios') diff --git a/sys/compat/x86bios/x86bios.c b/sys/compat/x86bios/x86bios.c index af352af..e90d80b 100644 --- a/sys/compat/x86bios/x86bios.c +++ b/sys/compat/x86bios/x86bios.c @@ -307,8 +307,8 @@ x86bios_emu_get_intr(struct x86emu *emu, int intno) sp[2] = htole16(emu->x86.R_FLG); iv = x86bios_get_intr(intno); - emu->x86.R_IP = iv & 0x000f; - emu->x86.R_CS = (iv >> 12) & 0xffff; + emu->x86.R_IP = iv & 0xffff; + emu->x86.R_CS = (iv >> 16) & 0xffff; emu->x86.R_FLG &= ~(F_IF | F_TF); } -- cgit v1.1