Hi Greg.
On Wed, May 18, 2022 at 8:56 AM Greg Ungerer <gerg@xxxxxxxxxxxxxx> wrote:
If building for a nommu m68k classic CPU and no platform (board) is
selected then the final link fails with:
LD vmlinux.o
m68k-linux-ld: cannot find arch/m68k/kernel/head.o: No such file or directory
make: *** [Makefile:1158: vmlinux] Error 1
Not selecting a platform is ok, that is a generic 68000 system build.
All of the platform selections are for 68328 variants.
The underlying problem is that the CPU config option (CONFIG_M68000)
ends up not being set, it is currently only selected by one of the
platform choices.
Change CONFIG_M68000 so that it is always enabled for the nommu m68k
classic configuration.
Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
Thanks for your patch!
--- a/arch/m68k/Kconfig.cpu
+++ b/arch/m68k/Kconfig.cpu
@@ -37,7 +37,7 @@ endchoice
if M68KCLASSIC
config M68000
- bool
+ def_bool y
And then the selects can be removed, too, as the symbol is now always
enabled?
I'm wondering how to handle this when another nommu-m68k-classic
platform shows up (again, cfr. the removed 68360 support) , that
would need a different head.S? Of course that's something to be
solved later...
depends on !MMU
select CPU_HAS_NO_BITFIELDS
select CPU_HAS_NO_CAS
Note that mmu-m68k-classic (e.g. CONFIG_MMU=y + allnonfig) has the
same problem. That config does need other fixes too. E.g. I have
a local patch to make sure NR_IRQS is never zero, but never got to
solve the missing head.o problem in an acceptable way.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
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