parlib: Add synchronization objects
[akaros.git] / kern / arch / riscv / pmap.c
index 33da797..f44f92b 100644 (file)
@@ -98,6 +98,12 @@ page_check(void)
 {
 }
 
+uintptr_t gva2gpa(struct proc *p, uintptr_t cr3, uintptr_t gva)
+{
+       panic("Unimplemented");
+       return 0;
+}
+
 int arch_pgdir_setup(pgdir_t boot_copy, pgdir_t *new_pd)
 {
        pte_t *kpt = kpage_alloc_addr();
@@ -120,3 +126,28 @@ void arch_pgdir_clear(pgdir_t *pd)
 {
        *pd = 0;
 }
+
+/* Returns the page shift of the largest jumbo supported */
+int arch_max_jumbo_page_shift(void)
+{
+       #warning "What jumbo page sizes does RISC support?"
+       return PGSHIFT;
+}
+
+#warning "Not sure where you do your PT destruction.  Be sure to not unmap any intermediate page tables for kernel mappings.  At least not the PML(n-1) maps"
+
+void arch_add_intermediate_pts(pgdir_t pgdir, uintptr_t va, size_t len)
+{
+       #error "Implement me"
+}
+
+void map_segment(pgdir_t pgdir, uintptr_t va, size_t size, physaddr_t pa,
+                 int perm, int pml_shift)
+{
+       #error "Implement me"
+}
+
+int unmap_segment(pgdir_t pgdir, uintptr_t va, size_t size)
+{
+       #error "Implement me"
+}