summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/pmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ia64/include/pmap.h')
-rw-r--r--sys/ia64/include/pmap.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/sys/ia64/include/pmap.h b/sys/ia64/include/pmap.h
index 3db0cad..e9c8952 100644
--- a/sys/ia64/include/pmap.h
+++ b/sys/ia64/include/pmap.h
@@ -114,24 +114,29 @@ extern vm_offset_t virtual_end;
extern uint64_t pmap_vhpt_base[];
extern int pmap_vhpt_log2size;
+#define pmap_mapbios(pa,sz) pmap_mapdev_attr(pa,sz,VM_MEMATTR_UNCACHEABLE)
+#define pmap_mapdev(pa,sz) pmap_mapdev_attr(pa,sz,VM_MEMATTR_UNCACHEABLE)
+#define pmap_unmapbios(va,sz) pmap_unmapdev(va,sz)
+
#define pmap_page_get_memattr(m) ((m)->md.memattr)
-#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list))
+#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list))
#define pmap_page_is_write_mapped(m) (((m)->aflags & PGA_WRITEABLE) != 0)
-#define pmap_mapbios(pa, sz) pmap_mapdev(pa, sz)
-#define pmap_unmapbios(va, sz) pmap_unmapdev(va, sz)
-vm_offset_t pmap_alloc_vhpt(void);
-void pmap_bootstrap(void);
-void pmap_invalidate_all(void);
-void pmap_kenter(vm_offset_t va, vm_offset_t pa);
+void pmap_kenter(vm_offset_t va, vm_paddr_t pa);
vm_paddr_t pmap_kextract(vm_offset_t va);
void pmap_kremove(vm_offset_t);
-void *pmap_mapdev(vm_paddr_t, vm_size_t);
+void *pmap_mapdev_attr(vm_paddr_t, vm_size_t, vm_memattr_t);
void pmap_page_set_memattr(vm_page_t, vm_memattr_t);
+void pmap_unmapdev(vm_offset_t, vm_size_t);
+
+/* Machine-architecture private */
+vm_offset_t pmap_alloc_vhpt(void);
+void pmap_bootstrap(void);
+void pmap_invalidate_all(void);
+vm_offset_t pmap_mapdev_priv(vm_paddr_t, vm_size_t, vm_memattr_t);
vm_offset_t pmap_page_to_va(vm_page_t);
vm_offset_t pmap_steal_memory(vm_size_t);
struct pmap *pmap_switch(struct pmap *pmap);
-void pmap_unmapdev(vm_offset_t, vm_size_t);
#endif /* _KERNEL */
OpenPOWER on IntegriCloud