Le mardi 9 mars 2010 22:03:27, peter fuerst a écrit : > Hi Florian, thats funny! > > On Tue, 9 Mar 2010, Florian Fainelli wrote: > > Date: Tue, 9 Mar 2010 15:46:01 +0100 > > From: Florian Fainelli <florian@xxxxxxxxxxx> > > To: linux-mips@xxxxxxxxxxxxxx > > Cc: ralf@xxxxxxxxxxxxxx > > Subject: [PATCH] MIPS: make CAC_ADDR and UNCAC_ADDR account for > > PHYS_OFFSET > > > > On AR7, ... > > > > Signed-off-by: Regards, Florian Fainelli <florian@xxxxxxxxxxx> > > --- > > diff --git a/arch/mips/include/asm/page.h > > b/arch/mips/include/asm/page.h index ac32572..7b11df5 100644 > > --- a/arch/mips/include/asm/page.h > > +++ b/arch/mips/include/asm/page.h > > @@ -188,8 +188,10 @@ typedef struct { unsigned long pgprot; } pgprot_t; > > #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ > > VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) > > > > -#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) > > -#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) > > +#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE + \ > > + PHYS_OFFSET) > > +#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET + \ > > + PHYS_OFFSET) > > > > #include <asm-generic/memory_model.h> > > #include <asm-generic/getorder.h> > > I assume, you don't want "+" PHYS_OFFSET in both defines. > > Two years and a month ago almost the same patch (which used to work on > the machine that needed it :) was submitted: Oh I actually did even search for that one. > > --- a/linux-2.6.24/include/asm-mips/page.h Fri Jan 25 12:23:51 2008 > +++ b/linux-2.6.24/include/asm-mips/page.h Wed Feb 6 23:26:31 2008 > @@ -184,8 +184,8 @@ > #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ > VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) > > -#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) > -#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) > +#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + PHYS_OFFSET + > UNCAC_BASE) +#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET - > PHYS_OFFSET) > > #include <asm-generic/memory_model.h> > #include <asm-generic/page.h> > > But correct versions of these macros seem to be essential for very > "exotic" systems only ;-) You are right. This is actually needed when people do weird designs, and that happens ;) Will resubmit with the proper fixing. -- Best regards, Florian Fainelli Email: florian@xxxxxxxxxxx Web: http://openwrt.org IRC: [florian] on irc.freenode.net -------------------------------
Attachment:
signature.asc
Description: This is a digitally signed message part.