2014-01-06 13:40:15

by Christopher Covington

[permalink] [raw]
Subject: [PATCH] ARM: Make pgtbl macro more robust

The pgtbl macro couldn't handle the specific
(TEXT_OFFSET - PG_DIR_SIZE) value that the combination of
MSM platforms and LPAE created:

head.S:163: Error: invalid constant (203000) after fixup

Regardless of whether this combination of configuration options
will work on currently support platforms at run time, make it
at least assemble properly.

Signed-off-by: Christopher Covington <[email protected]>
---
arch/arm/kernel/head.S | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 9cf6063..af30cac 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -52,7 +52,8 @@
.equ swapper_pg_dir, KERNEL_RAM_VADDR - PG_DIR_SIZE

.macro pgtbl, rd, phys
- add \rd, \phys, #TEXT_OFFSET - PG_DIR_SIZE
+ add \rd, \phys, #TEXT_OFFSET
+ sub \rd, \rd, #PG_DIR_SIZE
.endm

/*
--
Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by the Linux Foundation.


2014-01-17 18:50:33

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] ARM: Make pgtbl macro more robust

On 01/06, Christopher Covington wrote:
> The pgtbl macro couldn't handle the specific
> (TEXT_OFFSET - PG_DIR_SIZE) value that the combination of
> MSM platforms and LPAE created:
>
> head.S:163: Error: invalid constant (203000) after fixup
>
> Regardless of whether this combination of configuration options
> will work on currently support platforms at run time, make it
> at least assemble properly.
>
> Signed-off-by: Christopher Covington <[email protected]>

Looks good to me.

Reviewed-by: Stephen Boyd <[email protected]>

I think you can put it in the patch tracker. Russell?

> ---
> arch/arm/kernel/head.S | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> index 9cf6063..af30cac 100644
> --- a/arch/arm/kernel/head.S
> +++ b/arch/arm/kernel/head.S
> @@ -52,7 +52,8 @@
> .equ swapper_pg_dir, KERNEL_RAM_VADDR - PG_DIR_SIZE
>
> .macro pgtbl, rd, phys
> - add \rd, \phys, #TEXT_OFFSET - PG_DIR_SIZE
> + add \rd, \phys, #TEXT_OFFSET
> + sub \rd, \rd, #PG_DIR_SIZE
> .endm
>
> /*

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

2014-01-21 15:28:10

by Christopher Covington

[permalink] [raw]
Subject: Re: [PATCH] ARM: Make pgtbl macro more robust

On 01/17/2014 01:50 PM, Stephen Boyd wrote:
> On 01/06, Christopher Covington wrote:
>> The pgtbl macro couldn't handle the specific
>> (TEXT_OFFSET - PG_DIR_SIZE) value that the combination of
>> MSM platforms and LPAE created:
>>
>> head.S:163: Error: invalid constant (203000) after fixup
>>
>> Regardless of whether this combination of configuration options
>> will work on currently support platforms at run time, make it
>> at least assemble properly.
>>
>> Signed-off-by: Christopher Covington <[email protected]>
>
> Looks good to me.
>
> Reviewed-by: Stephen Boyd <[email protected]>
>
> I think you can put it in the patch tracker. Russell?

Added as

http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7947/1

Regards,
Christopher

--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.