mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
f0d1b0b30d
This facility provides three entry points: ilog2() Log base 2 of unsigned long ilog2_u32() Log base 2 of u32 ilog2_u64() Log base 2 of u64 These facilities can either be used inside functions on dynamic data: int do_something(long q) { ...; y = ilog2(x) ...; } Or can be used to statically initialise global variables with constant values: unsigned n = ilog2(27); When performing static initialisation, the compiler will report "error: initializer element is not constant" if asked to take a log of zero or of something not reducible to a constant. They treat negative numbers as unsigned. When not dealing with a constant, they fall back to using fls() which permits them to use arch-specific log calculation instructions - such as BSR on x86/x86_64 or SCAN on FRV - if available. [akpm@osdl.org: MMC fix] Signed-off-by: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: David Howells <dhowells@redhat.com> Cc: Wojtek Kaniewski <wojtekka@toxygen.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
306 lines
5.2 KiB
Plaintext
306 lines
5.2 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/config-language.txt.
|
|
#
|
|
|
|
mainmenu "Linux/SH64 Kernel Configuration"
|
|
|
|
config SUPERH
|
|
bool
|
|
default y
|
|
|
|
config SUPERH64
|
|
bool
|
|
default y
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_FIND_NEXT_BIT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
|
|
config GENERIC_ISA_DMA
|
|
bool
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
default n
|
|
|
|
source init/Kconfig
|
|
|
|
menu "System type"
|
|
|
|
choice
|
|
prompt "SuperH system type"
|
|
default SH_SIMULATOR
|
|
|
|
config SH_GENERIC
|
|
bool "Generic"
|
|
|
|
config SH_SIMULATOR
|
|
bool "Simulator"
|
|
|
|
config SH_CAYMAN
|
|
bool "Cayman"
|
|
|
|
config SH_ROMRAM
|
|
bool "ROM/RAM"
|
|
|
|
config SH_HARP
|
|
bool "ST50-Harp"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Processor family"
|
|
default CPU_SH5
|
|
|
|
config CPU_SH5
|
|
bool "SH-5"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Processor type"
|
|
|
|
config CPU_SUBTYPE_SH5_101
|
|
bool "SH5-101"
|
|
depends on CPU_SH5
|
|
|
|
config CPU_SUBTYPE_SH5_103
|
|
bool "SH5-103"
|
|
depends on CPU_SH5
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Endianness"
|
|
default LITTLE_ENDIAN
|
|
|
|
config LITTLE_ENDIAN
|
|
bool "Little-Endian"
|
|
|
|
config BIG_ENDIAN
|
|
bool "Big-Endian"
|
|
|
|
endchoice
|
|
|
|
config SH_FPU
|
|
bool "FPU support"
|
|
default y
|
|
|
|
config SH64_FPU_DENORM_FLUSH
|
|
depends on SH_FPU
|
|
bool "Flush floating point denorms to zero"
|
|
|
|
choice
|
|
prompt "Page table levels"
|
|
default SH64_PGTABLE_2_LEVEL
|
|
|
|
config SH64_PGTABLE_2_LEVEL
|
|
bool "2"
|
|
|
|
config SH64_PGTABLE_3_LEVEL
|
|
bool "3"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "HugeTLB page size"
|
|
depends on HUGETLB_PAGE && MMU
|
|
default HUGETLB_PAGE_SIZE_64K
|
|
|
|
config HUGETLB_PAGE_SIZE_64K
|
|
bool "64K"
|
|
|
|
config HUGETLB_PAGE_SIZE_1MB
|
|
bool "1MB"
|
|
|
|
config HUGETLB_PAGE_SIZE_512MB
|
|
bool "512MB"
|
|
|
|
endchoice
|
|
|
|
config SH64_USER_MISALIGNED_FIXUP
|
|
bool "Fixup misaligned loads/stores occurring in user mode"
|
|
|
|
comment "Memory options"
|
|
|
|
config CACHED_MEMORY_OFFSET
|
|
hex "Cached Area Offset"
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "20000000"
|
|
|
|
config MEMORY_START
|
|
hex "Physical memory start address"
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "80000000"
|
|
|
|
config MEMORY_SIZE_IN_MB
|
|
int "Memory size (in MB)" if SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "64" if SH_HARP || SH_CAYMAN
|
|
default "8" if SH_SIMULATOR
|
|
|
|
comment "Cache options"
|
|
|
|
config DCACHE_DISABLED
|
|
bool "DCache Disabling"
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
|
|
choice
|
|
prompt "DCache mode"
|
|
depends on !DCACHE_DISABLED && !SH_SIMULATOR
|
|
default DCACHE_WRITE_BACK
|
|
|
|
config DCACHE_WRITE_BACK
|
|
bool "Write-back"
|
|
|
|
config DCACHE_WRITE_THROUGH
|
|
bool "Write-through"
|
|
|
|
endchoice
|
|
|
|
config ICACHE_DISABLED
|
|
bool "ICache Disabling"
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
|
|
config PCIDEVICE_MEMORY_START
|
|
hex
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "C0000000"
|
|
|
|
config DEVICE_MEMORY_START
|
|
hex
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "E0000000"
|
|
|
|
config FLASH_MEMORY_START
|
|
hex "Flash memory/on-chip devices start address"
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "00000000"
|
|
|
|
config PCI_BLOCK_START
|
|
hex "PCI block start address"
|
|
depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
|
|
default "40000000"
|
|
|
|
comment "CPU Subtype specific options"
|
|
|
|
config SH64_ID2815_WORKAROUND
|
|
bool "Include workaround for SH5-101 cut2 silicon defect ID2815"
|
|
|
|
comment "Misc options"
|
|
config HEARTBEAT
|
|
bool "Heartbeat LED"
|
|
|
|
config HDSP253_LED
|
|
bool "Support for HDSP-253 LED"
|
|
depends on SH_CAYMAN
|
|
|
|
config SH_DMA
|
|
tristate "DMA controller (DMAC) support"
|
|
|
|
config PREEMPT
|
|
bool "Preemptible Kernel (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
|
|
source "mm/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
|
|
|
|
config ISA
|
|
bool
|
|
|
|
config SBUS
|
|
bool
|
|
|
|
config PCI
|
|
bool "PCI support"
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
|
|
VESA. If you have PCI, say Y, otherwise N.
|
|
|
|
The PCI-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>, contains valuable
|
|
information about which PCI hardware does work under Linux and which
|
|
doesn't.
|
|
|
|
config SH_PCIDMA_NONCOHERENT
|
|
bool "Cache and PCI noncoherent"
|
|
depends on PCI
|
|
default y
|
|
help
|
|
Enable this option if your platform does not have a CPU cache which
|
|
remains coherent with PCI DMA. It is safest to say 'Y', although you
|
|
will see better performance if you can say 'N', because the PCI DMA
|
|
code will not have to flush the CPU's caches. If you have a PCI host
|
|
bridge integrated with your SH CPU, refer carefully to the chip specs
|
|
to see if you can say 'N' here. Otherwise, leave it as 'Y'.
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/sh64/oprofile/Kconfig"
|
|
|
|
source "arch/sh64/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|
|
#
|
|
# Use the generic interrupt handling code in kernel/irq/:
|
|
#
|
|
config GENERIC_HARDIRQS
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_IRQ_PROBE
|
|
bool
|
|
default y
|
|
|