Changeset b3e8c90 in mainline for kernel/arch/sparc64/include/mm
- Timestamp:
- 2006-08-01T11:24:27Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e386cbf
- Parents:
- c049309
- Location:
- kernel/arch/sparc64/include/mm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/mm/mmu.h
rc049309 rb3e8c90 27 27 */ 28 28 29 29 /** @addtogroup sparc64mm 30 30 * @{ 31 31 */ … … 35 35 #ifndef __sparc64_MMU_H__ 36 36 #define __sparc64_MMU_H__ 37 38 #include <arch/asm.h>39 #include <arch/barrier.h>40 #include <arch/types.h>41 #include <typedefs.h>42 37 43 38 /** LSU Control Register ASI. */ … … 80 75 #define VA_DMMU_PA_WATCHPOINT_REG 0x40 /**< DMMU PA data watchpoint register. */ 81 76 77 #ifndef __ASM__ 78 79 #include <arch/asm.h> 80 #include <arch/barrier.h> 81 #include <arch/types.h> 82 #include <typedefs.h> 82 83 83 84 /** LSU Control Register. */ … … 103 104 typedef union lsu_cr_reg lsu_cr_reg_t; 104 105 105 106 #define immu_enable() immu_set(true) 107 #define immu_disable() immu_set(false) 108 #define dmmu_enable() dmmu_set(true) 109 #define dmmu_disable() dmmu_set(false) 110 111 /** Disable or Enable IMMU. */ 112 static inline void immu_set(bool enable) 113 { 114 lsu_cr_reg_t cr; 115 116 cr.value = asi_u64_read(ASI_LSU_CONTROL_REG, 0); 117 cr.im = enable; 118 asi_u64_write(ASI_LSU_CONTROL_REG, 0, cr.value); 119 membar(); 120 } 121 122 /** Disable or Enable DMMU. */ 123 static inline void dmmu_set(bool enable) 124 { 125 lsu_cr_reg_t cr; 126 127 cr.value = asi_u64_read(ASI_LSU_CONTROL_REG, 0); 128 cr.dm = enable; 129 asi_u64_write(ASI_LSU_CONTROL_REG, 0, cr.value); 130 membar(); 131 } 106 #endif /* !__ASM__ */ 132 107 133 108 #endif 134 109 135 110 /** @} 136 111 */ 137 -
kernel/arch/sparc64/include/mm/page.h
rc049309 rb3e8c90 27 27 */ 28 28 29 29 /** @addtogroup sparc64mm 30 30 * @{ 31 31 */ … … 66 66 #endif 67 67 68 68 /** @} 69 69 */ 70 -
kernel/arch/sparc64/include/mm/tlb.h
rc049309 rb3e8c90 27 27 */ 28 28 29 29 /** @addtogroup sparc64mm 30 30 * @{ 31 31 */ … … 228 228 reg.tlb_entry = entry; 229 229 asi_u64_write(ASI_DTLB_DATA_ACCESS_REG, reg.value, value); 230 flush();230 membar(); 231 231 } 232 232 … … 287 287 { 288 288 asi_u64_write(ASI_DMMU, VA_DMMU_TAG_ACCESS, v); 289 flush();289 membar(); 290 290 } 291 291 … … 317 317 { 318 318 asi_u64_write(ASI_DTLB_DATA_IN_REG, 0, v); 319 flush();319 membar(); 320 320 } 321 321 … … 355 355 { 356 356 asi_u64_write(ASI_DMMU, VA_DMMU_SFSR, v); 357 flush();357 membar(); 358 358 } 359 359 … … 408 408 409 409 asi_u64_write(ASI_DMMU_DEMAP, da.value, 0); 410 flush();410 membar(); 411 411 } 412 412 … … 419 419 #endif 420 420 421 /** @} 422 */ 423 421 /** @} 422 */ -
kernel/arch/sparc64/include/mm/tte.h
rc049309 rb3e8c90 27 27 */ 28 28 29 29 /** @addtogroup sparc64mm 30 30 * @{ 31 31 */ … … 78 78 #endif 79 79 80 80 /** @} 81 81 */ 82
Note:
See TracChangeset
for help on using the changeset viewer.