diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2010-03-25 15:56:04 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2010-03-25 15:56:04 +0000 |
commit | ad51361a2ca6c2932e50c867f8be945dd5504ed8 (patch) | |
tree | bd44974dd2643aa199fd9c452b9430d91c5ac197 /sys | |
parent | a0ea661f5e3a47074e54104f403d8356a5946a8f (diff) | |
download | src-ad51361a2ca6c2932e50c867f8be945dd5504ed8.tar.gz src-ad51361a2ca6c2932e50c867f8be945dd5504ed8.zip |
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
Notes
Notes:
svn path=/head/; revision=205647
Diffstat (limited to 'sys')
-rw-r--r-- | sys/compat/x86bios/x86bios.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/x86bios/x86bios.c b/sys/compat/x86bios/x86bios.c index af352af3a2fa..e90d80bac57c 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); } |