Bochs/bochs/patches/patch.seg-limit-real
Bryce Denney 6a34f364e6 - patch to work around bug
[ #429383 ] real mode seg limit: Bochs does #GP when Pentium does not
2001-06-13 15:00:10 +00:00

45 lines
1.7 KiB
Plaintext

----------------------------------------------------------------------
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);
}
}
}