[U-Boot] [PATCH] 85xx: Fix relocation of CCSRBAR
Kumar Gala
galak at kernel.crashing.org
Thu Nov 13 16:44:20 CET 2008
On Nov 13, 2008, at 9:30 AM, Peter Tyser wrote:
> On Thu, 2008-11-13 at 06:30 -0600, Kumar Gala wrote:
>> If the virtual address for CCSRBAR is the same after relocation but
>> the physical address is changing we'd end up having two TLB entries
>> with
>> the same VA. Instead we new us the new CCSRBAR virt address + 4k
>> as a
>> temp virt address to access the old CCSRBAR to relocate it.
>
> s/we new us the/we now use the/
I'll let andy fix that when we applies the patch.
>> Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
>> ---
>> cpu/mpc85xx/cpu_init.c | 9 +++++----
>> 1 files changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/cpu/mpc85xx/cpu_init.c b/cpu/mpc85xx/cpu_init.c
>> index 3a8aef2..1cb9ed9 100644
>> --- a/cpu/mpc85xx/cpu_init.c
>> +++ b/cpu/mpc85xx/cpu_init.c
>> @@ -140,14 +140,15 @@ void cpu_init_early_f(void)
>> #if (CONFIG_SYS_CCSRBAR_DEFAULT != CONFIG_SYS_CCSRBAR_PHYS)
>> {
>> u32 temp;
>> + volatile u32 *ccsr_virt =
>> + (volatile u32 *)(CONFIG_SYS_CCSRBAR + 0x1000);
>
> Is there any reason to use volatiles when you access the address using
> the proper io functions?
That's how the functions are defined:
extern inline unsigned in_be32(const volatile unsigned __iomem *addr)
- k
More information about the U-Boot
mailing list