From: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> --- arch/microblaze/Kconfig | 149 +++++++++++++++++++++++++ arch/microblaze/Kconfig.debug | 35 ++++++ arch/microblaze/platform/Kconfig.platform | 63 +++++++++++ arch/microblaze/platform/generic/Kconfig.auto | 52 +++++++++ 4 files changed, 299 insertions(+), 0 deletions(-) create mode 100644 arch/microblaze/Kconfig create mode 100644 arch/microblaze/Kconfig.debug create mode 100644 arch/microblaze/platform/Kconfig.platform create mode 100644 arch/microblaze/platform/generic/Kconfig.auto diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig new file mode 100644 index 0000000..49767d1 --- /dev/null +++ b/arch/microblaze/Kconfig @@ -0,0 +1,149 @@ +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. + +mainmenu "Linux/Microblaze Kernel Configuration" + +config MICROBLAZE + def_bool y + select HAVE_LMB + +config MMU + def_bool n + +config SWAP + def_bool n + +config RWSEM_GENERIC_SPINLOCK + def_bool y + +config RWSEM_XCHGADD_ALGORITHM + bool + +config ARCH_HAS_ILOG2_U32 + def_bool n + +config ARCH_HAS_ILOG2_U64 + def_bool n + +config GENERIC_FIND_NEXT_BIT + def_bool y + +config GENERIC_HWEIGHT + def_bool y + +config GENERIC_HARDIRQS + def_bool y + +config GENERIC_IRQ_PROBE + def_bool y + +config GENERIC_CALIBRATE_DELAY + def_bool y + +config PCI + def_bool n + +config NO_DMA + def_bool y + +config UID16 + def_bool y + +config HZ + int + default 100 + +config DEFCONFIG_LIST + string + default "arch/$ARCH/defconfig" + +source "init/Kconfig" + +source "arch/microblaze/platform/Kconfig.platform" + +menu "Processor type and features" + +config PREEMPT + bool "Preemptible Kernel" + help + This option reduces the latency of the kernel when reacting to + real-time or interactive events by allowing a low priority process to + be preempted even if it is in kernel mode executing a system call. + This allows applications to run more reliably even when the system is + under load. + + Say Y here if you are building a kernel for a desktop, embedded + or real-time system. Say N if you are unsure. + +config PREEMPT_TIMES + bool "Collect preemption latency times" + depends on PREEMPT + help + Allow collection for preemption latency times. + +config XILINX_UNCACHED_SHADOW + bool "Are you using uncached shadow for RAM ?" + depends on MICROBLAZE + default y + help + This is needed to be able to allocate uncachable memory regions. + The feature requires the design to define the RAM memory controller window + to be twice as large as the actual physical memory. + +config LARGE_ALLOCS + bool "Allow allocating large blocks (> 1MB) of memory" + help + Allow the slab memory allocator to keep chains for very large + memory sizes - up to 32MB. You may need this if your system has + a lot of RAM, and you need to able to allocate very large + contiguous chunks. If unsure, say N. + +comment "Boot options" + +config CMDLINE + string "Default kernel command string" + default "" + help + On some architectures there is currently no way for the boot loader + to pass arguments to the kernel. For these architectures, you should + supply some command-line options at build time by entering them + here. + +config CMDLINE_FORCE + bool "Force default kernel command string" + help + Set this to have arguments from the default kernel command string + override those passed by the boot loader. + +config OF + def_bool y + +config OF_DEVICE + def_bool y + +endmenu + +config APM_EMULATION + bool + +source "mm/Kconfig" + +menu "Exectuable file formats" + +source "fs/Kconfig.binfmt" + +endmenu + +source "net/Kconfig" + +source "drivers/Kconfig" + +source "fs/Kconfig" + +source "arch/microblaze/Kconfig.debug" + +source "security/Kconfig" + +source "crypto/Kconfig" + +source "lib/Kconfig" diff --git a/arch/microblaze/Kconfig.debug b/arch/microblaze/Kconfig.debug new file mode 100644 index 0000000..d15f8b0 --- /dev/null +++ b/arch/microblaze/Kconfig.debug @@ -0,0 +1,35 @@ +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. + +menu "Kernel hacking" + +source "lib/Kconfig.debug" + +config EARLY_PRINTK + def_bool y + +config EARLY_PRINTK_UARTLITE_ADDRESS + hex "Physical address where UART Lite for early printk is mapped" + depends on EARLY_PRINTK + default "0x40100000" + help + Please enter physical address where your uart lite is mapped. + +config HEART_BEAT + bool "Heart beat function for kernel" + help + This option turns on/off heart beat kernel functionality on selected + GPIO address. + +config HEART_BEAT_ADDRESS + hex "Physical address for heart beat LED" + depends on HEART_BEAT + default "0x40600000" + help + Please enter physical address GPIO LED. + +config DEBUG_BOOTMEM + depends on DEBUG_KERNEL + bool "Debug BOOTMEM initialization" + +endmenu diff --git a/arch/microblaze/platform/Kconfig.platform b/arch/microblaze/platform/Kconfig.platform new file mode 100644 index 0000000..64cbb80 --- /dev/null +++ b/arch/microblaze/platform/Kconfig.platform @@ -0,0 +1,63 @@ +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. +# +# Platform selection Kconfig menu for MicroBlaze targets +# + +menu "Platform options" +choice + prompt "Platform" + default PLATFORM_MICROBLAZE_AUTO + help + Choose which hardware board/platform you are targeting. + +config PLATFORM_GENERIC + bool "Generic" + help + Choose this option for the Generic platform. + +endchoice + +config HACK + bool "Increase performance" + default y + +config OPT_LIB_FUNCTION + bool "Optimalized lib function" + default y + help + Allows turn on optimalized library function (memcpy and memmove). + They are optimized by using unsigned alignment. This will work + fine if both source and destination are aligned on the same + boundary. However, if they are aligned on different boundaries + shifts will be necessary. This might result in bad performance + on MicroBlaze systems without a barrel shifter. + +# This is still a bit broken - disabling for now JW 20070504 +config ALLOW_EDIT_AUTO + bool "Permit Display/edit of Kconfig.auto platform settings" + default n + help + Allows the editing of auto-generated platform settings from + the Kconfig.auto file. Obviously this does not change the + underlying hardware, so be very careful if you go editing + these settings. + + Also, if you enable this, and edit various Kconfig.auto + settings, YOUR CHANGES WILL BE LOST if you then disable it + again. You have been warned! + + If unsure, say no. + +# Ok, the platform is chosen. Source the kconfig.auto to get all of the +# system settings. +# If user selected CONFIG_EDIT_AUTO, these will be rendered in gory detail +# and be able to be edited +comment "Automatic platform settings from Kconfig.auto" + depends on ALLOW_EDIT_AUTO + +if PLATFORM_GENERIC=y + source "arch/microblaze/platform/generic/Kconfig.auto" +endif + +endmenu diff --git a/arch/microblaze/platform/generic/Kconfig.auto b/arch/microblaze/platform/generic/Kconfig.auto new file mode 100644 index 0000000..5dc8c15 --- /dev/null +++ b/arch/microblaze/platform/generic/Kconfig.auto @@ -0,0 +1,52 @@ +# For a description of the syntax of this configuration file, +# see Documentation/kbuild/kconfig-language.txt. +# +# Platform Kconfig menu for Microblaze generic board +# + +comment "Definitions for MICROBLAZE0" + depends on ALLOW_EDIT_AUTO + +config KERNEL_BASE_ADDR + hex "Physical address where Linux Kernel is" + default "0x20000000" + help + BASE Address for kernel + +config XILINX_ERAM_SIZE + hex "Memory size of XILINX_RAM" + depends on XILINX_UNCACHED_SHADOW + default 0x02000000 + +config XILINX_MICROBLAZE0_FAMILY + string "Targetted FPGA family" if ALLOW_EDIT_AUTO + default spartan3e + +config XILINX_MICROBLAZE0_HW_VER + string "Core version number" if ALLOW_EDIT_AUTO + default 5.00.c + +config XILINX_MICROBLAZE0_USE_MSR_INSTR + int "USE_MSR_INSTR" if ALLOW_EDIT_AUTO + default 1 + range 0 1 + +config XILINX_MICROBLAZE0_USE_BARREL + int "USE_BARREL" if ALLOW_EDIT_AUTO + default 1 + range 0 1 + +config XILINX_MICROBLAZE0_USE_DIV + int "USE_DIV" if ALLOW_EDIT_AUTO + default 1 + range 0 1 + +config XILINX_MICROBLAZE0_USE_HW_MUL + int "USE_HW_MUL" if ALLOW_EDIT_AUTO + default 1 + range 0 2 + +config XILINX_MICROBLAZE0_USE_FPU + int "USE_FPU" if ALLOW_EDIT_AUTO + default 0 + range 0 1 -- 1.5.4.GIT -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html