Changeset 7f1c620 in mainline for arch/amd64/include/mm/page.h
- Timestamp:
- 2006-07-04T17:17:56Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0ffa3ef5
- Parents:
- 991779c5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/include/mm/page.h
r991779c5 r7f1c620 27 27 */ 28 28 29 /** @addtogroup amd64mm 29 /** @addtogroup amd64mm 30 30 * @{ 31 31 */ … … 61 61 62 62 #ifndef __ASM__ 63 static inline __address ka2pa(__addressx)63 static inline uintptr_t ka2pa(uintptr_t x) 64 64 { 65 65 if (x > 0xffffffff80000000) … … 68 68 return x - 0xffff800000000000; 69 69 } 70 # define KA2PA(x) ka2pa(( __address)x)71 # define PA2KA_CODE(x) ((( __address) (x)) + 0xffffffff80000000)72 # define PA2KA(x) ((( __address) (x)) + 0xffff800000000000)70 # define KA2PA(x) ka2pa((uintptr_t)x) 71 # define PA2KA_CODE(x) (((uintptr_t) (x)) + 0xffffffff80000000) 72 # define PA2KA(x) (((uintptr_t) (x)) + 0xffff800000000000) 73 73 #else 74 74 # define KA2PA(x) ((x) - 0xffffffff80000000) … … 86 86 #define PTL3_INDEX_ARCH(vaddr) (((vaddr)>>12)&0x1ff) 87 87 88 #define GET_PTL1_ADDRESS_ARCH(ptl0, i) ((pte_t *) (((( __u64) ((pte_t *)(ptl0))[(i)].addr_12_31)<<12) | (((__u64) ((pte_t *)(ptl0))[(i)].addr_32_51)<<32 )))89 #define GET_PTL2_ADDRESS_ARCH(ptl1, i) ((pte_t *) (((( __u64) ((pte_t *)(ptl1))[(i)].addr_12_31)<<12) | (((__u64) ((pte_t *)(ptl1))[(i)].addr_32_51)<<32 )))90 #define GET_PTL3_ADDRESS_ARCH(ptl2, i) ((pte_t *) (((( __u64) ((pte_t *)(ptl2))[(i)].addr_12_31)<<12) | (((__u64) ((pte_t *)(ptl2))[(i)].addr_32_51)<<32 )))91 #define GET_FRAME_ADDRESS_ARCH(ptl3, i) (( __address *) ((((__u64) ((pte_t *)(ptl3))[(i)].addr_12_31)<<12) | (((__u64) ((pte_t *)(ptl3))[(i)].addr_32_51)<<32 )))92 93 #define SET_PTL0_ADDRESS_ARCH(ptl0) (write_cr3(( __address) (ptl0)))88 #define GET_PTL1_ADDRESS_ARCH(ptl0, i) ((pte_t *) ((((uint64_t) ((pte_t *)(ptl0))[(i)].addr_12_31)<<12) | (((uint64_t) ((pte_t *)(ptl0))[(i)].addr_32_51)<<32 ))) 89 #define GET_PTL2_ADDRESS_ARCH(ptl1, i) ((pte_t *) ((((uint64_t) ((pte_t *)(ptl1))[(i)].addr_12_31)<<12) | (((uint64_t) ((pte_t *)(ptl1))[(i)].addr_32_51)<<32 ))) 90 #define GET_PTL3_ADDRESS_ARCH(ptl2, i) ((pte_t *) ((((uint64_t) ((pte_t *)(ptl2))[(i)].addr_12_31)<<12) | (((uint64_t) ((pte_t *)(ptl2))[(i)].addr_32_51)<<32 ))) 91 #define GET_FRAME_ADDRESS_ARCH(ptl3, i) ((uintptr_t *) ((((uint64_t) ((pte_t *)(ptl3))[(i)].addr_12_31)<<12) | (((uint64_t) ((pte_t *)(ptl3))[(i)].addr_32_51)<<32 ))) 92 93 #define SET_PTL0_ADDRESS_ARCH(ptl0) (write_cr3((uintptr_t) (ptl0))) 94 94 #define SET_PTL1_ADDRESS_ARCH(ptl0, i, a) set_pt_addr((pte_t *)(ptl0), (index_t)(i), a) 95 95 #define SET_PTL2_ADDRESS_ARCH(ptl1, i, a) set_pt_addr((pte_t *)(ptl1), (index_t)(i), a) … … 107 107 #define SET_FRAME_FLAGS_ARCH(ptl3, i, x) set_pt_flags((pte_t *)(ptl3), (index_t)(i), (x)) 108 108 109 #define PTE_VALID_ARCH(p) (*(( __u64*) (p)) != 0)109 #define PTE_VALID_ARCH(p) (*((uint64_t *) (p)) != 0) 110 110 #define PTE_PRESENT_ARCH(p) ((p)->present != 0) 111 #define PTE_GET_FRAME_ARCH(p) (((( __address)(p)->addr_12_31)<<12) | ((__address)(p)->addr_32_51<<32))111 #define PTE_GET_FRAME_ARCH(p) ((((uintptr_t)(p)->addr_12_31)<<12) | ((uintptr_t)(p)->addr_32_51<<32)) 112 112 #define PTE_WRITABLE_ARCH(p) ((p)->writeable != 0) 113 113 #define PTE_EXECUTABLE_ARCH(p) ((p)->no_execute == 0) … … 165 165 } 166 166 167 static inline void set_pt_addr(pte_t *pt, index_t i, __addressa)167 static inline void set_pt_addr(pte_t *pt, index_t i, uintptr_t a) 168 168 { 169 169 pte_t *p = &pt[i]; … … 198 198 #endif 199 199 200 /** @} 201 */ 202 200 /** @} 201 */
Note:
See TracChangeset
for help on using the changeset viewer.