Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Mar 2010 15:59:37 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r205837 - stable/8/sys/compat/x86bios
Message-ID:  <201003291559.o2TFxbE4001874@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Mon Mar 29 15:59:37 2010
New Revision: 205837
URL: http://svn.freebsd.org/changeset/base/205837

Log:
  MFC:	r205647
  
  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.
  
  PR:		kern/144654

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)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/compat/x86bios/x86bios.c
==============================================================================
--- stable/8/sys/compat/x86bios/x86bios.c	Mon Mar 29 15:39:17 2010	(r205836)
+++ stable/8/sys/compat/x86bios/x86bios.c	Mon Mar 29 15:59:37 2010	(r205837)
@@ -267,8 +267,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?201003291559.o2TFxbE4001874>