2005-04-17 06:20:36 +08:00
|
|
|
config M68K
|
|
|
|
bool
|
|
|
|
default y
|
2008-02-09 17:46:40 +08:00
|
|
|
select HAVE_IDE
|
2011-03-22 11:39:27 +08:00
|
|
|
select HAVE_AOUT if MMU
|
|
|
|
select GENERIC_ATOMIC64 if MMU
|
|
|
|
select HAVE_GENERIC_HARDIRQS if !MMU
|
2011-05-01 05:15:07 +08:00
|
|
|
select GENERIC_IRQ_SHOW if !MMU
|
2011-07-13 13:14:22 +08:00
|
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
|
|
bool
|
|
|
|
|
2006-12-08 18:37:49 +08:00
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
|
|
bool
|
|
|
|
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
|
|
bool
|
|
|
|
|
2006-03-26 17:39:27 +08:00
|
|
|
config GENERIC_HWEIGHT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2006-02-15 05:53:15 +08:00
|
|
|
config TIME_LOW_RES
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2007-02-11 23:41:31 +08:00
|
|
|
config NO_IOPORT
|
|
|
|
def_bool y
|
|
|
|
|
2007-07-20 11:33:58 +08:00
|
|
|
config NO_DMA
|
2011-03-22 11:39:27 +08:00
|
|
|
def_bool (MMU && SUN3) || (!MMU && !COLDFIRE)
|
2007-07-20 11:33:58 +08:00
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
config ZONE_DMA
|
|
|
|
bool
|
|
|
|
default y
|
2011-05-17 14:45:00 +08:00
|
|
|
|
|
|
|
config CPU_HAS_NO_BITFIELDS
|
|
|
|
bool
|
|
|
|
|
avoid overflows in kernel/time.c
When the conversion factor between jiffies and milli- or microseconds is
not a single multiply or divide, as for the case of HZ == 300, we currently
do a multiply followed by a divide. The intervening result, however, is
subject to overflows, especially since the fraction is not simplified (for
HZ == 300, we multiply by 300 and divide by 1000).
This is exposed to the user when passing a large timeout to poll(), for
example.
This patch replaces the multiply-divide with a reciprocal multiplication on
32-bit platforms. When the input is an unsigned long, there is no portable
way to do this on 64-bit platforms there is no portable way to do this
since it requires a 128-bit intermediate result (which gcc does support on
64-bit platforms but may generate libgcc calls, e.g. on 64-bit s390), but
since the output is a 32-bit integer in the cases affected, just simplify
the multiply-divide (*3/10 instead of *300/1000).
The reciprocal multiply used can have off-by-one errors in the upper half
of the valid output range. This could be avoided at the expense of having
to deal with a potential 65-bit intermediate result. Since the intent is
to avoid overflow problems and most of the other time conversions are only
semiexact, the off-by-one errors were considered an acceptable tradeoff.
At Ralf Baechle's suggestion, this version uses a Perl script to compute
the necessary constants. We already have dependencies on Perl for kernel
compiles. This does, however, require the Perl module Math::BigInt, which
is included in the standard Perl distribution starting with version 5.8.0.
In order to support older versions of Perl, include a table of canned
constants in the script itself, and structure the script so that
Math::BigInt isn't required if pulling values from said table.
Running the script requires that the HZ value is available from the
Makefile. Thus, this patch also adds the Kconfig variable CONFIG_HZ to the
architectures which didn't already have it (alpha, cris, frv, h8300, m32r,
m68k, m68knommu, sparc, v850, and xtensa.) It does *not* touch the sh or
sh64 architectures, since Paul Mundt has dealt with those separately in the
sh tree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Cc: Sam Ravnborg <sam@ravnborg.org>,
Cc: Paul Mundt <lethal@linux-sh.org>,
Cc: Richard Henderson <rth@twiddle.net>,
Cc: Michael Starvik <starvik@axis.com>,
Cc: David Howells <dhowells@redhat.com>,
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>,
Cc: Hirokazu Takata <takata@linux-m32r.org>,
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Cc: Roman Zippel <zippel@linux-m68k.org>,
Cc: William L. Irwin <sparclinux@vger.kernel.org>,
Cc: Chris Zankel <chris@zankel.net>,
Cc: H. Peter Anvin <hpa@zytor.com>,
Cc: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08 20:21:26 +08:00
|
|
|
config HZ
|
|
|
|
int
|
2011-03-22 11:39:27 +08:00
|
|
|
default 1000 if CLEOPATRA
|
avoid overflows in kernel/time.c
When the conversion factor between jiffies and milli- or microseconds is
not a single multiply or divide, as for the case of HZ == 300, we currently
do a multiply followed by a divide. The intervening result, however, is
subject to overflows, especially since the fraction is not simplified (for
HZ == 300, we multiply by 300 and divide by 1000).
This is exposed to the user when passing a large timeout to poll(), for
example.
This patch replaces the multiply-divide with a reciprocal multiplication on
32-bit platforms. When the input is an unsigned long, there is no portable
way to do this on 64-bit platforms there is no portable way to do this
since it requires a 128-bit intermediate result (which gcc does support on
64-bit platforms but may generate libgcc calls, e.g. on 64-bit s390), but
since the output is a 32-bit integer in the cases affected, just simplify
the multiply-divide (*3/10 instead of *300/1000).
The reciprocal multiply used can have off-by-one errors in the upper half
of the valid output range. This could be avoided at the expense of having
to deal with a potential 65-bit intermediate result. Since the intent is
to avoid overflow problems and most of the other time conversions are only
semiexact, the off-by-one errors were considered an acceptable tradeoff.
At Ralf Baechle's suggestion, this version uses a Perl script to compute
the necessary constants. We already have dependencies on Perl for kernel
compiles. This does, however, require the Perl module Math::BigInt, which
is included in the standard Perl distribution starting with version 5.8.0.
In order to support older versions of Perl, include a table of canned
constants in the script itself, and structure the script so that
Math::BigInt isn't required if pulling values from said table.
Running the script requires that the HZ value is available from the
Makefile. Thus, this patch also adds the Kconfig variable CONFIG_HZ to the
architectures which didn't already have it (alpha, cris, frv, h8300, m32r,
m68k, m68knommu, sparc, v850, and xtensa.) It does *not* touch the sh or
sh64 architectures, since Paul Mundt has dealt with those separately in the
sh tree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Cc: Sam Ravnborg <sam@ravnborg.org>,
Cc: Paul Mundt <lethal@linux-sh.org>,
Cc: Richard Henderson <rth@twiddle.net>,
Cc: Michael Starvik <starvik@axis.com>,
Cc: David Howells <dhowells@redhat.com>,
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>,
Cc: Hirokazu Takata <takata@linux-m32r.org>,
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Cc: Roman Zippel <zippel@linux-m68k.org>,
Cc: William L. Irwin <sparclinux@vger.kernel.org>,
Cc: Chris Zankel <chris@zankel.net>,
Cc: H. Peter Anvin <hpa@zytor.com>,
Cc: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08 20:21:26 +08:00
|
|
|
default 100
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "init/Kconfig"
|
|
|
|
|
2008-10-19 11:27:21 +08:00
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
config MMU
|
|
|
|
bool "MMU-based Paged Memory Management Support"
|
2005-04-17 06:20:36 +08:00
|
|
|
default y
|
|
|
|
help
|
2011-03-22 11:39:27 +08:00
|
|
|
Select if you want MMU-based virtualised addressing space
|
|
|
|
support by paged memory management. If unsure, say 'Y'.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
menu "Platform dependent setup"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
if MMU
|
|
|
|
source arch/m68k/Kconfig.mmu
|
|
|
|
endif
|
|
|
|
if !MMU
|
|
|
|
source arch/m68k/Kconfig.nommu
|
|
|
|
endif
|
2007-05-31 15:40:54 +08:00
|
|
|
|
2005-06-23 15:07:43 +08:00
|
|
|
source "mm/Kconfig"
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
endmenu
|
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
menu "Executable file formats"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
endmenu
|
2007-02-10 17:43:14 +08:00
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
if !MMU
|
|
|
|
menu "Power management options"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
config PM
|
|
|
|
bool "Power Management support"
|
|
|
|
help
|
|
|
|
Support processor power management modes
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
endmenu
|
2011-03-22 11:39:27 +08:00
|
|
|
endif
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2005-07-12 12:03:49 +08:00
|
|
|
source "net/Kconfig"
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "drivers/Kconfig"
|
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
if MMU
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
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"
|
2009-10-29 20:16:22 +08:00
|
|
|
depends on MVME147 && BROKEN
|
2005-04-17 06:20:36 +08:00
|
|
|
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"
|
2009-10-29 20:16:22 +08:00
|
|
|
depends on MVME16x && BROKEN
|
2005-04-17 06:20:36 +08:00
|
|
|
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"
|
2009-10-29 20:16:22 +08:00
|
|
|
depends on BVME6000 && BROKEN
|
2005-04-17 06:20:36 +08:00
|
|
|
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"
|
2009-11-17 17:06:48 +08:00
|
|
|
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)
|
2005-04-17 06:20:36 +08:00
|
|
|
---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
|
|
|
|
|
2011-03-22 11:39:27 +08:00
|
|
|
endif
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "fs/Kconfig"
|
|
|
|
|
|
|
|
source "arch/m68k/Kconfig.debug"
|
|
|
|
|
|
|
|
source "security/Kconfig"
|
|
|
|
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
|
|
|
|
source "lib/Kconfig"
|