[PATCH] LOG2: Implement a general integer log2 facility in the kernel
[safe/jmp/linux-2.6] / arch / m68knommu / Kconfig
index 6c6980b..25993c2 100644 (file)
@@ -25,6 +25,14 @@ config RWSEM_XCHGADD_ALGORITHM
        bool
        default n
 
+config ARCH_HAS_ILOG2_U32
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
@@ -161,8 +169,8 @@ config CLOCK_FREQ
          frequency, it may or may not be the same as the external clock
          crystal fitted to your board. Some processors have an internal
          PLL and can have their frequency programmed at run time, others
-         use internal dividers. In gernal the kernel won't setup a PLL
-         if it is fitted (there are some expections). This value will be
+         use internal dividers. In general the kernel won't setup a PLL
+         if it is fitted (there are some exceptions). This value will be
          specific to the exact CPU that you are using.
 
 config CLOCK_DIV
@@ -173,7 +181,7 @@ config CLOCK_DIV
          On many SoC style CPUs the master CPU clock is also used to drive 
          on-chip peripherals. The clock that is distributed to these
          peripherals is sometimes a fixed ratio of the master clock
-         frequency. If so then set this to the divider ration of the
+         frequency. If so then set this to the divider ratio of the
          master clock to the peripheral clock. If not sure then select 1.
 
 config OLDMASK
@@ -192,7 +200,7 @@ config PILOT3
          Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
 
 config XCOPILOT_BUGS
-       bool "  (X)Copilot support"
+       bool "(X)Copilot support"
        depends on PILOT3
        help
          Support the bugs of Xcopilot.
@@ -216,20 +224,20 @@ config DRAGEN2
          Support for the DragenEngine II board.
 
 config DIRECT_IO_ACCESS
-       bool "  Allow user to access IO directly"
+       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"
+       bool "Initialize LCD"
        depends on (UCSIMM || UCDIMM || DRAGEN2)
        help
          Initialize the LCD controller of the 68x328 processor.
 
 config MEMORY_RESERVE
-       int "  Memory reservation (MiB)"
+       int "Memory reservation (MiB)"
        depends on (UCSIMM || UCDIMM)
        help
          Reserve certain memory regions on 68x328 based boards.
@@ -409,7 +417,7 @@ config MOD5272
          Support for the Netburner MOD-5272 board.
 
 config ROMFS_FROM_ROM
-       bool "  ROMFS image not RAM resident"
+       bool "ROMFS image not RAM resident"
        depends on (NETtel || SNAPGEAR)
        help
          The ROMfs filesystem will stay resident in the FLASH/ROM, not be
@@ -472,38 +480,46 @@ config 4KSTACKS
          running more threads on a system and also reduces the pressure
          on the VM subsystem for higher order allocations.
 
-choice
-       prompt "RAM size"
-       default AUTO
-
-config RAMAUTO
-       bool "AUTO"
-       ---help---
-         Configure the RAM size on your platform. Many platforms can auto
-         detect this, on those choose the AUTO option. Otherwise set the
-         RAM size you intend using.
+comment "RAM configuration"
 
-config RAM4MB
-       bool "4MiB"
+config RAMBASE
+       hex "Address of the base of RAM"
+       default "0"
        help
-         Set RAM size to be 4MiB.
+         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 RAM8MB
-       bool "8MiB"
+config RAMSIZE
+       hex "Size of RAM (in bytes)"
+       default "0x400000"
        help
-         Set RAM size to be 8MiB.
+         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 RAM16MB
-       bool "16MiB"
+config VECTORBASE
+       hex "Address of the base of system vectors"
+       default "0"
        help
-         Set RAM size to be 16MiB.
+         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 RAM32MB
-       bool "32MiB"
+config KERNELBASE
+       hex "Address of the base of kernel code"
+       default "0x400"
        help
-         Set RAM size to be 32MiB.
-
-endchoice
+         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.
 
 choice
        prompt "RAM bus width"
@@ -511,7 +527,7 @@ choice
 
 config RAMAUTOBIT
        bool "AUTO"
-       ---help---
+       help
          Select the physical RAM data bus size. Not needed on most platforms,
          so you can generally choose AUTO.
 
@@ -532,6 +548,59 @@ config RAM32BIT
 
 endchoice
 
+comment "ROM configuration"
+
+config ROM
+       bool "Specify ROM linker regions"
+       default n
+       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 ROMBASE
+       hex "Address of the base of ROM device"
+       default "0"
+       depends on ROM
+       help
+         Define the address that the ROM region starts at. Some platforms
+         use this to set their chip select region accordingly for the boot
+         device.
+
+config ROMVEC
+       hex "Address of the base of the ROM vectors"
+       default "0"
+       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 ROMVECSIZE
+       hex "Size of ROM vector region (in bytes)"
+       default "0x400"
+       depends on ROM
+       help
+         Define the size of the vector region in ROM. For most 68000
+         variants this would be 0x400 bytes in size. Set to 0 if you do
+         not want a vector region at the start of the ROM.
+
+config ROMSTART
+       hex "Address of the base of system image in ROM"
+       default "0x400"
+       depends on ROM
+       help
+         Define the start address of the system image in ROM. Commonly this
+         is strait after the ROM vectors.
+
+config ROMSIZE
+       hex "Size of the ROM device"
+       default "0x100000"
+       depends on ROM
+       help
+         Size of the ROM device. On some platforms this is used to setup
+         the chip select that controls the boot ROM device.
+
 choice
        prompt "Kernel executes from"
        ---help---
@@ -545,7 +614,9 @@ config RAMKERNEL
 config ROMKERNEL
        bool "ROM"
        help
-         The kernel will be resident in FLASH/ROM when running.
+         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