mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 21:54:06 +08:00
df013ffb81
cmpxchg() is widely used by lockless code, including NMI-safe lockless code. But on some architectures, the cmpxchg() implementation is not NMI-safe, on these architectures the lockless code may need a spin_trylock_irqsave() based implementation. This patch adds a Kconfig option: ARCH_HAVE_NMI_SAFE_CMPXCHG, so that NMI-safe lockless code can depend on it or provide different implementation according to it. On many architectures, cmpxchg is only NMI-safe for several specific operand sizes. So, ARCH_HAVE_NMI_SAFE_CMPXCHG define in this patch only guarantees cmpxchg is NMI-safe for sizeof(unsigned long). Signed-off-by: Huang Ying <ying.huang@intel.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Chris Metcalf <cmetcalf@tilera.com> Acked-by: Richard Henderson <rth@twiddle.net> CC: Mikael Starvik <starvik@axis.com> Acked-by: David Howells <dhowells@redhat.com> CC: Yoshinori Sato <ysato@users.sourceforge.jp> CC: Tony Luck <tony.luck@intel.com> CC: Hirokazu Takata <takata@linux-m32r.org> CC: Geert Uytterhoeven <geert@linux-m68k.org> CC: Michal Simek <monstr@monstr.eu> Acked-by: Ralf Baechle <ralf@linux-mips.org> CC: Kyle McMartin <kyle@mcmartin.ca> CC: Martin Schwidefsky <schwidefsky@de.ibm.com> CC: Chen Liqin <liqin.chen@sunplusct.com> CC: "David S. Miller" <davem@davemloft.net> CC: Ingo Molnar <mingo@redhat.com> CC: Chris Zankel <chris@zankel.net> Signed-off-by: Len Brown <len.brown@intel.com>
250 lines
5.9 KiB
Plaintext
250 lines
5.9 KiB
Plaintext
config M68K
|
|
bool
|
|
default y
|
|
select HAVE_IDE
|
|
select HAVE_AOUT if MMU
|
|
select GENERIC_ATOMIC64 if MMU
|
|
select HAVE_GENERIC_HARDIRQS if !MMU
|
|
select GENERIC_IRQ_SHOW if !MMU
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config TIME_LOW_RES
|
|
bool
|
|
default y
|
|
|
|
config NO_IOPORT
|
|
def_bool y
|
|
|
|
config NO_DMA
|
|
def_bool (MMU && SUN3) || (!MMU && !COLDFIRE)
|
|
|
|
config ZONE_DMA
|
|
bool
|
|
default y
|
|
config HZ
|
|
int
|
|
default 1000 if CLEOPATRA
|
|
default 100
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
config MMU
|
|
bool "MMU-based Paged Memory Management Support"
|
|
default y
|
|
help
|
|
Select if you want MMU-based virtualised addressing space
|
|
support by paged memory management. If unsure, say 'Y'.
|
|
|
|
menu "Platform dependent setup"
|
|
|
|
if MMU
|
|
source arch/m68k/Kconfig.mmu
|
|
endif
|
|
if !MMU
|
|
source arch/m68k/Kconfig.nommu
|
|
endif
|
|
|
|
source "mm/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
if !MMU
|
|
menu "Power management options"
|
|
|
|
config PM
|
|
bool "Power Management support"
|
|
help
|
|
Support processor power management modes
|
|
|
|
endmenu
|
|
endif
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
if MMU
|
|
|
|
menu "Character devices"
|
|
|
|
config ATARI_MFPSER
|
|
tristate "Atari MFP serial support"
|
|
depends on ATARI
|
|
---help---
|
|
If you like to use the MFP serial ports ("Modem1", "Serial1") under
|
|
Linux, say Y. The driver equally supports all kinds of MFP serial
|
|
ports and automatically detects whether Serial1 is available.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
Note for Falcon users: You also have an MFP port, it's just not
|
|
wired to the outside... But you could use the port under Linux.
|
|
|
|
config ATARI_MIDI
|
|
tristate "Atari MIDI serial support"
|
|
depends on ATARI
|
|
help
|
|
If you want to use your Atari's MIDI port in Linux, say Y.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config ATARI_DSP56K
|
|
tristate "Atari DSP56k support (EXPERIMENTAL)"
|
|
depends on ATARI && EXPERIMENTAL
|
|
help
|
|
If you want to be able to use the DSP56001 in Falcons, say Y. This
|
|
driver is still experimental, and if you don't know what it is, or
|
|
if you don't have this processor, just say N.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config AMIGA_BUILTIN_SERIAL
|
|
tristate "Amiga builtin serial support"
|
|
depends on AMIGA
|
|
help
|
|
If you want to use your Amiga's built-in serial port in Linux,
|
|
answer Y.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config MULTIFACE_III_TTY
|
|
tristate "Multiface Card III serial support"
|
|
depends on AMIGA
|
|
help
|
|
If you want to use a Multiface III card's serial port in Linux,
|
|
answer Y.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config GVPIOEXT
|
|
tristate "GVP IO-Extender support"
|
|
depends on PARPORT=n && ZORRO
|
|
help
|
|
If you want to use a GVP IO-Extender serial card in Linux, say Y.
|
|
Otherwise, say N.
|
|
|
|
config GVPIOEXT_LP
|
|
tristate "GVP IO-Extender parallel printer support"
|
|
depends on GVPIOEXT
|
|
help
|
|
Say Y to enable driving a printer from the parallel port on your
|
|
GVP IO-Extender card, N otherwise.
|
|
|
|
config GVPIOEXT_PLIP
|
|
tristate "GVP IO-Extender PLIP support"
|
|
depends on GVPIOEXT
|
|
help
|
|
Say Y to enable doing IP over the parallel port on your GVP
|
|
IO-Extender card, N otherwise.
|
|
|
|
config MAC_HID
|
|
bool
|
|
depends on INPUT_ADBHID
|
|
default y
|
|
|
|
config HPDCA
|
|
tristate "HP DCA serial support"
|
|
depends on DIO && SERIAL_8250
|
|
help
|
|
If you want to use the internal "DCA" serial ports on an HP300
|
|
machine, say Y here.
|
|
|
|
config HPAPCI
|
|
tristate "HP APCI serial support"
|
|
depends on HP300 && SERIAL_8250 && EXPERIMENTAL
|
|
help
|
|
If you want to use the internal "APCI" serial ports on an HP400
|
|
machine, say Y here.
|
|
|
|
config MVME147_SCC
|
|
bool "SCC support for MVME147 serial ports"
|
|
depends on MVME147 && BROKEN
|
|
help
|
|
This is the driver for the serial ports on the Motorola MVME147
|
|
boards. Everyone using one of these boards should say Y here.
|
|
|
|
config MVME162_SCC
|
|
bool "SCC support for MVME162 serial ports"
|
|
depends on MVME16x && BROKEN
|
|
help
|
|
This is the driver for the serial ports on the Motorola MVME162 and
|
|
172 boards. Everyone using one of these boards should say Y here.
|
|
|
|
config BVME6000_SCC
|
|
bool "SCC support for BVME6000 serial ports"
|
|
depends on BVME6000 && BROKEN
|
|
help
|
|
This is the driver for the serial ports on the BVME4000 and BVME6000
|
|
boards from BVM Ltd. Everyone using one of these boards should say
|
|
Y here.
|
|
|
|
config DN_SERIAL
|
|
bool "Support for DN serial port (dummy)"
|
|
depends on APOLLO
|
|
|
|
config SERIAL_CONSOLE
|
|
bool "Support for serial port console"
|
|
depends on (AMIGA || ATARI || SUN3 || SUN3X || VME || APOLLO) && (ATARI_MFPSER=y || ATARI_MIDI=y || AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y || SERIAL=y || MVME147_SCC || SERIAL167 || MVME162_SCC || BVME6000_SCC || DN_SERIAL)
|
|
---help---
|
|
If you say Y here, it will be possible to use a serial port as the
|
|
system console (the system console is the device which receives all
|
|
kernel messages and warnings and which allows logins in single user
|
|
mode). This could be useful if some terminal or printer is connected
|
|
to that serial port.
|
|
|
|
Even if you say Y here, the currently visible virtual console
|
|
(/dev/tty0) will still be used as the system console by default, but
|
|
you can alter that using a kernel command line option such as
|
|
"console=ttyS1". (Try "man bootparam" or see the documentation of
|
|
your boot loader (lilo or loadlin) about how to pass options to the
|
|
kernel at boot time.)
|
|
|
|
If you don't have a VGA card installed and you say Y here, the
|
|
kernel will automatically use the first serial line, /dev/ttyS0, as
|
|
system console.
|
|
|
|
If unsure, say N.
|
|
|
|
endmenu
|
|
|
|
endif
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/m68k/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|