Page MenuHomeFreeBSD

D32445.id96636.diff
No OneTemporary

D32445.id96636.diff

Index: sys/kern/subr_devmap.c
===================================================================
--- sys/kern/subr_devmap.c
+++ sys/kern/subr_devmap.c
@@ -290,7 +290,7 @@
return ((void *)(va + offset));
}
-#if defined(__aarch64__)
+#if defined(__aarch64__) || defined(__riscv)
void *
pmap_mapdev_attr(vm_offset_t pa, vm_size_t size, vm_memattr_t ma)
{
Index: sys/riscv/include/pmap.h
===================================================================
--- sys/riscv/include/pmap.h
+++ sys/riscv/include/pmap.h
@@ -145,10 +145,12 @@
void pmap_activate_sw(struct thread *);
void pmap_bootstrap(vm_offset_t, vm_paddr_t, vm_size_t);
int pmap_change_attr(vm_offset_t va, vm_size_t size, int mode);
+void pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode);
void pmap_kenter_device(vm_offset_t, vm_size_t, vm_paddr_t);
vm_paddr_t pmap_kextract(vm_offset_t va);
void pmap_kremove(vm_offset_t);
void pmap_kremove_device(vm_offset_t, vm_size_t);
+void *pmap_mapdev_attr(vm_offset_t pa, vm_size_t size, vm_memattr_t ma);
bool pmap_page_is_mapped(vm_page_t m);
bool pmap_ps_enabled(pmap_t);
Index: sys/riscv/riscv/pmap.c
===================================================================
--- sys/riscv/riscv/pmap.c
+++ sys/riscv/riscv/pmap.c
@@ -914,7 +914,7 @@
***************************************************/
void
-pmap_kenter_device(vm_offset_t sva, vm_size_t size, vm_paddr_t pa)
+pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode)
{
pt_entry_t entry;
pt_entry_t *l3;
@@ -945,6 +945,12 @@
pmap_invalidate_range(kernel_pmap, sva, va);
}
+void
+pmap_kenter_device(vm_offset_t sva, vm_size_t size, vm_paddr_t pa)
+{
+ pmap_kenter(sva, size, pa, VM_MEMATTR_DEVICE);
+}
+
/*
* Remove a page from the kernel pagetables.
* Note: not SMP coherent.

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 28, 10:42 PM (12 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26306415
Default Alt Text
D32445.id96636.diff (1 KB)

Event Timeline