linux-mips
[Top] [All Lists]

Re: [PATCH 3/3] MIPS: deal with larger physical offsets

To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Subject: Re: [PATCH 3/3] MIPS: deal with larger physical offsets
From: Ralf Baechle <ralf@linux-mips.org>
Date: Thu, 28 Jan 2010 18:00:37 +0100
Cc: Florian Fainelli <florian@openwrt.org>, linux-mips@linux-mips.org, David Daney <ddaney@caviumnetworks.com>
In-reply-to: <4B61BD4D.5060406@ru.mvista.com>
References: <201001281522.37939.florian@openwrt.org> <4B61BD4D.5060406@ru.mvista.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.20 (2009-08-17)
On Thu, Jan 28, 2010 at 07:37:33PM +0300, Sergei Shtylyov wrote:

> Florian Fainelli wrote:
> >AR7 has a larger physical offset than other MIPS based
> >systems and therefore needs to setup its handlers beyond
> >the usual KSEG0 range. When running the kernel in mapped
> >mode this modification is also required. Remove function
> >comment which is now incorrect.
> >
> >Signed-off-by: David Daney <ddaney@caviumnetworks.com>
> >Signed-off-by: Eugene Konev <ejka@imfi.kspu.ru>
> >Signed-off-by: Florian Fainelli <florian@openwrt.org>
> >---
> >diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
> >index 574608e..14d515f 100644
> >--- a/arch/mips/kernel/traps.c
> >+++ b/arch/mips/kernel/traps.c
> ...]
> >@@ -1283,9 +1279,18 @@ void __init *set_except_vector(int n, void *addr)
> >     exception_handlers[n] = handler;
> >     if (n == 0 && cpu_has_divec) {
> >-            *(u32 *)(ebase + 0x200) = 0x08000000 |
> >-                                      (0x03ffffff & (handler >> 2));
> >-            local_flush_icache_range(ebase + 0x200, ebase + 0x204);
> >+            unsigned long jump_mask = ~((1 << 28) - 1);
> >+            u32 *buf = (u32 *)(ebase + 0x200);
> >+            unsigned int k0 = 26;
> >+            if((handler & jump_mask) == ((ebase + 0x200) & jump_mask)) {
> 
>  Missing space after *if* (should be easy for Ralf to fix manually
> though). You should run the patch thru scripts/checkpatch.pl first.

Just did that.  Thanks for nitpicking :-)

  Ralf

<Prev in Thread] Current Thread [Next in Thread>