Changeset ff9f858 in mainline for include/mm/page.h
- Timestamp:
- 2005-06-30T23:27:02Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a1a03f9
- Parents:
- 992bbb97
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
include/mm/page.h
r992bbb97 rff9f858 31 31 32 32 #include <arch/types.h> 33 #include <arch/mm/page.h>34 33 #include <typedefs.h> 35 34 36 #define PAGE_NOT_CACHEABLE (0<<0) 37 #define PAGE_CACHEABLE (1<<0) 35 #define PAGE_CACHEABLE_SHIFT 0 36 #define PAGE_NOT_CACHEABLE_SHIFT PAGE_CACHEABLE_SHIFT 37 #define PAGE_PRESENT_SHIFT 1 38 #define PAGE_NOT_PRESENT_SHIFT PAGE_PRESENT_SHIFT 39 #define PAGE_USER_SHIFT 2 40 #define PAGE_KERNEL_SHIFT PAGE_USER_SHIFT 41 #define PAGE_READ_SHIFT 3 42 #define PAGE_WRITE_SHIFT 4 43 #define PAGE_EXEC_SHIFT 5 38 44 39 #define PAGE_ PRESENT (0<<1)40 #define PAGE_ NOT_PRESENT (1<<1)45 #define PAGE_NOT_CACHEABLE (0<<PAGE_CACHEABLE_SHIFT) 46 #define PAGE_CACHEABLE (1<<PAGE_CACHEABLE_SHIFT) 41 47 42 #define PAGE_ USER (1<<2)43 #define PAGE_ KERNEL (0<<2)48 #define PAGE_PRESENT (0<<PAGE_PRESENT_SHIFT) 49 #define PAGE_NOT_PRESENT (1<<PAGE_PRESENT_SHIFT) 44 50 45 #define PAGE_READ (1<<3) 46 #define PAGE_WRITE (1<<4) 47 #define PAGE_EXEC (1<<5) 51 #define PAGE_USER (1<<PAGE_USER_SHIFT) 52 #define PAGE_KERNEL (0<<PAGE_USER_SHIFT) 53 54 #define PAGE_READ (1<<PAGE_READ_SHIFT) 55 #define PAGE_WRITE (1<<PAGE_WRITE_SHIFT) 56 #define PAGE_EXEC (1<<PAGE_EXEC_SHIFT) 48 57 49 58 /* … … 61 70 #define PTL3_INDEX(vaddr) PTL3_INDEX_ARCH(vaddr) 62 71 72 #define GET_PTL0_ADDRESS() GET_PTL0_ADDRESS_ARCH() 73 #define SET_PTL0_ADDRESS(ptl0) SET_PTL0_ADDRESS_ARCH(ptl0) 74 63 75 /* 64 76 * These macros traverse the 4-level tree of page tables, 65 77 * each descending by one level. 66 78 */ 79 #define GET_PTL0_ADDRESS() GET_PTL0_ADDRESS_ARCH() 67 80 #define GET_PTL1_ADDRESS(ptl0, i) GET_PTL1_ADDRESS_ARCH(ptl0, i) 68 81 #define GET_PTL2_ADDRESS(ptl1, i) GET_PTL2_ADDRESS_ARCH(ptl1, i) … … 74 87 * tree of page tables on respective level. 75 88 */ 89 #define SET_PTL0_ADDRESS(ptl0) SET_PTL0_ADDRESS_ARCH(ptl0) 76 90 #define SET_PTL1_ADDRESS(ptl0, i, a) SET_PTL1_ADDRESS_ARCH(ptl0, i, a) 77 91 #define SET_PTL2_ADDRESS(ptl1, i, a) SET_PTL2_ADDRESS_ARCH(ptl1, i, a) 78 92 #define SET_PTL3_ADDRESS(ptl2, i, a) SET_PTL3_ADDRESS_ARCH(ptl2, i, a) 79 93 #define SET_FRAME_ADDRESS(ptl3, i, a) SET_FRAME_ADDRESS_ARCH(ptl3, i, a) 94 95 /* 96 * These macros are provided to query various flags within the page tables. 97 */ 98 #define GET_PTL1_FLAGS(ptl0, i) GET_PTL1_FLAGS_ARCH(ptl0, i) 99 #define GET_PTL2_FLAGS(ptl1, i) GET_PTL2_FLAGS_ARCH(ptl1, i) 100 #define GET_PTL3_FLAGS(ptl2, i) GET_PTL3_FLAGS_ARCH(ptl2, i) 101 #define GET_FRAME_FLAGS(ptl3, i) GET_FRAME_FLAGS_ARCH(ptl3, i) 80 102 81 103 /* … … 87 109 #define SET_FRAME_FLAGS(ptl3, i, x) SET_FRAME_FLAGS_ARCH(ptl3, i, x) 88 110 111 #include <arch/mm/page.h> 89 112 90 113 extern void page_init(void);
Note:
See TracChangeset
for help on using the changeset viewer.