summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@chromium.org>2012-10-23 18:04:44 +0000
committerSimon Glass <sjg@chromium.org>2012-12-06 14:30:40 -0800
commitec516c489969c1c12e9b26900facee6efd60c938 (patch)
treef6fc29f78269ddfb576ed1b117a42a9ef968a383
parent0c3929092d13cf12d6b9383f057e663b6334ee04 (diff)
downloadu-boot-imx-ec516c489969c1c12e9b26900facee6efd60c938.zip
u-boot-imx-ec516c489969c1c12e9b26900facee6efd60c938.tar.gz
u-boot-imx-ec516c489969c1c12e9b26900facee6efd60c938.tar.bz2
x86: Increase the size of the phys_size_t and phys_addr_t types
These types should be 64 bits long to reflect the fact that physical addresses and the size of physical areas of memory are more than 32 bits long. Signed-off-by: Gabe Black <gabeblack@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/x86/include/asm/io.h6
-rw-r--r--arch/x86/include/asm/types.h4
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 84a638d..86bac90 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -1,6 +1,8 @@
#ifndef _ASM_IO_H
#define _ASM_IO_H
+#include <compiler.h>
+
/*
* This file contains the definitions for the x86 IO instructions
* inb/inw/inl/outb/outw/outl and the "string versions" of the same
@@ -220,7 +222,7 @@ static inline void sync(void)
static inline void *
map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
{
- return (void *)paddr;
+ return (void *)(uintptr_t)paddr;
}
/*
@@ -233,7 +235,7 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
static inline phys_addr_t virt_to_phys(void * vaddr)
{
- return (phys_addr_t)(vaddr);
+ return (phys_addr_t)(uintptr_t)(vaddr);
}
/*
diff --git a/arch/x86/include/asm/types.h b/arch/x86/include/asm/types.h
index 9a40e38..e9fde88 100644
--- a/arch/x86/include/asm/types.h
+++ b/arch/x86/include/asm/types.h
@@ -45,8 +45,8 @@ typedef unsigned long long u64;
typedef u32 dma_addr_t;
-typedef unsigned long phys_addr_t;
-typedef unsigned long phys_size_t;
+typedef unsigned long long phys_addr_t;
+typedef unsigned long long phys_size_t;
#endif /* __KERNEL__ */