diff options
Diffstat (limited to 'i386')
-rw-r--r-- | i386/configfrag.ac | 2 | ||||
-rw-r--r-- | i386/i386/i386asm.sym | 1 | ||||
-rw-r--r-- | i386/i386/vm_param.h | 2 | ||||
-rw-r--r-- | i386/intel/pmap.c | 4 | ||||
-rw-r--r-- | i386/intel/pmap.h | 1 |
5 files changed, 7 insertions, 3 deletions
diff --git a/i386/configfrag.ac b/i386/configfrag.ac index f697e277..f07a98ca 100644 --- a/i386/configfrag.ac +++ b/i386/configfrag.ac @@ -106,6 +106,8 @@ AC_ARG_ENABLE([apic], enable_pae=${enable_pae-yes};; *:i?86) :;; + *:x86_64) + enable_pae=${enable_pae-yes};; *) if [ x"$enable_pae" = xyes ]; then] AC_MSG_ERROR([can only enable the `PAE' feature on ix86.]) diff --git a/i386/i386/i386asm.sym b/i386/i386/i386asm.sym index 0662aea0..9e1d13d7 100644 --- a/i386/i386/i386asm.sym +++ b/i386/i386/i386asm.sym @@ -122,6 +122,7 @@ expr sizeof(pt_entry_t) PTE_SIZE expr INTEL_PTE_PFN PTE_PFN expr INTEL_PTE_VALID PTE_V expr INTEL_PTE_WRITE PTE_W +expr INTEL_PTE_PS PTE_S expr ~INTEL_PTE_VALID PTE_INVALID expr NPTES PTES_PER_PAGE expr INTEL_PTE_VALID|INTEL_PTE_WRITE INTEL_PTE_KERNEL diff --git a/i386/i386/vm_param.h b/i386/i386/vm_param.h index edd9522c..314fdb35 100644 --- a/i386/i386/vm_param.h +++ b/i386/i386/vm_param.h @@ -36,7 +36,7 @@ * for better trace support in kdb; the _START symbol has to be offset by the * same amount. */ #ifdef __x86_64__ -#define VM_MIN_KERNEL_ADDRESS 0x40000000UL +#define VM_MIN_KERNEL_ADDRESS KERNEL_MAP_BASE #else #define VM_MIN_KERNEL_ADDRESS 0xC0000000UL #endif diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index 5302b092..57c18a0d 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -655,7 +655,7 @@ void pmap_bootstrap(void) pa_to_pte(_kvtophys((void *) kernel_page_dir + i * INTEL_PGBYTES)) | INTEL_PTE_VALID -#ifdef MACH_PV_PAGETABLES +#if !defined(MACH_HYP) || defined(MACH_PV_PAGETABLES) | INTEL_PTE_WRITE #endif ); @@ -1298,7 +1298,7 @@ pmap_t pmap_create(vm_size_t size) WRITE_PTE(&p->pdpbase[i], pa_to_pte(kvtophys((vm_offset_t) page_dir[i])) | INTEL_PTE_VALID -#ifdef MACH_PV_PAGETABLES +#if !defined(MACH_HYP) || defined(MACH_PV_PAGETABLES) | INTEL_PTE_WRITE #endif ); diff --git a/i386/intel/pmap.h b/i386/intel/pmap.h index 63683bc5..bad640c1 100644 --- a/i386/intel/pmap.h +++ b/i386/intel/pmap.h @@ -148,6 +148,7 @@ typedef phys_addr_t pt_entry_t; #define INTEL_PTE_NCACHE 0x00000010 #define INTEL_PTE_REF 0x00000020 #define INTEL_PTE_MOD 0x00000040 +#define INTEL_PTE_PS 0x00000080 #ifdef MACH_PV_PAGETABLES /* Not supported */ #define INTEL_PTE_GLOBAL 0x00000000 |