[PATCH v2] ARM: map ATAGs when not in first 1MB of RAM
Tony Lindgren
tony at atomide.com
Mon Feb 7 11:23:03 EST 2011
* Rob Herring <robherring2 at gmail.com> [110128 07:10]:
> Russell,
>
> On 01/28/2011 08:10 AM, Russell King - ARM Linux wrote:
> >On Fri, Jan 28, 2011 at 08:00:46AM -0600, Rob Herring wrote:
> >>@@ -206,11 +206,17 @@ __create_page_tables:
> >> #endif
> >>
> >> /*
> >>- * Then map first 1MB of ram in case it contains our boot params.
> >>+ * Then map boot params address in r2 or
> >>+ * the first 1MB of ram if boot params address is not specified.
> >> */
> >>- add r0, r4, #PAGE_OFFSET>> 18
> >>- orr r6, r7, r8
> >>- str r6, [r0]
> >>+ mov r0, r2, lsr #20
> >>+ movs r0, r0, lsl #20
> >>+ moveq r0, r8
> >>+ sub r3, r0, r8
> >>+ add r3, r3, #PAGE_OFFSET
> >>+ add r3, r4, r3, lsr #18
> >>+ orr r6, r7, r0
> >>+ str r6, [r3]
> >
> >Wouldn't:
> > str r6, [r4, r3, lsr #18]
> >work here?
>
> Not on Thumb2:
>
> arch/arm/kernel/head.S:218: Error: Thumb supports only LSL in
> shifted register indexing -- `str r6,[r4,r3,lsr#18]'
Acked-by: Tony Lindgren <tony at atomide.com>
More information about the linux-arm-kernel
mailing list