Presumably as a result of recent changes, FreeBSD no longer works with
writable page tables. In the short-term I'm more interested in
functionality than performance. This patch disables them and fixes a
compile issue.
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2005/04/29 19:26:00-07:00 kmacy@xxxxxxxxxxxxxxxxxxxx
# disable writable pagetables + compile fix
# Signed-off-by: Kip Macy <kmacy@xxxxxxxxxxx>
#
# freebsd-5.3-xen-sparse/i386-xen/include/xenpmap.h
# 2005/04/29 19:25:58-07:00 kmacy@xxxxxxxxxxxxxxxxxxxx +5 -3
# disable writable pagetables + compile fix
#
diff -Nru a/freebsd-5.3-xen-sparse/i386-xen/include/xenpmap.h
b/freebsd-5.3-xen-sparse/i386-xen/include/xenpmap.h
--- a/freebsd-5.3-xen-sparse/i386-xen/include/xenpmap.h 2005-04-28
19:30:44 -07:00
+++ b/freebsd-5.3-xen-sparse/i386-xen/include/xenpmap.h 2005-04-28
19:30:44 -07:00
@@ -59,7 +59,9 @@
#define PMAP_DEC_REF_PAGE(a)
#endif
+#if 0
#define WRITABLE_PAGETABLES
+#endif
#define ALWAYS_SYNC 0
#ifdef PT_DEBUG
@@ -118,18 +120,18 @@
#define PT_SET_VA(_ptp,_npte,sync) do { \
PMAP_REF((_ptp), xpmap_ptom(_npte)); \
- xen_queue_pt_update((pt_entry_t *)vtomach(_ptp), \
+ xen_queue_pt_update(vtomach(_ptp), \
xpmap_ptom(_npte)); \
if (sync || ALWAYS_SYNC) xen_flush_queue(); \
} while (/*CONSTCOND*/0)
#define PT_SET_VA_MA(_ptp,_npte,sync) do { \
PMAP_REF((_ptp), (_npte)); \
- xen_queue_pt_update((pt_entry_t *)vtomach(_ptp), _npte);\
+ xen_queue_pt_update(vtomach(_ptp), _npte); \
if (sync || ALWAYS_SYNC) xen_flush_queue(); \
} while (/*CONSTCOND*/0)
#define PT_CLEAR_VA(_ptp, sync) do { \
PMAP_REF((pt_entry_t *)(_ptp), 0); \
- xen_queue_pt_update((pt_entry_t *)vtomach(_ptp), 0); \
+ xen_queue_pt_update(vtomach(_ptp), 0); \
if (sync || ALWAYS_SYNC) \
xen_flush_queue(); \
} while (/*CONSTCOND*/0)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|