diff options
-rw-r--r-- | arch/arm/include/asm/memory.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 4dd21457ef9d..9ecccc865046 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -226,7 +226,14 @@ static inline phys_addr_t __virt_to_phys(unsigned long x) | |||
226 | static inline unsigned long __phys_to_virt(phys_addr_t x) | 226 | static inline unsigned long __phys_to_virt(phys_addr_t x) |
227 | { | 227 | { |
228 | unsigned long t; | 228 | unsigned long t; |
229 | __pv_stub(x, t, "sub", __PV_BITS_31_24); | 229 | |
230 | /* | ||
231 | * 'unsigned long' cast discard upper word when | ||
232 | * phys_addr_t is 64 bit, and makes sure that inline | ||
233 | * assembler expression receives 32 bit argument | ||
234 | * in place where 'r' 32 bit operand is expected. | ||
235 | */ | ||
236 | __pv_stub((unsigned long) x, t, "sub", __PV_BITS_31_24); | ||
230 | return t; | 237 | return t; |
231 | } | 238 | } |
232 | 239 | ||