From: Rob Landley <rob@landley.net>
To: linux-kernel@vger.kernel.org, gerg@uclinux.org,
linux-m68k@vger.kernel.org, geert@linux-m68k.org
Subject: Re: m68k with mmu doesn't compile after 66d857b08b8c3ed
Date: Sat, 20 Aug 2011 15:14:10 -0500 [thread overview]
Message-ID: <4E501592.4080907@landley.net> (raw)
In-Reply-To: <4E5008A1.8070105@landley.net>
On 08/20/2011 02:18 PM, Rob Landley wrote:
> The m68k build in 3.0 dies with this:
>
> CC arch/m68k/kernel/dma.o
> In file included from arch/m68k/kernel/dma.c:4:
> arch/m68k/kernel/dma_no.c: In function 'dma_sync_single_for_cpu':
> arch/m68k/kernel/dma_no.c:44: error: implicit declaration of function
> 'flush_dcache_range'
> make[1]: *** [arch/m68k/kernel/dma.o] Error 1
> make: *** [arch/m68k/kernel] Error 2
>
> That file includes <asm/cacheflush.h>, which for m68k is:
>
> #ifdef __uClinux__
> #include "cacheflush_no.h"
> #else
> #include "cacheflush_mm.h"
> #endif
>
> The nommu header (cacheflush_no.h) does #define flush_dcache_range(),
> but the clacheflush_mm.h version does not. I.E. you can only currently
> build m68k for Coldfire, you can no longer build it for an actual m68k.
>
> (A git log of Linus' tree shows cacheflush_mm.h hasn't been touched
> since 2010, and I pulled earlier today.)
>
> Rob
I worked around the above problem with this rather disgusting hack:
--- a/arch/m68k/include/asm/cacheflush_mm.h
+++ b/arch/m68k/include/asm/cacheflush_mm.h
@@ -129,6 +129,7 @@ static inline void __flush_page_to_ram(void *vaddr)
}
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
+#define flush_dcache_range(page, len) __flush_cache_all()
#define flush_dcache_page(page)
__flush_page_to_ram(page_address(page))
#define flush_dcache_mmap_lock(mapping) do { } while (0)
#define flush_dcache_mmap_unlock(mapping) do { } while (0)
And then it died with:
AS arch/m68k/kernel/entry.o
arch/m68k/kernel/entry_no.S: Assembler messages:
arch/m68k/kernel/entry_no.S:46: Error: Unknown operator -- statement
`save_all' ignored
arch/m68k/kernel/entry_no.S:55: Error: Unknown operator -- statement
`save_all' ignored
This is because arch/m68k/include/asm/entry_no.h has this:
#else /* !CONFIG_COLDFIRE */
/*
* Standard 68k interrupt entry and exit macros.
*/
.macro SAVE_ALL
clrl %sp@- /* stkadj */
movel %d0,%sp@- /* orig d0 */
movel %d0,%sp@- /* d0 */
moveml %d1-%d5/%a0-%a2,%sp@-
.endm
And arch/m68k/include/asm/entry_mm.h does not.
Rob
next prev parent reply other threads:[~2011-08-20 20:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-20 19:18 m68k with mmu doesn't compile after 66d857b08b8c3ed Rob Landley
2011-08-20 19:46 ` Geert Uytterhoeven
2011-08-20 22:22 ` Rob Landley
2011-08-22 3:40 ` Greg Ungerer
2011-08-23 11:57 ` Rob Landley
2011-08-20 20:14 ` Rob Landley [this message]
2011-08-20 20:14 ` Rob Landley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E501592.4080907@landley.net \
--to=rob@landley.net \
--cc=geert@linux-m68k.org \
--cc=gerg@uclinux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.