diff mbox

[RFC,01/23] ARM: LPAE: disable phys-to-virt patching on PAE systems

Message ID 1343092165-9470-2-git-send-email-cyril@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Cyril Chemparathy July 24, 2012, 1:09 a.m. UTC
From: Vitaly Andrianov <vitalya@ti.com>

The current phys-to-virt patching mechanism is broken on PAE machines with
64-bit physical addressing.  This patch disables the patching mechanism in
such configurations.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
---
 arch/arm/Kconfig |    1 +
 1 file changed, 1 insertion(+)

Comments

Catalin Marinas July 24, 2012, 9:41 a.m. UTC | #1
On Tue, Jul 24, 2012 at 02:09:03AM +0100, Cyril Chemparathy wrote:
> From: Vitaly Andrianov <vitalya@ti.com>
> 
> The current phys-to-virt patching mechanism is broken on PAE machines with
> 64-bit physical addressing.  This patch disables the patching mechanism in
> such configurations.

It may be broken, I don't remember whether I tested this feature. What's
the PHYS_OFFSET on your platform? Is it within the low 4GB range?
Cyril Chemparathy July 24, 2012, 10:43 a.m. UTC | #2
Hi Catalin,

On 7/24/2012 5:41 AM, Catalin Marinas wrote:
> On Tue, Jul 24, 2012 at 02:09:03AM +0100, Cyril Chemparathy wrote:
>> From: Vitaly Andrianov <vitalya@ti.com>
>>
>> The current phys-to-virt patching mechanism is broken on PAE machines with
>> 64-bit physical addressing.  This patch disables the patching mechanism in
>> such configurations.
>
> It may be broken, I don't remember whether I tested this feature. What's
> the PHYS_OFFSET on your platform? Is it within the low 4GB range?
>

At boot time PHYS_OFFSET is 0x80000000, in the low 4G range. 
Subsequently we switch over to the high PHYS_OFFSET at 0x800000000 (see 
patch 23/23 of this series).
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a91009c..55da671 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -191,6 +191,7 @@  config ARM_PATCH_PHYS_VIRT
 	default y
 	depends on !XIP_KERNEL && MMU
 	depends on !ARCH_REALVIEW || !SPARSEMEM
+	depends on !ARCH_PHYS_ADDR_T_64BIT
 	help
 	  Patch phys-to-virt and virt-to-phys translation functions at
 	  boot and module load time according to the position of the