mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 12:14:10 +08:00
5d42a68573
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>
455 lines
12 KiB
Plaintext
455 lines
12 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
comment "Machine Types"
|
|
|
|
if M68KCLASSIC
|
|
|
|
config AMIGA
|
|
bool "Amiga support"
|
|
depends on MMU
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
This option enables support for the Amiga series of computers. If
|
|
you plan to use this kernel on an Amiga, say Y here and browse the
|
|
material available in <file:Documentation/arch/m68k>; otherwise say N.
|
|
|
|
config ATARI
|
|
bool "Atari support"
|
|
depends on MMU
|
|
select HAVE_ARCH_NVRAM_OPS
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
This option enables support for the 68000-based Atari series of
|
|
computers (including the TT, Falcon and Medusa). If you plan to use
|
|
this kernel on an Atari, say Y here and browse the material
|
|
available in <file:Documentation/arch/m68k>; otherwise say N.
|
|
|
|
config ATARI_KBD_CORE
|
|
bool
|
|
|
|
config MAC
|
|
bool "Macintosh support"
|
|
depends on MMU
|
|
select HAVE_ARCH_NVRAM_OPS
|
|
select HAVE_PATA_PLATFORM
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
This option enables support for the Apple Macintosh series of
|
|
computers. If you plan to use this kernel on a Mac, say Y here and
|
|
browse the documentation available at <http://www.mac.linux-m68k.org/>;
|
|
otherwise say N.
|
|
|
|
config APOLLO
|
|
bool "Apollo support"
|
|
depends on MMU
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
Say Y here if you want to run Linux on an MC680x0-based Apollo
|
|
Domain workstation such as the DN3500.
|
|
|
|
config VME
|
|
bool "VME (Motorola and BVM) support"
|
|
depends on 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,
|
|
MVME162, MVME166, MVME167, MVME172, and MVME177. BVME4000 and
|
|
BVME6000 boards from BVM Ltd are also supported.
|
|
|
|
config MVME147
|
|
bool "MVME147 support"
|
|
depends on MMU
|
|
depends on VME
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
Say Y to include support for early Motorola VME boards. This will
|
|
build a kernel which can run on MVME147 single-board computers. If
|
|
you select this option you will have to select the appropriate
|
|
drivers for SCSI, Ethernet and serial ports later on.
|
|
|
|
config MVME16x
|
|
bool "MVME162, 166 and 167 support"
|
|
depends on MMU
|
|
depends on VME
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
Say Y to include support for Motorola VME boards. This will build a
|
|
kernel which can run on MVME162, MVME166, MVME167, MVME172, and
|
|
MVME177 boards. If you select this option you will have to select
|
|
the appropriate drivers for SCSI, Ethernet and serial ports later
|
|
on.
|
|
|
|
config BVME6000
|
|
bool "BVME4000 and BVME6000 support"
|
|
depends on MMU
|
|
depends on VME
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
Say Y to include support for VME boards from BVM Ltd. This will
|
|
build a kernel which can run on BVME4000 and BVME6000 boards. If
|
|
you select this option you will have to select the appropriate
|
|
drivers for SCSI, Ethernet and serial ports later on.
|
|
|
|
config HP300
|
|
bool "HP9000/300 and HP9000/400 support"
|
|
depends on MMU
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
This option enables support for the HP9000/300 and HP9000/400 series
|
|
of workstations. Support for these machines is still somewhat
|
|
experimental. If you plan to try to use the kernel on such a machine
|
|
say Y here.
|
|
Everybody else says N.
|
|
|
|
config SUN3X
|
|
bool "Sun3x support"
|
|
depends on MMU
|
|
select LEGACY_TIMER_TICK
|
|
select M68030
|
|
help
|
|
This option enables support for the Sun 3x series of workstations.
|
|
Be warned that this support is very experimental.
|
|
Note that Sun 3x kernels are not compatible with Sun 3 hardware.
|
|
General Linux information on the Sun 3x series (now discontinued)
|
|
is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
|
|
|
|
If you don't want to compile a kernel for a Sun 3x, say N.
|
|
|
|
config Q40
|
|
bool "Q40/Q60 support"
|
|
depends on MMU
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
The Q40 is a Motorola 68040-based successor to the Sinclair QL
|
|
manufactured in Germany. There is an official Q40 home page at
|
|
<http://www.q40.de/>. This option enables support for the Q40 and
|
|
Q60. Select your CPU below. For 68LC060 don't forget to enable FPU
|
|
emulation.
|
|
|
|
config VIRT
|
|
bool "Virtual M68k Machine support"
|
|
depends on MMU
|
|
select GENERIC_CLOCKEVENTS
|
|
select GOLDFISH
|
|
select GOLDFISH_TIMER
|
|
select GOLDFISH_TTY
|
|
select M68040
|
|
select RTC_CLASS
|
|
select RTC_DRV_GOLDFISH
|
|
select TTY
|
|
select VIRTIO_MENU
|
|
select VIRTIO_MMIO
|
|
help
|
|
This options enable a pure virtual machine based on m68k,
|
|
VIRTIO MMIO devices and GOLDFISH interfaces (TTY, RTC, PIC).
|
|
|
|
config PILOT
|
|
bool
|
|
|
|
config PILOT3
|
|
bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
|
|
depends on !MMU
|
|
select M68328
|
|
select PILOT
|
|
help
|
|
Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
|
|
|
|
config XCOPILOT_BUGS
|
|
bool "(X)Copilot support"
|
|
depends on PILOT3
|
|
help
|
|
Support the bugs of Xcopilot.
|
|
|
|
config UCSIMM
|
|
bool "uCsimm module support"
|
|
depends on !MMU
|
|
select M68EZ328
|
|
help
|
|
Support for the Arcturus Networks uCsimm module.
|
|
|
|
config UCDIMM
|
|
bool "uCdimm module support"
|
|
depends on !MMU
|
|
select M68VZ328
|
|
help
|
|
Support for the Arcturus Networks uCdimm module.
|
|
|
|
config DRAGEN2
|
|
bool "DragonEngine II board support"
|
|
depends on !MMU
|
|
select M68VZ328
|
|
help
|
|
Support for the DragonEngine II board.
|
|
|
|
config DIRECT_IO_ACCESS
|
|
bool "Allow user to access IO directly"
|
|
depends on (UCSIMM || UCDIMM || DRAGEN2)
|
|
help
|
|
Disable the CPU internal registers protection in user mode,
|
|
to allow a user application to read/write them.
|
|
|
|
config INIT_LCD
|
|
bool "Initialize LCD"
|
|
depends on (UCSIMM || UCDIMM || DRAGEN2)
|
|
help
|
|
Initialize the LCD controller of the 68x328 processor.
|
|
|
|
config MEMORY_RESERVE
|
|
int "Memory reservation (MiB)"
|
|
depends on (UCSIMM || UCDIMM)
|
|
default 0
|
|
help
|
|
Reserve certain memory regions on 68x328 based boards.
|
|
|
|
endif # M68KCLASSIC
|
|
|
|
config ARN5206
|
|
bool "Arnewsh 5206 board support"
|
|
depends on M5206
|
|
help
|
|
Support for the Arnewsh 5206 board.
|
|
|
|
config M5206eC3
|
|
bool "Motorola M5206eC3 board support"
|
|
depends on M5206e
|
|
help
|
|
Support for the Motorola M5206eC3 board.
|
|
|
|
config ELITE
|
|
bool "Motorola M5206eLITE board support"
|
|
depends on M5206e
|
|
help
|
|
Support for the Motorola M5206eLITE board.
|
|
|
|
config M5235EVB
|
|
bool "Freescale M5235EVB support"
|
|
depends on M523x
|
|
help
|
|
Support for the Freescale M5235EVB board.
|
|
|
|
config M5249C3
|
|
bool "Motorola M5249C3 board support"
|
|
depends on M5249
|
|
help
|
|
Support for the Motorola M5249C3 board.
|
|
|
|
config M5272C3
|
|
bool "Motorola M5272C3 board support"
|
|
depends on M5272
|
|
help
|
|
Support for the Motorola M5272C3 board.
|
|
|
|
config WILDFIRE
|
|
bool "Intec Automation Inc. WildFire board support"
|
|
depends on M528x
|
|
help
|
|
Support for the Intec Automation Inc. WildFire.
|
|
|
|
config WILDFIREMOD
|
|
bool "Intec Automation Inc. WildFire module support"
|
|
depends on M528x
|
|
help
|
|
Support for the Intec Automation Inc. WildFire module.
|
|
|
|
config ARN5307
|
|
bool "Arnewsh 5307 board support"
|
|
depends on M5307
|
|
help
|
|
Support for the Arnewsh 5307 board.
|
|
|
|
config M5307C3
|
|
bool "Motorola M5307C3 board support"
|
|
depends on M5307
|
|
help
|
|
Support for the Motorola M5307C3 board.
|
|
|
|
config SECUREEDGEMP3
|
|
bool "SnapGear SecureEdge/MP3 platform support"
|
|
depends on M5307
|
|
help
|
|
Support for the SnapGear SecureEdge/MP3 platform.
|
|
|
|
config M5407C3
|
|
bool "Motorola M5407C3 board support"
|
|
depends on M5407
|
|
help
|
|
Support for the Motorola M5407C3 board.
|
|
|
|
config AMCORE
|
|
bool "Sysam AMCORE board support"
|
|
depends on M5307
|
|
help
|
|
Support for the Sysam AMCORE open-hardware generic board.
|
|
|
|
config STMARK2
|
|
bool "Sysam stmark2 board support"
|
|
depends on M5441x
|
|
help
|
|
Support for the Sysam stmark2 open-hardware generic board.
|
|
|
|
config FIREBEE
|
|
bool "FireBee board support"
|
|
depends on M547x
|
|
help
|
|
Support for the FireBee ColdFire 5475 based board.
|
|
|
|
config CLEOPATRA
|
|
bool "Feith CLEOPATRA board support"
|
|
depends on (M5307 || M5407)
|
|
help
|
|
Support for the Feith Cleopatra boards.
|
|
|
|
config CANCam
|
|
bool "Feith CANCam board support"
|
|
depends on M5272
|
|
help
|
|
Support for the Feith CANCam board.
|
|
|
|
config SCALES
|
|
bool "Feith SCALES board support"
|
|
depends on M5272
|
|
help
|
|
Support for the Feith SCALES board.
|
|
|
|
config NETtel
|
|
bool "SecureEdge/NETtel board support"
|
|
depends on (M5206e || M5272 || M5307)
|
|
help
|
|
Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
|
|
|
|
config MOD5272
|
|
bool "Netburner MOD-5272 board support"
|
|
depends on M5272
|
|
help
|
|
Support for the Netburner MOD-5272 board.
|
|
|
|
if !MMU || COLDFIRE
|
|
|
|
comment "Machine Options"
|
|
|
|
config UBOOT
|
|
bool "Support for U-Boot command line parameters"
|
|
depends on COLDFIRE
|
|
help
|
|
If you say Y here kernel will try to collect command
|
|
line parameters from the initial u-boot stack.
|
|
|
|
config 4KSTACKS
|
|
bool "Use 4Kb for kernel stacks instead of 8Kb"
|
|
default y
|
|
help
|
|
If you say Y here the kernel will use a 4Kb stacksize for the
|
|
kernel stack attached to each process/thread. This facilitates
|
|
running more threads on a system and also reduces the pressure
|
|
on the VM subsystem for higher order allocations.
|
|
|
|
comment "RAM configuration"
|
|
|
|
config RAMBASE
|
|
hex "Address of the base of RAM"
|
|
default "0"
|
|
help
|
|
Define the address that RAM starts at. On many platforms this is
|
|
0, the base of the address space. And this is the default. Some
|
|
platforms choose to setup their RAM at other addresses within the
|
|
processor address space.
|
|
|
|
config RAMSIZE
|
|
hex "Size of RAM (in bytes), or 0 for automatic"
|
|
default "0x400000"
|
|
help
|
|
Define the size of the system RAM. If you select 0 then the
|
|
kernel will try to probe the RAM size at runtime. This is not
|
|
supported on all CPU types.
|
|
|
|
config VECTORBASE
|
|
hex "Address of the base of system vectors"
|
|
default "0"
|
|
help
|
|
Define the address of the system vectors. Commonly this is
|
|
put at the start of RAM, but it doesn't have to be. On ColdFire
|
|
platforms this address is programmed into the VBR register, thus
|
|
actually setting the address to use.
|
|
|
|
config MBAR
|
|
hex "Address of the MBAR (internal peripherals)"
|
|
default "0x10000000"
|
|
depends on HAVE_MBAR
|
|
help
|
|
Define the address of the internal system peripherals. This value
|
|
is set in the processors MBAR register. This is generally setup by
|
|
the boot loader, and will not be written by the kernel. By far most
|
|
ColdFire boards use the default 0x10000000 value, so if unsure then
|
|
use this.
|
|
|
|
config IPSBAR
|
|
hex "Address of the IPSBAR (internal peripherals)"
|
|
default "0x40000000"
|
|
depends on HAVE_IPSBAR
|
|
help
|
|
Define the address of the internal system peripherals. This value
|
|
is set in the processors IPSBAR register. This is generally setup by
|
|
the boot loader, and will not be written by the kernel. By far most
|
|
ColdFire boards use the default 0x40000000 value, so if unsure then
|
|
use this.
|
|
|
|
config KERNELBASE
|
|
hex "Address of the base of kernel code"
|
|
default "0x400"
|
|
help
|
|
Typically on m68k systems the kernel will not start at the base
|
|
of RAM, but usually some small offset from it. Define the start
|
|
address of the kernel here. The most common setup will have the
|
|
processor vectors at the base of RAM and then the start of the
|
|
kernel. On some platforms some RAM is reserved for boot loaders
|
|
and the kernel starts after that. The 0x400 default was based on
|
|
a system with the RAM based at address 0, and leaving enough room
|
|
for the theoretical maximum number of 256 vectors.
|
|
|
|
comment "ROM configuration"
|
|
|
|
config ROM
|
|
bool "Specify ROM linker regions"
|
|
help
|
|
Define a ROM region for the linker script. This creates a kernel
|
|
that can be stored in flash, with possibly the text, and data
|
|
regions being copied out to RAM at startup.
|
|
|
|
config ROMVEC
|
|
hex "Address of the base of the ROM vectors"
|
|
default "0x10c10000"
|
|
depends on ROM
|
|
help
|
|
This is almost always the same as the base of the ROM. Since on all
|
|
68000 type variants the vectors are at the base of the boot device
|
|
on system startup.
|
|
|
|
config ROMSTART
|
|
hex "Address of the base of system image in ROM"
|
|
default "0x10c10400"
|
|
depends on ROM
|
|
help
|
|
Define the start address of the system image in ROM. Commonly this
|
|
is strait after the ROM vectors.
|
|
|
|
choice
|
|
prompt "Kernel executes from"
|
|
help
|
|
Choose the memory type that the kernel will be running in.
|
|
|
|
config RAMKERNEL
|
|
bool "RAM"
|
|
help
|
|
The kernel will be resident in RAM when running.
|
|
|
|
config ROMKERNEL
|
|
bool "ROM"
|
|
depends on ROM
|
|
help
|
|
The kernel will be resident in FLASH/ROM when running. This is
|
|
often referred to as Execute-in-Place (XIP), since the kernel
|
|
code executes from the position it is stored in the FLASH/ROM.
|
|
|
|
endchoice
|
|
|
|
endif # !MMU || COLDFIRE
|