[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-arm-kernel
Subject: Re: [patch] Cleanup of head.S?
From: Russell King - ARM Linux <linux () arm ! linux ! org ! uk>
Date: 2003-02-25 9:09:39
[Download RAW message or body]
On Tue, Feb 25, 2003 at 08:48:32AM +0100, Dirk Behme wrote:
> - In macros pgtbl and krnladr rambase is never used. Remove it and
> remove register r5 in macro usage.
This is fine.
> - With my architecture (SDRAM PHYS @ 0x00000000, kernel @ 0xC0008000)
> the MMU table entry for the first MB is written three times (0x00000C1E
> to 0x7000):
As you've guessed, these come into play when things aren't so nicely
aligned.
> 1. bic r2, r3, #0x00f00000
> str r2, [r0] @ PAGE_OFFSET + 0MB
>
> 2. add r0, r0, #(TEXTADDR & 0x00f00000) >> 18
> str r3, [r0], #4 @ KERNEL + 0MB
>
> 3. bic r0, r0, #0x01f00000 >> 18 @ round down
> and r2, r5, #0xfe000000 @ round down
> add r3, r8, r2 @ flags + rambase
> str r3, [r0]
Eg, take PAGE_OFFSET = 0xc0000000, PHYS_OFFSET = 0, TEXTADDR = 0xc0208000
1 - sets 1MB map for address 0xc0000000 pointing at 0x00000000 so we can
access the tagged list at physical 0x00000100.
2 - sets 4MB map at 0xc0200000 pointing at 0x00200000.
3 - sets 1MB map at 0xc0000000 pointing at 0x00000000.
I suspect we can kill (3) without hurting stuff that's merged into the
-rmk tree, although I'm sure there's a reason it existed. I'll have
to check my mail archives, but I think there was a machine that required,
but it appears not to be merged.
-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ/Etiquette: http://www.arm.linux.org.uk/armlinux/mailinglists.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic