aboutsummaryrefslogtreecommitdiff
path: root/libdiskfs/=exc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/=exc.c')
-rw-r--r--libdiskfs/=exc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libdiskfs/=exc.c b/libdiskfs/=exc.c
index 3e0380c6..c3586e3a 100644
--- a/libdiskfs/=exc.c
+++ b/libdiskfs/=exc.c
@@ -15,6 +15,21 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+#include "priv.h"
+
+#define EXC_TABLE_SIZE 1024 /* Ack!XXX -- should be dynamically sized! */
+/* This is the table of addresses for which we should report faults
+ back to the faulting thread. */
+static struct
+{
+ struct pager *p;
+ vm_offset_t pager_offset;
+ void *offset;
+ long length;
+} memory_fault_table[EXC_TABLE_SIZE];
+
+static spin_lock_t memory_fault_lock;
+
/* Mark the memory at ADDR continuing for LEN bytes as mapped from pager P
at offset OFF. Call when vm_map-ing part of the disk.
CAVEAT: addr must not be zero. */