C6X: build infrastructure
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>
This commit is contained in:
parent
e66d3c490c
commit
c278400c52
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,42 @@
|
||||||
|
CONFIG_SOC_TMS320C6474=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_EVM6474=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
|
|
@ -0,0 +1,54 @@
|
||||||
|
include include/asm-generic/Kbuild.asm
|
||||||
|
|
||||||
|
generic-y += atomic.h
|
||||||
|
generic-y += auxvec.h
|
||||||
|
generic-y += bitsperlong.h
|
||||||
|
generic-y += bug.h
|
||||||
|
generic-y += bugs.h
|
||||||
|
generic-y += cputime.h
|
||||||
|
generic-y += current.h
|
||||||
|
generic-y += device.h
|
||||||
|
generic-y += div64.h
|
||||||
|
generic-y += dma.h
|
||||||
|
generic-y += emergency-restart.h
|
||||||
|
generic-y += errno.h
|
||||||
|
generic-y += fb.h
|
||||||
|
generic-y += fcntl.h
|
||||||
|
generic-y += futex.h
|
||||||
|
generic-y += hw_irq.h
|
||||||
|
generic-y += io.h
|
||||||
|
generic-y += ioctl.h
|
||||||
|
generic-y += ioctls.h
|
||||||
|
generic-y += ipcbuf.h
|
||||||
|
generic-y += irq_regs.h
|
||||||
|
generic-y += kdebug.h
|
||||||
|
generic-y += kmap_types.h
|
||||||
|
generic-y += local.h
|
||||||
|
generic-y += mman.h
|
||||||
|
generic-y += mmu_context.h
|
||||||
|
generic-y += msgbuf.h
|
||||||
|
generic-y += param.h
|
||||||
|
generic-y += pci.h
|
||||||
|
generic-y += percpu.h
|
||||||
|
generic-y += pgalloc.h
|
||||||
|
generic-y += poll.h
|
||||||
|
generic-y += posix_types.h
|
||||||
|
generic-y += resource.h
|
||||||
|
generic-y += scatterlist.h
|
||||||
|
generic-y += segment.h
|
||||||
|
generic-y += sembuf.h
|
||||||
|
generic-y += shmbuf.h
|
||||||
|
generic-y += shmparam.h
|
||||||
|
generic-y += siginfo.h
|
||||||
|
generic-y += socket.h
|
||||||
|
generic-y += sockios.h
|
||||||
|
generic-y += stat.h
|
||||||
|
generic-y += statfs.h
|
||||||
|
generic-y += termbits.h
|
||||||
|
generic-y += termios.h
|
||||||
|
generic-y += tlbflush.h
|
||||||
|
generic-y += topology.h
|
||||||
|
generic-y += types.h
|
||||||
|
generic-y += ucontext.h
|
||||||
|
generic-y += user.h
|
||||||
|
generic-y += vga.h
|
|
@ -0,0 +1,12 @@
|
||||||
|
#
|
||||||
|
# Makefile for arch/c6x/kernel/
|
||||||
|
#
|
||||||
|
|
||||||
|
extra-y := head.o vmlinux.lds
|
||||||
|
|
||||||
|
obj-y := process.o traps.o irq.o signal.o ptrace.o
|
||||||
|
obj-y += setup.o sys_c6x.o time.o devicetree.o
|
||||||
|
obj-y += switch_to.o entry.o vectors.o c6x_ksyms.o
|
||||||
|
obj-y += soc.o dma.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_MODULES) += module.o
|
|
@ -0,0 +1,162 @@
|
||||||
|
/*
|
||||||
|
* ld script for the c6x kernel
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010, 2011 Texas Instruments Incorporated
|
||||||
|
* Mark Salter <msalter@redhat.com>
|
||||||
|
*/
|
||||||
|
#include <asm-generic/vmlinux.lds.h>
|
||||||
|
#include <asm/thread_info.h>
|
||||||
|
#include <asm/page.h>
|
||||||
|
|
||||||
|
ENTRY(_c_int00)
|
||||||
|
|
||||||
|
#if defined(CONFIG_CPU_BIG_ENDIAN)
|
||||||
|
jiffies = jiffies_64 + 4;
|
||||||
|
#else
|
||||||
|
jiffies = jiffies_64;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define READONLY_SEGMENT_START \
|
||||||
|
. = PAGE_OFFSET;
|
||||||
|
#define READWRITE_SEGMENT_START \
|
||||||
|
. = ALIGN(128); \
|
||||||
|
_data_lma = .;
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Start kernel read only segment
|
||||||
|
*/
|
||||||
|
READONLY_SEGMENT_START
|
||||||
|
|
||||||
|
.vectors :
|
||||||
|
{
|
||||||
|
_vectors_start = .;
|
||||||
|
*(.vectors)
|
||||||
|
. = ALIGN(0x400);
|
||||||
|
_vectors_end = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(0x1000);
|
||||||
|
.cmdline :
|
||||||
|
{
|
||||||
|
*(.cmdline)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This section contains data which may be shared with other
|
||||||
|
* cores. It needs to be a fixed offset from PAGE_OFFSET
|
||||||
|
* regardless of kernel configuration.
|
||||||
|
*/
|
||||||
|
.virtio_ipc_dev :
|
||||||
|
{
|
||||||
|
*(.virtio_ipc_dev)
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(PAGE_SIZE);
|
||||||
|
.init :
|
||||||
|
{
|
||||||
|
_stext = .;
|
||||||
|
_sinittext = .;
|
||||||
|
HEAD_TEXT
|
||||||
|
INIT_TEXT
|
||||||
|
_einittext = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
__init_begin = _stext;
|
||||||
|
INIT_DATA_SECTION(16)
|
||||||
|
|
||||||
|
PERCPU_SECTION(128)
|
||||||
|
|
||||||
|
. = ALIGN(PAGE_SIZE);
|
||||||
|
__init_end = .;
|
||||||
|
|
||||||
|
.text :
|
||||||
|
{
|
||||||
|
_text = .;
|
||||||
|
TEXT_TEXT
|
||||||
|
SCHED_TEXT
|
||||||
|
LOCK_TEXT
|
||||||
|
IRQENTRY_TEXT
|
||||||
|
KPROBES_TEXT
|
||||||
|
*(.fixup)
|
||||||
|
*(.gnu.warning)
|
||||||
|
}
|
||||||
|
|
||||||
|
EXCEPTION_TABLE(16)
|
||||||
|
NOTES
|
||||||
|
|
||||||
|
RO_DATA_SECTION(PAGE_SIZE)
|
||||||
|
.const :
|
||||||
|
{
|
||||||
|
*(.const .const.* .gnu.linkonce.r.*)
|
||||||
|
*(.switch)
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN (8) ;
|
||||||
|
__fdt_blob : AT(ADDR(__fdt_blob) - LOAD_OFFSET)
|
||||||
|
{
|
||||||
|
_fdt_start = . ; /* place for fdt blob */
|
||||||
|
*(__fdt_blob) ; /* Any link-placed DTB */
|
||||||
|
BYTE(0); /* section always has contents */
|
||||||
|
. = _fdt_start + 0x4000; /* Pad up to 16kbyte */
|
||||||
|
_fdt_end = . ;
|
||||||
|
}
|
||||||
|
|
||||||
|
_etext = .;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Start kernel read-write segment.
|
||||||
|
*/
|
||||||
|
READWRITE_SEGMENT_START
|
||||||
|
_sdata = .;
|
||||||
|
|
||||||
|
.fardata : AT(ADDR(.fardata) - LOAD_OFFSET)
|
||||||
|
{
|
||||||
|
INIT_TASK_DATA(THREAD_SIZE)
|
||||||
|
NOSAVE_DATA
|
||||||
|
PAGE_ALIGNED_DATA(PAGE_SIZE)
|
||||||
|
CACHELINE_ALIGNED_DATA(128)
|
||||||
|
READ_MOSTLY_DATA(128)
|
||||||
|
DATA_DATA
|
||||||
|
CONSTRUCTORS
|
||||||
|
*(.data1)
|
||||||
|
*(.fardata .fardata.*)
|
||||||
|
*(.data.debug_bpt)
|
||||||
|
}
|
||||||
|
|
||||||
|
.neardata ALIGN(8) : AT(ADDR(.neardata) - LOAD_OFFSET)
|
||||||
|
{
|
||||||
|
*(.neardata2 .neardata2.* .gnu.linkonce.s2.*)
|
||||||
|
*(.neardata .neardata.* .gnu.linkonce.s.*)
|
||||||
|
. = ALIGN(8);
|
||||||
|
}
|
||||||
|
|
||||||
|
_edata = .;
|
||||||
|
|
||||||
|
__bss_start = .;
|
||||||
|
SBSS(8)
|
||||||
|
BSS(8)
|
||||||
|
.far :
|
||||||
|
{
|
||||||
|
. = ALIGN(8);
|
||||||
|
*(.dynfar)
|
||||||
|
*(.far .far.* .gnu.linkonce.b.*)
|
||||||
|
. = ALIGN(8);
|
||||||
|
}
|
||||||
|
__bss_stop = .;
|
||||||
|
|
||||||
|
_end = .;
|
||||||
|
|
||||||
|
DWARF_DEBUG
|
||||||
|
|
||||||
|
/DISCARD/ :
|
||||||
|
{
|
||||||
|
EXIT_TEXT
|
||||||
|
EXIT_DATA
|
||||||
|
EXIT_CALL
|
||||||
|
*(.discard)
|
||||||
|
*(.discard.*)
|
||||||
|
*(.interp)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
#
|
||||||
|
# Makefile for arch/c6x/lib/
|
||||||
|
#
|
||||||
|
|
||||||
|
lib-y := divu.o divi.o pop_rts.o push_rts.o remi.o remu.o strasgi.o llshru.o
|
||||||
|
lib-y += llshr.o llshl.o negll.o mpyll.o divremi.o divremu.o
|
||||||
|
lib-y += checksum.o csum_64plus.o memcpy_64plus.o strasgi_64plus.o
|
|
@ -0,0 +1,5 @@
|
||||||
|
#
|
||||||
|
# Makefile for the linux c6x-specific parts of the memory manager.
|
||||||
|
#
|
||||||
|
|
||||||
|
obj-y := init.o dma-coherent.o
|
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
config SOC_TMS320C6455
|
||||||
|
bool "TMS320C6455"
|
||||||
|
default n
|
||||||
|
|
||||||
|
config SOC_TMS320C6457
|
||||||
|
bool "TMS320C6457"
|
||||||
|
default n
|
||||||
|
|
||||||
|
config SOC_TMS320C6472
|
||||||
|
bool "TMS320C6472"
|
||||||
|
default n
|
||||||
|
|
||||||
|
config SOC_TMS320C6474
|
||||||
|
bool "TMS320C6474"
|
||||||
|
default n
|
|
@ -0,0 +1,12 @@
|
||||||
|
#
|
||||||
|
# Makefile for arch/c6x/platforms
|
||||||
|
#
|
||||||
|
# Copyright 2010, 2011 Texas Instruments Incorporated
|
||||||
|
#
|
||||||
|
|
||||||
|
obj-y = platform.o cache.o megamod-pic.o pll.o plldata.o timer64.o
|
||||||
|
obj-y += dscr.o
|
||||||
|
|
||||||
|
# SoC objects
|
||||||
|
obj-$(CONFIG_SOC_TMS320C6455) += emif.o
|
||||||
|
obj-$(CONFIG_SOC_TMS320C6457) += emif.o
|
Loading…
Reference in New Issue