summaryrefslogtreecommitdiff
path: root/i386/intel/pmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'i386/intel/pmap.c')
-rw-r--r--i386/intel/pmap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c
index b07644a..3505f52 100644
--- a/i386/intel/pmap.c
+++ b/i386/intel/pmap.c
@@ -764,11 +764,14 @@ void pmap_bootstrap()
else
{
#ifdef MACH_XEN
+ /* Keep supplementary L1 pages read-only */
int i;
for (i = 0; i < NSUP_L1; i++)
- if (va == (vm_offset_t) l1_map[i])
+ if (va == (vm_offset_t) l1_map[i]) {
WRITE_PTE(pte, pa_to_pte(_kvtophys(va))
| INTEL_PTE_VALID | global);
+ break;
+ }
if (i == NSUP_L1)
#endif /* MACH_XEN */
WRITE_PTE(pte, pa_to_pte(_kvtophys(va))