- patch to work around bug
[ #429383 ] real mode seg limit: Bochs does #GP when Pentium does not
This commit is contained in:
parent
073dfe781d
commit
6a34f364e6
44
bochs/patches/patch.seg-limit-real
Normal file
44
bochs/patches/patch.seg-limit-real
Normal file
@ -0,0 +1,44 @@
|
||||
----------------------------------------------------------------------
|
||||
Patch name: patch.seg-limit-real
|
||||
Author: Bryce Denney
|
||||
Date: Wed Jun 13 10:54:16 EDT 2001
|
||||
|
||||
Detailed description:
|
||||
See sourceforge bug
|
||||
[ #429383 ] real mode seg limit: Bochs does #GP when Pentium does not
|
||||
URL is
|
||||
http://bochs.sf.net/cgi-bin/topper.pl?sftype=bug&id=429383
|
||||
|
||||
This patch may be applied if we can convince ourselves that real
|
||||
processors do not do this exception. The Intel docs say that the
|
||||
exception should happen under these circumstances, but Kasper Andersen
|
||||
reports that his pentium does not.
|
||||
|
||||
Apply patch to:
|
||||
current CVS
|
||||
Instructions:
|
||||
To patch, go to main bochs directory.
|
||||
Type "patch -p0 < THIS_PATCH_FILE".
|
||||
----------------------------------------------------------------------
|
||||
Index: cpu/access.cc
|
||||
===================================================================
|
||||
RCS file: /cvsroot/bochs/bochs/cpu/access.cc,v
|
||||
retrieving revision 1.7
|
||||
diff -u -r1.7 access.cc
|
||||
--- cpu/access.cc 2001/05/30 18:56:01 1.7
|
||||
+++ cpu/access.cc 2001/06/11 16:09:08
|
||||
@@ -98,10 +98,10 @@
|
||||
|
||||
else { /* real mode */
|
||||
if ( (offset + length - 1) > seg->cache.u.segment.limit_scaled) {
|
||||
- //BX_INFO(("write_virtual_checks() SEG EXCEPTION: %x:%x + %x",
|
||||
- // (unsigned) seg->selector.value, (unsigned) offset, (unsigned) length));
|
||||
- if (seg == & BX_CPU_THIS_PTR sregs[2]) exception(BX_SS_EXCEPTION, 0, 0);
|
||||
- else exception(BX_GP_EXCEPTION, 0, 0);
|
||||
+ BX_ERROR(("write_virtual_checks() SEG EXCEPTION IGNORED: %x:%x + %x",
|
||||
+ (unsigned) seg->selector.value, (unsigned) offset, (unsigned) length));
|
||||
+ //if (seg == & BX_CPU_THIS_PTR sregs[2]) exception(BX_SS_EXCEPTION, 0, 0);
|
||||
+ //else exception(BX_GP_EXCEPTION, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user