Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Mar 2010 15:56:04 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r205647 - head/sys/compat/x86bios
Message-ID:  <201003251556.o2PFu4rp068036@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu Mar 25 15:56:04 2010
New Revision: 205647
URL: http://svn.freebsd.org/changeset/base/205647

Log:
  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

Modified:
  head/sys/compat/x86bios/x86bios.c

Modified: head/sys/compat/x86bios/x86bios.c
==============================================================================
--- head/sys/compat/x86bios/x86bios.c	Thu Mar 25 15:53:02 2010	(r205646)
+++ head/sys/compat/x86bios/x86bios.c	Thu Mar 25 15:56:04 2010	(r205647)
@@ -307,8 +307,8 @@ x86bios_emu_get_intr(struct x86emu *emu,
 	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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003251556.o2PFu4rp068036>