Hi Greg, On Fri, Sep 1, 2017 at 3:21 PM, Greg Ungerer <gregunge...@westnet.com.au> wrote: > On 01/09/17 17:49, Geert Uytterhoeven wrote: >> On Fri, Sep 1, 2017 at 12:38 AM, Angelo Dureghello <ang...@sysam.it> >> wrote: >>> did some additional study and tests. >>> >>> Actually i cannot find any simpler patch, i just adjusted it a >>> bit. I believe this patch will work on your cpu with 0-based >>> memoryas well. >>> I attach it for your comments. >> >> >> I think your issue is caused by arch/m68k/include/asm/page_offset.h: >> >> #if defined(CONFIG_RAMBASE) >> #define PAGE_OFFSET_RAW CONFIG_RAMBASE >> #elif defined(CONFIG_SUN3) >> #define PAGE_OFFSET_RAW 0x0E000000 >> #else >> #define PAGE_OFFSET_RAW 0x00000000 >> #endif >> >> and arch/m68k/Kconfig.machine: >> >> if !MMU || COLDFIRE >> >> config RAMBASE >> hex "Address of the base of RAM" >> default "0" >> >> So on MC680[2346]0 with MMU (and ignoring Sun-3, which is special), >> PAGE_OFFSET == PAGE_OFFSET_RAW == 0. >> >> On Greg's zero-based Coldfire with MMU, CONFIG_RAMBASE is zero, and thus >> PAGE_OFFSET is also zero. >> >> On your board CONFIG_RAMBASE is non-zero, hence PAGE_OFFSET is also >> non-zero, >> and thus you have to compensate for that, cfr. your second patch. >> >> Does it work if you force PAGE_OFFSET_RAW to zero? >> >> If yes, we either need: >> >> --- a/arch/m68k/include/asm/page_offset.h >> +++ b/arch/m68k/include/asm/page_offset.h >> @@ -1,6 +1,6 @@ >> /* This handles the memory map.. */ >> >> -#if defined(CONFIG_RAMBASE) >> +#if !defined(CONFIG_MMU) >> #define PAGE_OFFSET_RAW CONFIG_RAMBASE >> #elif defined(CONFIG_SUN3) >> #define PAGE_OFFSET_RAW 0x0E000000 >> >> or >> >> --- a/arch/m68k/Kconfig.machine >> +++ b/arch/m68k/Kconfig.machine >> @@ -325,6 +325,7 @@ comment "RAM configuration" >> >> config RAMBASE >> hex "Address of the base of RAM" >> + depends on MMU > > > Did you mean "depends on !MMU" here?
Sorry, yes, depends on !MMU. >> depending on whether anything else in the Coldfire code needs RAMBASE. > > There are a couple of places we depend on CONFIG_RAMBASE even > when running with the MMU enabled. Most importantly in setting > the cachable regions in arch/m68k/include/asm/m54xxacr.h. > So this is probably not going to work on its own. OK, as I already feared/expected... > But the first patch above should be ok. It should certainly work on > my 0 address base 5475 ColdFire setup. Angelo can you try that one? Right. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html