Changeset 95c675b in mainline for kernel/arch/riscv64/src/mm/page.c
- Timestamp:
- 2017-10-17T13:11:35Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 60af4cdb
- Parents:
- dbf32b1 (diff), a416d070 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/riscv64/src/mm/page.c
rdbf32b1 r95c675b 36 36 #include <genarch/mm/page_pt.h> 37 37 #include <arch/mm/frame.h> 38 #include <arch/cpu.h> 38 39 #include <mm/frame.h> 39 40 #include <mm/page.h> 40 41 #include <mm/as.h> 41 #include <typedefs.h>42 42 #include <align.h> 43 43 #include <config.h> … … 46 46 #include <arch/asm.h> 47 47 #include <debug.h> 48 #include <memstr.h>49 48 #include <print.h> 50 49 #include <interrupt.h> … … 52 51 void page_arch_init(void) 53 52 { 54 if (config.cpu_active == 1) 53 if (config.cpu_active == 1) { 55 54 page_mapping_operations = &pt_mapping_operations; 55 56 page_table_lock(AS_KERNEL, true); 57 58 /* 59 * PA2KA(identity) mapping for all low-memory frames. 60 */ 61 for (uintptr_t cur = 0; 62 cur < min(config.identity_size, config.physmem_end); 63 cur += FRAME_SIZE) 64 page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, 65 PAGE_GLOBAL | PAGE_CACHEABLE | PAGE_EXEC | PAGE_WRITE | PAGE_READ); 66 67 page_table_unlock(AS_KERNEL, true); 68 69 // FIXME: register page fault extension handler 70 71 write_satp((uintptr_t) AS_KERNEL->genarch.page_table); 72 73 /* The boot page table is no longer needed. */ 74 // FIXME: frame_mark_available(pt_frame, 1); 75 } 56 76 } 57 77 … … 60 80 } 61 81 82 void write_satp(uintptr_t ptl0) 83 { 84 uint64_t satp = ((ptl0 >> FRAME_WIDTH) & SATP_PFN_MASK) | 85 SATP_MODE_SV48; 86 87 asm volatile ( 88 "csrw sptbr, %[satp]\n" 89 :: [satp] "r" (satp) 90 ); 91 } 92 62 93 /** @} 63 94 */
Note:
See TracChangeset
for help on using the changeset viewer.