summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-09-11 01:31:45 -0700
committerIngo Molnar <mingo@elte.hu>2008-09-14 17:24:25 +0200
commit600715dcdf567c86f8b2c6173fcfb4b873e25a19 (patch)
treec2f3ed1c928d3cc47af0573b56c8da2f1df880a0 /include
parent9dfed08eb4086584205717894177a9ee930c88c4 (diff)
downloadop-kernel-dev-600715dcdf567c86f8b2c6173fcfb4b873e25a19.zip
op-kernel-dev-600715dcdf567c86f8b2c6173fcfb4b873e25a19.tar.gz
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.h2
-rw-r--r--include/asm-x86/page_64.h1
-rw-r--r--include/linux/types.h6
3 files changed, 6 insertions, 3 deletions
diff --git a/include/asm-x86/page_32.h b/include/asm-x86/page_32.h
index ab85287..d0e5860 100644
--- a/include/asm-x86/page_32.h
+++ b/include/asm-x86/page_32.h
@@ -33,7 +33,6 @@ typedef u64 pmdval_t;
typedef u64 pudval_t;
typedef u64 pgdval_t;
typedef u64 pgprotval_t;
-typedef u64 phys_addr_t;
typedef union {
struct {
@@ -54,7 +53,6 @@ typedef unsigned long pmdval_t;
typedef unsigned long pudval_t;
typedef unsigned long pgdval_t;
typedef unsigned long pgprotval_t;
-typedef unsigned long phys_addr_t;
typedef union {
pteval_t pte;
diff --git a/include/asm-x86/page_64.h b/include/asm-x86/page_64.h
index c6916c8..2456fbf 100644
--- a/include/asm-x86/page_64.h
+++ b/include/asm-x86/page_64.h
@@ -79,7 +79,6 @@ typedef unsigned long pmdval_t;
typedef unsigned long pudval_t;
typedef unsigned long pgdval_t;
typedef unsigned long pgprotval_t;
-typedef unsigned long phys_addr_t;
typedef struct page *pgtable_t;
diff --git a/include/linux/types.h b/include/linux/types.h
index d4a9ce6..022c668 100644
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -197,6 +197,12 @@ typedef u64 resource_size_t;
typedef u32 resource_size_t;
#endif
+#ifdef CONFIG_PHYS_ADDR_T_64BIT
+typedef u64 phys_addr_t;
+#else
+typedef u32 phys_addr_t;
+#endif
+
struct ustat {
__kernel_daddr_t f_tfree;
__kernel_ino_t f_tinode;
OpenPOWER on IntegriCloud