mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:38:03 +00:00
m68k: Move Sun 3 into a top-level platform option
It is possible to select an m68k MMU build but not actually enable any of the three MMU options, which then results in a build failure: arch/m68k/include/asm/page.h:10:25: error: 'CONFIG_PAGE_SHIFT' undeclared here (not in a function); did you mean 'CONFIG_LOG_BUF_SHIFT'? Change the Kconfig selection to ensure that exactly one of the three options is always enabled whenever an MMU-enabled kernel is built, but moving CONFIG_SUN3 into a top-level option next to M68KCLASSIC and COLDFIRE. All defconfig files should keep working without changes, but alldefconfig now builds support for the classic MMU. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202408032138.P7sBvIns-lkp@intel.com/ Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Greg Ungerer <gerg@linux-m68k.org> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://lore.kernel.org/20241030195638.22542-1-arnd@kernel.org Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
parent
fc10edd913
commit
5d42a68573
@ -84,24 +84,23 @@ config MMU
|
||||
support by paged memory management. If unsure, say 'Y'.
|
||||
|
||||
config MMU_MOTOROLA
|
||||
bool
|
||||
def_bool MMU && M68KCLASSIC
|
||||
select HAVE_PAGE_SIZE_4KB
|
||||
|
||||
config MMU_COLDFIRE
|
||||
def_bool MMU && COLDFIRE
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
bool
|
||||
|
||||
config MMU_SUN3
|
||||
bool
|
||||
def_bool MMU && SUN3
|
||||
select HAVE_PAGE_SIZE_8KB
|
||||
depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE
|
||||
|
||||
config ARCH_SUPPORTS_KEXEC
|
||||
def_bool M68KCLASSIC && MMU
|
||||
def_bool (M68KCLASSIC || SUN3) && MMU
|
||||
|
||||
config BOOTINFO_PROC
|
||||
bool "Export bootinfo in procfs"
|
||||
depends on KEXEC && M68KCLASSIC
|
||||
depends on KEXEC && (M68KCLASSIC || SUN3)
|
||||
help
|
||||
Say Y to export the bootinfo used to boot the kernel in a
|
||||
"bootinfo" file in procfs. This is useful with kexec.
|
||||
|
@ -2,7 +2,7 @@
|
||||
comment "Processor Type"
|
||||
|
||||
choice
|
||||
prompt "CPU family support"
|
||||
prompt "CPU/machine family support"
|
||||
default M68KCLASSIC if MMU
|
||||
default COLDFIRE if !MMU
|
||||
help
|
||||
@ -19,7 +19,7 @@ choice
|
||||
processor, select COLDFIRE.
|
||||
|
||||
config M68KCLASSIC
|
||||
bool "Classic M68K CPU family support"
|
||||
bool "Classic M68K CPU/machine family support"
|
||||
select HAVE_ARCH_PFN_VALID
|
||||
|
||||
config COLDFIRE
|
||||
@ -32,13 +32,23 @@ config COLDFIRE
|
||||
select HAVE_LEGACY_CLK
|
||||
select HAVE_PAGE_SIZE_8KB if !MMU
|
||||
|
||||
config SUN3
|
||||
bool "Sun3 machine support"
|
||||
depends on MMU
|
||||
select HAVE_ARCH_PFN_VALID
|
||||
select LEGACY_TIMER_TICK
|
||||
select NO_DMA
|
||||
select M68020
|
||||
help
|
||||
This option enables support for the Sun 3 series of workstations
|
||||
(3/50, 3/60, 3/1xx, 3/2xx systems). These use a classic 68020 CPU
|
||||
but the custom memory management unit makes them incompatible with
|
||||
all other classic m68k machines, including Sun 3x.
|
||||
|
||||
endchoice
|
||||
|
||||
if M68KCLASSIC
|
||||
|
||||
config M68000
|
||||
def_bool y
|
||||
depends on !MMU
|
||||
def_bool M68KCLASSIC && !MMU
|
||||
select CPU_HAS_NO_BITFIELDS
|
||||
select CPU_HAS_NO_CAS
|
||||
select CPU_HAS_NO_MULDIV64
|
||||
@ -56,7 +66,7 @@ config M68000
|
||||
a paging MMU.
|
||||
|
||||
config M68020
|
||||
bool "68020 support"
|
||||
bool "68020 support" if M68KCLASSIC
|
||||
depends on MMU
|
||||
select FPU
|
||||
select CPU_HAS_ADDRESS_SPACES
|
||||
@ -66,9 +76,10 @@ config M68020
|
||||
68851 MMU (Memory Management Unit) to run Linux/m68k, except on the
|
||||
Sun 3, which provides its own version.
|
||||
|
||||
if M68KCLASSIC && MMU
|
||||
|
||||
config M68030
|
||||
bool "68030 support"
|
||||
depends on MMU && !MMU_SUN3
|
||||
select FPU
|
||||
select CPU_HAS_ADDRESS_SPACES
|
||||
help
|
||||
@ -78,7 +89,6 @@ config M68030
|
||||
|
||||
config M68040
|
||||
bool "68040 support"
|
||||
depends on MMU && !MMU_SUN3
|
||||
select FPU
|
||||
select CPU_HAS_ADDRESS_SPACES
|
||||
help
|
||||
@ -89,13 +99,14 @@ config M68040
|
||||
|
||||
config M68060
|
||||
bool "68060 support"
|
||||
depends on MMU && !MMU_SUN3
|
||||
select FPU
|
||||
select CPU_HAS_ADDRESS_SPACES
|
||||
help
|
||||
If you anticipate running this kernel on a computer with a MC68060
|
||||
processor, say Y. Otherwise, say N.
|
||||
|
||||
endif # M68KCLASSIC
|
||||
|
||||
config M68328
|
||||
bool
|
||||
depends on !MMU
|
||||
@ -117,8 +128,6 @@ config M68VZ328
|
||||
help
|
||||
Motorola 68VZ328 processor support.
|
||||
|
||||
endif # M68KCLASSIC
|
||||
|
||||
if COLDFIRE
|
||||
|
||||
choice
|
||||
@ -325,7 +334,7 @@ comment "Processor Specific Options"
|
||||
|
||||
config M68KFPU_EMU
|
||||
bool "Math emulation support"
|
||||
depends on M68KCLASSIC && FPU
|
||||
depends on (M68KCLASSIC || SUN3) && FPU
|
||||
help
|
||||
At some point in the future, this will cause floating-point math
|
||||
instructions to be emulated by the kernel on machines that lack a
|
||||
|
@ -6,7 +6,6 @@ if M68KCLASSIC
|
||||
config AMIGA
|
||||
bool "Amiga support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
select LEGACY_TIMER_TICK
|
||||
help
|
||||
This option enables support for the Amiga series of computers. If
|
||||
@ -16,7 +15,6 @@ config AMIGA
|
||||
config ATARI
|
||||
bool "Atari support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
select HAVE_ARCH_NVRAM_OPS
|
||||
select LEGACY_TIMER_TICK
|
||||
help
|
||||
@ -31,7 +29,6 @@ config ATARI_KBD_CORE
|
||||
config MAC
|
||||
bool "Macintosh support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
select HAVE_ARCH_NVRAM_OPS
|
||||
select HAVE_PATA_PLATFORM
|
||||
select LEGACY_TIMER_TICK
|
||||
@ -44,7 +41,6 @@ config MAC
|
||||
config APOLLO
|
||||
bool "Apollo support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
select LEGACY_TIMER_TICK
|
||||
help
|
||||
Say Y here if you want to run Linux on an MC680x0-based Apollo
|
||||
@ -53,7 +49,6 @@ config APOLLO
|
||||
config VME
|
||||
bool "VME (Motorola and BVM) support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
help
|
||||
Say Y here if you want to build a kernel for a 680x0 based VME
|
||||
board. Boards currently supported include Motorola boards MVME147,
|
||||
@ -97,7 +92,6 @@ config BVME6000
|
||||
config HP300
|
||||
bool "HP9000/300 and HP9000/400 support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
select LEGACY_TIMER_TICK
|
||||
help
|
||||
This option enables support for the HP9000/300 and HP9000/400 series
|
||||
@ -110,7 +104,6 @@ config SUN3X
|
||||
bool "Sun3x support"
|
||||
depends on MMU
|
||||
select LEGACY_TIMER_TICK
|
||||
select MMU_MOTOROLA if MMU
|
||||
select M68030
|
||||
help
|
||||
This option enables support for the Sun 3x series of workstations.
|
||||
@ -124,7 +117,6 @@ config SUN3X
|
||||
config Q40
|
||||
bool "Q40/Q60 support"
|
||||
depends on MMU
|
||||
select MMU_MOTOROLA if MMU
|
||||
select LEGACY_TIMER_TICK
|
||||
help
|
||||
The Q40 is a Motorola 68040-based successor to the Sinclair QL
|
||||
@ -133,22 +125,6 @@ config Q40
|
||||
Q60. Select your CPU below. For 68LC060 don't forget to enable FPU
|
||||
emulation.
|
||||
|
||||
config SUN3
|
||||
bool "Sun3 support"
|
||||
depends on MMU
|
||||
depends on !MMU_MOTOROLA
|
||||
select MMU_SUN3 if MMU
|
||||
select LEGACY_TIMER_TICK
|
||||
select NO_DMA
|
||||
select M68020
|
||||
help
|
||||
This option enables support for the Sun 3 series of workstations
|
||||
(3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
|
||||
that all other hardware types must be disabled, as Sun 3 kernels
|
||||
are incompatible with all other m68k targets (including Sun 3x!).
|
||||
|
||||
If you don't want to compile a kernel exclusively for a Sun 3, say N.
|
||||
|
||||
config VIRT
|
||||
bool "Virtual M68k Machine support"
|
||||
depends on MMU
|
||||
@ -157,7 +133,6 @@ config VIRT
|
||||
select GOLDFISH_TIMER
|
||||
select GOLDFISH_TTY
|
||||
select M68040
|
||||
select MMU_MOTOROLA if MMU
|
||||
select RTC_CLASS
|
||||
select RTC_DRV_GOLDFISH
|
||||
select TTY
|
||||
|
@ -5,16 +5,8 @@
|
||||
|
||||
extra-y += vmlinux.lds
|
||||
|
||||
obj-$(CONFIG_AMIGA) := head.o
|
||||
obj-$(CONFIG_ATARI) := head.o
|
||||
obj-$(CONFIG_MAC) := head.o
|
||||
obj-$(CONFIG_APOLLO) := head.o
|
||||
obj-$(CONFIG_VME) := head.o
|
||||
obj-$(CONFIG_HP300) := head.o
|
||||
obj-$(CONFIG_Q40) := head.o
|
||||
obj-$(CONFIG_SUN3X) := head.o
|
||||
obj-$(CONFIG_VIRT) := head.o
|
||||
obj-$(CONFIG_SUN3) := sun3-head.o
|
||||
obj-$(CONFIG_MMU_MOTOROLA) := head.o
|
||||
obj-$(CONFIG_SUN3) := sun3-head.o
|
||||
|
||||
obj-y += entry.o irq.o module.o process.o ptrace.o
|
||||
obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o
|
||||
|
@ -62,7 +62,7 @@ void timer_heartbeat(void)
|
||||
}
|
||||
#endif /* CONFIG_HEARTBEAT */
|
||||
|
||||
#ifdef CONFIG_M68KCLASSIC
|
||||
#if defined(CONFIG_M68KCLASSIC) || defined(CONFIG_SUN3)
|
||||
/* machine dependent timer functions */
|
||||
int (*mach_hwclk) (int, struct rtc_time*);
|
||||
EXPORT_SYMBOL(mach_hwclk);
|
||||
@ -149,7 +149,7 @@ static int __init rtc_init(void)
|
||||
|
||||
module_init(rtc_init);
|
||||
#endif /* CONFIG_RTC_DRV_GENERIC */
|
||||
#endif /* CONFIG M68KCLASSIC */
|
||||
#endif /* CONFIG_M68KCLASSIC || SUN3 */
|
||||
|
||||
void __init time_init(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user