diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-09-11 04:31:45 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-14 11:24:25 -0400 |
commit | 600715dcdf567c86f8b2c6173fcfb4b873e25a19 (patch) | |
tree | c2f3ed1c928d3cc47af0573b56c8da2f1df880a0 /include | |
parent | 9dfed08eb4086584205717894177a9ee930c88c4 (diff) |
generic: add phys_addr_t for holding physical addresses
Add a kernel-wide "phys_addr_t" which is guaranteed to be able to hold
any physical address. By default it equals the word size of the
architecture, but a 32-bit architecture can set ARCH_PHYS_ADDR_T_64BIT
if it needs a 64-bit phys_addr_t.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/page_32.h | 2 | ||||
-rw-r--r-- | include/asm-x86/page_64.h | 1 | ||||
-rw-r--r-- | include/linux/types.h | 6 |
3 files changed, 6 insertions, 3 deletions
diff --git a/include/asm-x86/page_32.h b/include/asm-x86/page_32.h index ab8528793f08..d0e58605a520 100644 --- a/include/asm-x86/page_32.h +++ b/include/asm-x86/page_32.h | |||
@@ -33,7 +33,6 @@ typedef u64 pmdval_t; | |||
33 | typedef u64 pudval_t; | 33 | typedef u64 pudval_t; |
34 | typedef u64 pgdval_t; | 34 | typedef u64 pgdval_t; |
35 | typedef u64 pgprotval_t; | 35 | typedef u64 pgprotval_t; |
36 | typedef u64 phys_addr_t; | ||
37 | 36 | ||
38 | typedef union { | 37 | typedef union { |
39 | struct { | 38 | struct { |
@@ -54,7 +53,6 @@ typedef unsigned long pmdval_t; | |||
54 | typedef unsigned long pudval_t; | 53 | typedef unsigned long pudval_t; |
55 | typedef unsigned long pgdval_t; | 54 | typedef unsigned long pgdval_t; |
56 | typedef unsigned long pgprotval_t; | 55 | typedef unsigned long pgprotval_t; |
57 | typedef unsigned long phys_addr_t; | ||
58 | 56 | ||
59 | typedef union { | 57 | typedef union { |
60 | pteval_t pte; | 58 | pteval_t pte; |
diff --git a/include/asm-x86/page_64.h b/include/asm-x86/page_64.h index c6916c83e6b1..2456fbf2d7dc 100644 --- a/include/asm-x86/page_64.h +++ b/include/asm-x86/page_64.h | |||
@@ -79,7 +79,6 @@ typedef unsigned long pmdval_t; | |||
79 | typedef unsigned long pudval_t; | 79 | typedef unsigned long pudval_t; |
80 | typedef unsigned long pgdval_t; | 80 | typedef unsigned long pgdval_t; |
81 | typedef unsigned long pgprotval_t; | 81 | typedef unsigned long pgprotval_t; |
82 | typedef unsigned long phys_addr_t; | ||
83 | 82 | ||
84 | typedef struct page *pgtable_t; | 83 | typedef struct page *pgtable_t; |
85 | 84 | ||
diff --git a/include/linux/types.h b/include/linux/types.h index d4a9ce6e2760..022c668496da 100644 --- a/include/linux/types.h +++ b/include/linux/types.h | |||
@@ -197,6 +197,12 @@ typedef u64 resource_size_t; | |||
197 | typedef u32 resource_size_t; | 197 | typedef u32 resource_size_t; |
198 | #endif | 198 | #endif |
199 | 199 | ||
200 | #ifdef CONFIG_PHYS_ADDR_T_64BIT | ||
201 | typedef u64 phys_addr_t; | ||
202 | #else | ||
203 | typedef u32 phys_addr_t; | ||
204 | #endif | ||
205 | |||
200 | struct ustat { | 206 | struct ustat { |
201 | __kernel_daddr_t f_tfree; | 207 | __kernel_daddr_t f_tfree; |
202 | __kernel_ino_t f_tinode; | 208 | __kernel_ino_t f_tinode; |