Commit 600715dcdf567c86f8b2c6173fcfb4b873e25a19
Committed by
Ingo Molnar
1 parent
9dfed08eb4
Exists in
master
and in
4 other branches
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>
Showing 7 changed files with 15 additions and 10 deletions Side-by-side Diff
arch/powerpc/Kconfig
arch/powerpc/include/asm/types.h
... | ... | @@ -48,13 +48,6 @@ |
48 | 48 | |
49 | 49 | typedef __vector128 vector128; |
50 | 50 | |
51 | -/* Physical address used by some IO functions */ | |
52 | -#if defined(CONFIG_PPC64) || defined(CONFIG_PHYS_64BIT) | |
53 | -typedef u64 phys_addr_t; | |
54 | -#else | |
55 | -typedef u32 phys_addr_t; | |
56 | -#endif | |
57 | - | |
58 | 51 | #ifdef __powerpc64__ |
59 | 52 | typedef u64 dma_addr_t; |
60 | 53 | #else |
arch/x86/Kconfig
... | ... | @@ -932,6 +932,9 @@ |
932 | 932 | has the cost of more pagetable lookup overhead, and also |
933 | 933 | consumes more pagetable space per process. |
934 | 934 | |
935 | +config ARCH_PHYS_ADDR_T_64BIT | |
936 | + def_bool X86_64 || X86_PAE | |
937 | + | |
935 | 938 | # Common NUMA Features |
936 | 939 | config NUMA |
937 | 940 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" |
include/asm-x86/page_32.h
... | ... | @@ -33,7 +33,6 @@ |
33 | 33 | typedef u64 pudval_t; |
34 | 34 | typedef u64 pgdval_t; |
35 | 35 | typedef u64 pgprotval_t; |
36 | -typedef u64 phys_addr_t; | |
37 | 36 | |
38 | 37 | typedef union { |
39 | 38 | struct { |
... | ... | @@ -54,7 +53,6 @@ |
54 | 53 | typedef unsigned long pudval_t; |
55 | 54 | typedef unsigned long pgdval_t; |
56 | 55 | typedef unsigned long pgprotval_t; |
57 | -typedef unsigned long phys_addr_t; | |
58 | 56 | |
59 | 57 | typedef union { |
60 | 58 | pteval_t pte; |
include/asm-x86/page_64.h
include/linux/types.h
... | ... | @@ -197,6 +197,12 @@ |
197 | 197 | typedef u32 resource_size_t; |
198 | 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 | 206 | struct ustat { |
201 | 207 | __kernel_daddr_t f_tfree; |
202 | 208 | __kernel_ino_t f_tinode; |
mm/Kconfig