]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ppc/pmap.h
xnu-344.23.tar.gz
[apple/xnu.git] / osfmk / ppc / pmap.h
index d2063239b98d9c352ee59932e4afff930857579e..44bac791821923750584a5cefa85ab7c6cbde473 100644 (file)
@@ -69,6 +69,7 @@ struct pmap {
 #define pmapBatIVal 0x0F000000
 #define pmapFlags   0x00FF0000
 #define pmapSubord  0x00800000
 #define pmapBatIVal 0x0F000000
 #define pmapFlags   0x00FF0000
 #define pmapSubord  0x00800000
+#define pmapVMhost  0x00400000
 #define pmapAltSeg     0x0000FFFF
        unsigned int    spaceNum;               /* Space number */
 /*     PPC line boundary here - 020 */
 #define pmapAltSeg     0x0000FFFF
        unsigned int    spaceNum;               /* Space number */
 /*     PPC line boundary here - 020 */
@@ -116,6 +117,17 @@ extern pmap_t      cursor_pmap;                    /* The pmap to start allocations with */
 #define pmap_phys_address(x)   ((x) << PPC_PGSHIFT)
 #define pmap_phys_to_frame(x)  ((x) >> PPC_PGSHIFT)
 
 #define pmap_phys_address(x)   ((x) << PPC_PGSHIFT)
 #define pmap_phys_to_frame(x)  ((x) >> PPC_PGSHIFT)
 
+#define PMAP_DEFAULT_CACHE     0
+#define PMAP_INHIBIT_CACHE     1
+#define PMAP_GUARDED_CACHE     2
+#define PMAP_ACTIVATE_CACHE    4
+#define PMAP_NO_GUARD_CACHE    8
+
+/* corresponds to cached, coherent, not writethru, not guarded */
+#define VM_WIMG_DEFAULT                VM_MEM_COHERENT
+#define VM_WIMG_IO             VM_MEM_COHERENT |       \
+                               VM_MEM_NOT_CACHEABLE | VM_MEM_GUARDED
+
 /* 
  * prototypes.
  */
 /* 
  * prototypes.
  */
@@ -154,6 +166,7 @@ extern void sync_cache(vm_offset_t pa, unsigned length);
 extern void flush_dcache(vm_offset_t va, unsigned length, boolean_t phys);
 extern void invalidate_dcache(vm_offset_t va, unsigned length, boolean_t phys);
 extern void invalidate_icache(vm_offset_t va, unsigned length, boolean_t phys);
 extern void flush_dcache(vm_offset_t va, unsigned length, boolean_t phys);
 extern void invalidate_dcache(vm_offset_t va, unsigned length, boolean_t phys);
 extern void invalidate_icache(vm_offset_t va, unsigned length, boolean_t phys);
+extern void pmap_sync_caches_phys(vm_offset_t pa);
 extern void invalidate_cache_for_io(vm_offset_t va, unsigned length, boolean_t phys);
 extern void pmap_map_block(pmap_t pmap, vm_offset_t va, vm_offset_t pa, vm_size_t size,
         vm_prot_t prot, int attr, unsigned int flags); /* Map a block */
 extern void invalidate_cache_for_io(vm_offset_t va, unsigned length, boolean_t phys);
 extern void pmap_map_block(pmap_t pmap, vm_offset_t va, vm_offset_t pa, vm_size_t size,
         vm_prot_t prot, int attr, unsigned int flags); /* Map a block */