-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Original port to early 2.6 kernel using TI COFF toolchain. Brought up to date by Mark Salter <msalter@redhat.com> Signed-off-by: Aurelien Jacquiot <a-jacquiot@ti.com> Signed-off-by: Mark Salter <msalter@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
- Loading branch information
Aurelien Jacquiot
authored and
Mark Salter
committed
Oct 6, 2011
1 parent
e66d3c4
commit c278400
Showing
14 changed files
with
701 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
# | ||
# For a description of the syntax of this configuration file, | ||
# see Documentation/kbuild/kconfig-language.txt. | ||
# | ||
|
||
config TMS320C6X | ||
def_bool y | ||
select CLKDEV_LOOKUP | ||
select GENERIC_IRQ_SHOW | ||
select HAVE_ARCH_TRACEHOOK | ||
select HAVE_DMA_API_DEBUG | ||
select HAVE_GENERIC_HARDIRQS | ||
select HAVE_MEMBLOCK | ||
select HAVE_SPARSE_IRQ | ||
select OF | ||
select OF_EARLY_FLATTREE | ||
|
||
config MMU | ||
def_bool n | ||
|
||
config ZONE_DMA | ||
def_bool y | ||
|
||
config FPU | ||
def_bool n | ||
|
||
config HIGHMEM | ||
def_bool n | ||
|
||
config NUMA | ||
def_bool n | ||
|
||
config RWSEM_GENERIC_SPINLOCK | ||
def_bool y | ||
|
||
config RWSEM_XCHGADD_ALGORITHM | ||
def_bool n | ||
|
||
config GENERIC_CALIBRATE_DELAY | ||
def_bool y | ||
|
||
config GENERIC_HWEIGHT | ||
def_bool y | ||
|
||
config GENERIC_CLOCKEVENTS | ||
def_bool y | ||
|
||
config GENERIC_CLOCKEVENTS_BROADCAST | ||
bool | ||
|
||
config GENERIC_BUG | ||
def_bool y | ||
|
||
config COMMON_CLKDEV | ||
def_bool y | ||
|
||
config C6X_BIG_KERNEL | ||
bool "Build a big kernel" | ||
help | ||
The C6X function call instruction has a limited range of +/- 2MiB. | ||
This is sufficient for most kernels, but some kernel configurations | ||
with lots of compiled-in functionality may require a larger range | ||
for function calls. Use this option to have the compiler generate | ||
function calls with 32-bit range. This will make the kernel both | ||
larger and slower. | ||
|
||
If unsure, say N. | ||
|
||
source "init/Kconfig" | ||
|
||
# Use the generic interrupt handling code in kernel/irq/ | ||
|
||
source "kernel/Kconfig.freezer" | ||
|
||
config CMDLINE_BOOL | ||
bool "Default bootloader kernel arguments" | ||
|
||
config CMDLINE | ||
string "Kernel command line" | ||
depends on CMDLINE_BOOL | ||
default "console=ttyS0,57600" | ||
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" | ||
depends on CMDLINE_BOOL | ||
default n | ||
help | ||
Set this to have arguments from the default kernel command string | ||
override those passed by the boot loader. | ||
|
||
config CPU_BIG_ENDIAN | ||
bool "Build big-endian kernel" | ||
default n | ||
help | ||
Say Y if you plan on running a kernel in big-endian mode. | ||
Note that your board must be properly built and your board | ||
port must properly enable any big-endian related features | ||
of your chipset/board/processor. | ||
|
||
config FORCE_MAX_ZONEORDER | ||
int "Maximum zone order" | ||
default "13" | ||
help | ||
The kernel memory allocator divides physically contiguous memory | ||
blocks into "zones", where each zone is a power of two number of | ||
pages. This option selects the largest power of two that the kernel | ||
keeps in the memory allocator. If you need to allocate very large | ||
blocks of physically contiguous memory, then you may need to | ||
increase this value. | ||
|
||
This config option is actually maximum order plus one. For example, | ||
a value of 11 means that the largest free memory block is 2^10 pages. | ||
|
||
menu "Processor type and features" | ||
|
||
source "arch/c6x/platforms/Kconfig" | ||
|
||
config TMS320C6X_CACHES_ON | ||
bool "L2 cache support" | ||
default y | ||
|
||
config KERNEL_RAM_BASE_ADDRESS | ||
hex "Virtual address of memory base" | ||
default 0xe0000000 if SOC_TMS320C6455 | ||
default 0xe0000000 if SOC_TMS320C6457 | ||
default 0xe0000000 if SOC_TMS320C6472 | ||
default 0x80000000 | ||
|
||
source "mm/Kconfig" | ||
|
||
source "kernel/Kconfig.preempt" | ||
|
||
source "kernel/Kconfig.hz" | ||
source "kernel/time/Kconfig" | ||
|
||
endmenu | ||
|
||
menu "Executable file formats" | ||
|
||
source "fs/Kconfig.binfmt" | ||
|
||
endmenu | ||
|
||
source "net/Kconfig" | ||
|
||
source "drivers/Kconfig" | ||
|
||
source "fs/Kconfig" | ||
|
||
source "security/Kconfig" | ||
|
||
source "crypto/Kconfig" | ||
|
||
source "lib/Kconfig" | ||
|
||
menu "Kernel hacking" | ||
|
||
source "lib/Kconfig.debug" | ||
|
||
config ACCESS_CHECK | ||
bool "Check the user pointer address" | ||
default y | ||
help | ||
Usually the pointer transfer from user space is checked to see if its | ||
address is in the kernel space. | ||
|
||
Say N here to disable that check to improve the performance. | ||
|
||
endmenu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# | ||
# linux/arch/c6x/Makefile | ||
# | ||
# This file is subject to the terms and conditions of the GNU General Public | ||
# License. See the file "COPYING" in the main directory of this archive | ||
# for more details. | ||
# | ||
|
||
cflags-y += -mno-dsbt -msdata=none | ||
|
||
cflags-$(CONFIG_C6X_BIG_KERNEL) += -mlong-calls | ||
|
||
CFLAGS_MODULE += -mlong-calls -mno-dsbt -msdata=none | ||
|
||
CHECKFLAGS += | ||
|
||
KBUILD_CFLAGS += $(cflags-y) | ||
KBUILD_AFLAGS += $(cflags-y) | ||
|
||
ifdef CONFIG_CPU_BIG_ENDIAN | ||
KBUILD_CFLAGS += -mbig-endian | ||
KBUILD_AFLAGS += -mbig-endian | ||
LINKFLAGS += -mbig-endian | ||
KBUILD_LDFLAGS += -mbig-endian | ||
LDFLAGS += -EB | ||
endif | ||
|
||
head-y := arch/c6x/kernel/head.o | ||
core-y += arch/c6x/kernel/ arch/c6x/mm/ arch/c6x/platforms/ | ||
libs-y += arch/c6x/lib/ | ||
|
||
# Default to vmlinux.bin, override when needed | ||
all: vmlinux.bin | ||
|
||
boot := arch/$(ARCH)/boot | ||
|
||
# Are we making a dtbImage.<boardname> target? If so, crack out the boardname | ||
DTB:=$(subst dtbImage.,,$(filter dtbImage.%, $(MAKECMDGOALS))) | ||
export DTB | ||
|
||
ifneq ($(DTB),) | ||
core-y += $(boot)/ | ||
endif | ||
|
||
# With make 3.82 we cannot mix normal and wildcard targets | ||
|
||
vmlinux.bin: vmlinux | ||
$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@) | ||
|
||
dtbImage.%: vmlinux | ||
$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@) | ||
|
||
archclean: | ||
$(Q)$(MAKE) $(clean)=$(boot) | ||
|
||
define archhelp | ||
@echo ' vmlinux.bin - Binary kernel image (arch/$(ARCH)/boot/vmlinux.bin)' | ||
@echo ' dtbImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' | ||
@echo ' - stripped elf with fdt blob' | ||
endef |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# | ||
# Makefile for bootable kernel images | ||
# | ||
|
||
OBJCOPYFLAGS_vmlinux.bin := -O binary | ||
$(obj)/vmlinux.bin: vmlinux FORCE | ||
$(call if_changed,objcopy) | ||
|
||
DTC_FLAGS ?= -p 1024 | ||
|
||
ifneq ($(DTB),) | ||
obj-y += linked_dtb.o | ||
endif | ||
|
||
$(obj)/%.dtb: $(src)/dts/%.dts FORCE | ||
$(call cmd,dtc) | ||
|
||
quiet_cmd_cp = CP $< $@$2 | ||
cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false) | ||
|
||
# Generate builtin.dtb from $(DTB).dtb | ||
$(obj)/builtin.dtb: $(obj)/$(DTB).dtb | ||
$(call if_changed,cp) | ||
|
||
$(obj)/linked_dtb.o: $(obj)/builtin.dtb | ||
|
||
$(obj)/dtbImage.%: vmlinux | ||
$(call if_changed,objcopy) | ||
|
||
clean-files := $(obj)/*.dtb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
CONFIG_SOC_TMS320C6455=y | ||
CONFIG_EXPERIMENTAL=y | ||
# CONFIG_LOCALVERSION_AUTO is not set | ||
CONFIG_SYSVIPC=y | ||
CONFIG_SPARSE_IRQ=y | ||
CONFIG_LOG_BUF_SHIFT=14 | ||
CONFIG_NAMESPACES=y | ||
# CONFIG_UTS_NS is not set | ||
# CONFIG_USER_NS is not set | ||
# CONFIG_PID_NS is not set | ||
CONFIG_BLK_DEV_INITRD=y | ||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
CONFIG_EXPERT=y | ||
# CONFIG_FUTEX is not set | ||
# CONFIG_SLUB_DEBUG is not set | ||
CONFIG_MODULES=y | ||
CONFIG_MODULE_FORCE_LOAD=y | ||
CONFIG_MODULE_UNLOAD=y | ||
CONFIG_MODULE_FORCE_UNLOAD=y | ||
CONFIG_CMDLINE_BOOL=y | ||
CONFIG_CMDLINE="" | ||
CONFIG_NO_HZ=y | ||
CONFIG_HIGH_RES_TIMERS=y | ||
CONFIG_BLK_DEV_LOOP=y | ||
CONFIG_BLK_DEV_RAM=y | ||
CONFIG_BLK_DEV_RAM_COUNT=2 | ||
CONFIG_BLK_DEV_RAM_SIZE=17000 | ||
CONFIG_MISC_DEVICES=y | ||
# CONFIG_INPUT is not set | ||
# CONFIG_SERIO is not set | ||
# CONFIG_VT is not set | ||
# CONFIG_HW_RANDOM is not set | ||
# CONFIG_HWMON is not set | ||
# CONFIG_USB_SUPPORT is not set | ||
# CONFIG_IOMMU_SUPPORT is not set | ||
# CONFIG_MISC_FILESYSTEMS is not set | ||
CONFIG_CRC16=y | ||
# CONFIG_ENABLE_MUST_CHECK is not set | ||
# CONFIG_SCHED_DEBUG is not set | ||
# CONFIG_DEBUG_BUGVERBOSE is not set | ||
CONFIG_MTD=y | ||
CONFIG_MTD_CFI=y | ||
CONFIG_MTD_CFI_AMDSTD=y | ||
CONFIG_MTD_PHYSMAP_OF=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
CONFIG_SOC_TMS320C6457=y | ||
CONFIG_EXPERIMENTAL=y | ||
# CONFIG_LOCALVERSION_AUTO is not set | ||
CONFIG_SYSVIPC=y | ||
CONFIG_SPARSE_IRQ=y | ||
CONFIG_LOG_BUF_SHIFT=14 | ||
CONFIG_NAMESPACES=y | ||
# CONFIG_UTS_NS is not set | ||
# CONFIG_USER_NS is not set | ||
# CONFIG_PID_NS is not set | ||
CONFIG_BLK_DEV_INITRD=y | ||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
CONFIG_EXPERT=y | ||
# CONFIG_FUTEX is not set | ||
# CONFIG_SLUB_DEBUG is not set | ||
CONFIG_MODULES=y | ||
CONFIG_MODULE_FORCE_LOAD=y | ||
CONFIG_MODULE_UNLOAD=y | ||
CONFIG_MODULE_FORCE_UNLOAD=y | ||
CONFIG_CMDLINE_BOOL=y | ||
CONFIG_CMDLINE="" | ||
CONFIG_BOARD_EVM6457=y | ||
CONFIG_NO_HZ=y | ||
CONFIG_HIGH_RES_TIMERS=y | ||
CONFIG_BLK_DEV_LOOP=y | ||
CONFIG_BLK_DEV_RAM=y | ||
CONFIG_BLK_DEV_RAM_COUNT=2 | ||
CONFIG_BLK_DEV_RAM_SIZE=17000 | ||
CONFIG_MISC_DEVICES=y | ||
# CONFIG_INPUT is not set | ||
# CONFIG_SERIO is not set | ||
# CONFIG_VT is not set | ||
# CONFIG_HW_RANDOM is not set | ||
# CONFIG_HWMON is not set | ||
# CONFIG_USB_SUPPORT is not set | ||
# CONFIG_IOMMU_SUPPORT is not set | ||
# CONFIG_MISC_FILESYSTEMS is not set | ||
CONFIG_CRC16=y | ||
# CONFIG_ENABLE_MUST_CHECK is not set | ||
# CONFIG_SCHED_DEBUG is not set | ||
# CONFIG_DEBUG_BUGVERBOSE is not set |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
CONFIG_SOC_TMS320C6472=y | ||
CONFIG_EXPERIMENTAL=y | ||
# CONFIG_LOCALVERSION_AUTO is not set | ||
CONFIG_SYSVIPC=y | ||
CONFIG_SPARSE_IRQ=y | ||
CONFIG_LOG_BUF_SHIFT=14 | ||
CONFIG_NAMESPACES=y | ||
# CONFIG_UTS_NS is not set | ||
# CONFIG_USER_NS is not set | ||
# CONFIG_PID_NS is not set | ||
CONFIG_BLK_DEV_INITRD=y | ||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
CONFIG_EXPERT=y | ||
# CONFIG_FUTEX is not set | ||
# CONFIG_SLUB_DEBUG is not set | ||
CONFIG_MODULES=y | ||
CONFIG_MODULE_FORCE_LOAD=y | ||
CONFIG_MODULE_UNLOAD=y | ||
CONFIG_MODULE_FORCE_UNLOAD=y | ||
CONFIG_CMDLINE_BOOL=y | ||
CONFIG_CMDLINE="" | ||
# CONFIG_CMDLINE_FORCE is not set | ||
CONFIG_BOARD_EVM6472=y | ||
CONFIG_NO_HZ=y | ||
CONFIG_HIGH_RES_TIMERS=y | ||
CONFIG_BLK_DEV_LOOP=y | ||
CONFIG_BLK_DEV_RAM=y | ||
CONFIG_BLK_DEV_RAM_COUNT=2 | ||
CONFIG_BLK_DEV_RAM_SIZE=17000 | ||
CONFIG_MISC_DEVICES=y | ||
# CONFIG_INPUT is not set | ||
# CONFIG_SERIO is not set | ||
# CONFIG_VT is not set | ||
# CONFIG_HW_RANDOM is not set | ||
# CONFIG_HWMON is not set | ||
# CONFIG_USB_SUPPORT is not set | ||
# CONFIG_IOMMU_SUPPORT is not set | ||
# CONFIG_MISC_FILESYSTEMS is not set | ||
CONFIG_CRC16=y | ||
# CONFIG_ENABLE_MUST_CHECK is not set | ||
# CONFIG_SCHED_DEBUG is not set | ||
# CONFIG_DEBUG_BUGVERBOSE is not set |
Oops, something went wrong.