This is a set of patches to add architecture support for the TI C6X family of DSPs. A previous patch set for this architecture was posted a while back: http://lwn.net/Articles/442439/ This new set represents a lot of rework based on feedback from the original posting. The major difference is a switch from static platform devices to device tree support and a reworking of how the SoC and board specific bits are partitioned. Also, all drivers have been removed from the patch set so we can focus on just the arch bits. There is support for four boards, each using a different SoC. Two of the SoCs contain multiple cores but SMP is not supported due to lack of cache coherency. A GNU toolchain can be gotten fromfound at: http://www.codesourcery.com/sgpp/lite/c6000/portal/release1882 Mark Salter (24): fix default __strnlen_user macro fixed generic page.h for non-zero PAGE_OFFSET add ELF machine define for TI C6X DSPs C6X: build infrastructure C6X: early boot code C6X: devicetree C6X: memory management C6X: process management C6X: signal management C6X: time management C6X: interrupt handling C6X: syscalls C6X: traps C6X: clocks C6X: cache control C6X: module support C6X: ptrace support C6X: headers C6X: library code C6X: general machine and SoC support C6X: specific SoC support C6X: specific board support C6X: miscellaneous low-level SoC support C6X: MAINTAINERS MAINTAINERS | 8 + arch/c6x/Kconfig | 180 ++++++++ arch/c6x/Kconfig.debug | 14 + arch/c6x/Makefile | 56 +++ arch/c6x/boot/Makefile | 22 + arch/c6x/boot/dts/dsk6455.dts | 87 ++++ arch/c6x/boot/dts/evmc6457.dts | 88 ++++ arch/c6x/boot/dts/evmc6472.dts | 129 ++++++ arch/c6x/boot/dts/evmc6474.dts | 105 +++++ arch/c6x/boot/install-dtb.c | 275 ++++++++++++ arch/c6x/configs/dsk6455_defconfig | 39 ++ arch/c6x/configs/evmc6457_defconfig | 40 ++ arch/c6x/configs/evmc6472_defconfig | 41 ++ arch/c6x/configs/evmc6474_defconfig | 41 ++ arch/c6x/include/asm/Kbuild | 54 +++ arch/c6x/include/asm/asm-offsets.h | 1 + arch/c6x/include/asm/bitops.h | 105 +++++ arch/c6x/include/asm/byteorder.h | 12 + arch/c6x/include/asm/cache.h | 84 ++++ arch/c6x/include/asm/cacheflush.h | 65 +++ arch/c6x/include/asm/checksum.h | 115 +++++ arch/c6x/include/asm/clkdev.h | 22 + arch/c6x/include/asm/clock.h | 146 +++++++ arch/c6x/include/asm/delay.h | 67 +++ arch/c6x/include/asm/dma-mapping.h | 301 +++++++++++++ arch/c6x/include/asm/dma.h | 23 + arch/c6x/include/asm/elf.h | 113 +++++ arch/c6x/include/asm/ftrace.h | 6 + arch/c6x/include/asm/hardirq.h | 20 + arch/c6x/include/asm/irq.h | 300 +++++++++++++ arch/c6x/include/asm/irqflags.h | 72 +++ arch/c6x/include/asm/linkage.h | 30 ++ arch/c6x/include/asm/machdep.h | 106 +++++ arch/c6x/include/asm/memblock.h | 4 + arch/c6x/include/asm/mmu.h | 18 + arch/c6x/include/asm/module.h | 33 ++ arch/c6x/include/asm/mutex.h | 6 + arch/c6x/include/asm/page.h | 11 + arch/c6x/include/asm/pgtable.h | 81 ++++ arch/c6x/include/asm/processor.h | 132 ++++++ arch/c6x/include/asm/procinfo.h | 28 ++ arch/c6x/include/asm/prom.h | 1 + arch/c6x/include/asm/ptrace.h | 181 ++++++++ arch/c6x/include/asm/sections.h | 12 + arch/c6x/include/asm/setup.h | 27 ++ arch/c6x/include/asm/sigcontext.h | 80 ++++ arch/c6x/include/asm/signal.h | 17 + arch/c6x/include/asm/soc.h | 110 +++++ arch/c6x/include/asm/string.h | 21 + arch/c6x/include/asm/syscalls.h | 56 +++ arch/c6x/include/asm/system.h | 193 +++++++++ arch/c6x/include/asm/thread_info.h | 121 ++++++ arch/c6x/include/asm/timex.h | 41 ++ arch/c6x/include/asm/tlb.h | 8 + arch/c6x/include/asm/traps.h | 37 ++ arch/c6x/include/asm/uaccess.h | 107 +++++ arch/c6x/include/asm/unaligned.h | 288 ++++++++++++ arch/c6x/include/asm/unistd.h | 32 ++ arch/c6x/kernel/Makefile | 12 + arch/c6x/kernel/asm-offsets.c | 123 ++++++ arch/c6x/kernel/c6x_ksyms.c | 72 +++ arch/c6x/kernel/devicetree.c | 53 +++ arch/c6x/kernel/entry.S | 815 +++++++++++++++++++++++++++++++++++ arch/c6x/kernel/head.S | 83 ++++ arch/c6x/kernel/irq.c | 736 +++++++++++++++++++++++++++++++ arch/c6x/kernel/module.c | 238 ++++++++++ arch/c6x/kernel/process.c | 264 +++++++++++ arch/c6x/kernel/ptrace.c | 246 +++++++++++ arch/c6x/kernel/setup.c | 464 ++++++++++++++++++++ arch/c6x/kernel/signal.c | 377 ++++++++++++++++ arch/c6x/kernel/soc.c | 169 ++++++++ arch/c6x/kernel/switch_to.S | 74 ++++ arch/c6x/kernel/sys_c6x.c | 82 ++++ arch/c6x/kernel/time.c | 72 +++ arch/c6x/kernel/traps.c | 421 ++++++++++++++++++ arch/c6x/kernel/vectors.S | 81 ++++ arch/c6x/kernel/vmlinux.lds.S | 165 +++++++ arch/c6x/lib/Makefile | 8 + arch/c6x/lib/csum_64plus.S | 404 +++++++++++++++++ arch/c6x/lib/divi.S | 53 +++ arch/c6x/lib/divremi.S | 46 ++ arch/c6x/lib/divremu.S | 87 ++++ arch/c6x/lib/divu.S | 98 +++++ arch/c6x/lib/divull.c | 331 ++++++++++++++ arch/c6x/lib/llshl.S | 37 ++ arch/c6x/lib/llshr.S | 38 ++ arch/c6x/lib/llshru.S | 38 ++ arch/c6x/lib/memcpy_64plus.S | 46 ++ arch/c6x/lib/mpyll.S | 49 +++ arch/c6x/lib/negll.S | 31 ++ arch/c6x/lib/pop_rts.S | 32 ++ arch/c6x/lib/push_rts.S | 31 ++ arch/c6x/lib/remi.S | 64 +++ arch/c6x/lib/remu.S | 82 ++++ arch/c6x/lib/strasgi.S | 89 ++++ arch/c6x/lib/strasgi_64plus.S | 39 ++ arch/c6x/mm/Makefile | 10 + arch/c6x/mm/dma-coherent.c | 328 ++++++++++++++ arch/c6x/mm/init.c | 112 +++++ arch/c6x/platforms/Kconfig | 45 ++ arch/c6x/platforms/Makefile | 19 + arch/c6x/platforms/board-dsk6455.c | 102 +++++ arch/c6x/platforms/board-evm6457.c | 51 +++ arch/c6x/platforms/board-evm6472.c | 51 +++ arch/c6x/platforms/board-evm6474.c | 53 +++ arch/c6x/platforms/cache.c | 435 +++++++++++++++++++ arch/c6x/platforms/emif.c | 80 ++++ arch/c6x/platforms/emif.h | 45 ++ arch/c6x/platforms/megamod-pic.c | 335 ++++++++++++++ arch/c6x/platforms/megamod-pic.h | 9 + arch/c6x/platforms/pll.c | 470 ++++++++++++++++++++ arch/c6x/platforms/plldata.c | 152 +++++++ arch/c6x/platforms/psc.c | 138 ++++++ arch/c6x/platforms/psc.h | 33 ++ arch/c6x/platforms/soc-6455.c | 345 +++++++++++++++ arch/c6x/platforms/soc-6455.h | 15 + arch/c6x/platforms/soc-6457.c | 163 +++++++ arch/c6x/platforms/soc-6457.h | 15 + arch/c6x/platforms/soc-6472.c | 403 +++++++++++++++++ arch/c6x/platforms/soc-6472.h | 15 + arch/c6x/platforms/soc-6474.c | 250 +++++++++++ arch/c6x/platforms/soc-6474.h | 15 + arch/c6x/platforms/timer64.c | 191 ++++++++ arch/c6x/platforms/timer64.h | 6 + include/asm-generic/page.h | 10 +- include/asm-generic/uaccess.h | 2 +- include/linux/elf-em.h | 1 + 127 files changed, 14457 insertions(+), 4 deletions(-) create mode 100644 arch/c6x/Kconfig create mode 100644 arch/c6x/Kconfig.debug create mode 100644 arch/c6x/Makefile create mode 100644 arch/c6x/boot/Makefile create mode 100644 arch/c6x/boot/dts/dsk6455.dts create mode 100644 arch/c6x/boot/dts/evmc6457.dts create mode 100644 arch/c6x/boot/dts/evmc6472.dts create mode 100644 arch/c6x/boot/dts/evmc6474.dts create mode 100644 arch/c6x/boot/install-dtb.c create mode 100644 arch/c6x/configs/dsk6455_defconfig create mode 100644 arch/c6x/configs/evmc6457_defconfig create mode 100644 arch/c6x/configs/evmc6472_defconfig create mode 100644 arch/c6x/configs/evmc6474_defconfig create mode 100644 arch/c6x/include/asm/Kbuild create mode 100644 arch/c6x/include/asm/asm-offsets.h create mode 100644 arch/c6x/include/asm/bitops.h create mode 100644 arch/c6x/include/asm/byteorder.h create mode 100644 arch/c6x/include/asm/cache.h create mode 100644 arch/c6x/include/asm/cacheflush.h create mode 100644 arch/c6x/include/asm/checksum.h create mode 100644 arch/c6x/include/asm/clkdev.h create mode 100644 arch/c6x/include/asm/clock.h create mode 100644 arch/c6x/include/asm/delay.h create mode 100644 arch/c6x/include/asm/dma-mapping.h create mode 100644 arch/c6x/include/asm/dma.h create mode 100644 arch/c6x/include/asm/elf.h create mode 100644 arch/c6x/include/asm/ftrace.h create mode 100644 arch/c6x/include/asm/hardirq.h create mode 100644 arch/c6x/include/asm/irq.h create mode 100644 arch/c6x/include/asm/irqflags.h create mode 100644 arch/c6x/include/asm/linkage.h create mode 100644 arch/c6x/include/asm/machdep.h create mode 100644 arch/c6x/include/asm/memblock.h create mode 100644 arch/c6x/include/asm/mmu.h create mode 100644 arch/c6x/include/asm/module.h create mode 100644 arch/c6x/include/asm/mutex.h create mode 100644 arch/c6x/include/asm/page.h create mode 100644 arch/c6x/include/asm/pgtable.h create mode 100644 arch/c6x/include/asm/processor.h create mode 100644 arch/c6x/include/asm/procinfo.h create mode 100644 arch/c6x/include/asm/prom.h create mode 100644 arch/c6x/include/asm/ptrace.h create mode 100644 arch/c6x/include/asm/sections.h create mode 100644 arch/c6x/include/asm/setup.h create mode 100644 arch/c6x/include/asm/sigcontext.h create mode 100644 arch/c6x/include/asm/signal.h create mode 100644 arch/c6x/include/asm/soc.h create mode 100644 arch/c6x/include/asm/string.h create mode 100644 arch/c6x/include/asm/syscalls.h create mode 100644 arch/c6x/include/asm/system.h create mode 100644 arch/c6x/include/asm/thread_info.h create mode 100644 arch/c6x/include/asm/timex.h create mode 100644 arch/c6x/include/asm/tlb.h create mode 100644 arch/c6x/include/asm/traps.h create mode 100644 arch/c6x/include/asm/uaccess.h create mode 100644 arch/c6x/include/asm/unaligned.h create mode 100644 arch/c6x/include/asm/unistd.h create mode 100644 arch/c6x/kernel/Makefile create mode 100644 arch/c6x/kernel/asm-offsets.c create mode 100644 arch/c6x/kernel/c6x_ksyms.c create mode 100644 arch/c6x/kernel/devicetree.c create mode 100644 arch/c6x/kernel/entry.S create mode 100644 arch/c6x/kernel/head.S create mode 100644 arch/c6x/kernel/irq.c create mode 100644 arch/c6x/kernel/module.c create mode 100644 arch/c6x/kernel/process.c create mode 100644 arch/c6x/kernel/ptrace.c create mode 100644 arch/c6x/kernel/setup.c create mode 100644 arch/c6x/kernel/signal.c create mode 100644 arch/c6x/kernel/soc.c create mode 100644 arch/c6x/kernel/switch_to.S create mode 100644 arch/c6x/kernel/sys_c6x.c create mode 100644 arch/c6x/kernel/time.c create mode 100644 arch/c6x/kernel/traps.c create mode 100644 arch/c6x/kernel/vectors.S create mode 100644 arch/c6x/kernel/vmlinux.lds.S create mode 100644 arch/c6x/lib/Makefile create mode 100644 arch/c6x/lib/csum_64plus.S create mode 100644 arch/c6x/lib/divi.S create mode 100644 arch/c6x/lib/divremi.S create mode 100644 arch/c6x/lib/divremu.S create mode 100644 arch/c6x/lib/divu.S create mode 100644 arch/c6x/lib/divull.c create mode 100644 arch/c6x/lib/llshl.S create mode 100644 arch/c6x/lib/llshr.S create mode 100644 arch/c6x/lib/llshru.S create mode 100644 arch/c6x/lib/memcpy_64plus.S create mode 100644 arch/c6x/lib/mpyll.S create mode 100644 arch/c6x/lib/negll.S create mode 100644 arch/c6x/lib/pop_rts.S create mode 100644 arch/c6x/lib/push_rts.S create mode 100644 arch/c6x/lib/remi.S create mode 100644 arch/c6x/lib/remu.S create mode 100644 arch/c6x/lib/strasgi.S create mode 100644 arch/c6x/lib/strasgi_64plus.S create mode 100644 arch/c6x/mm/Makefile create mode 100644 arch/c6x/mm/dma-coherent.c create mode 100644 arch/c6x/mm/init.c create mode 100644 arch/c6x/platforms/Kconfig create mode 100644 arch/c6x/platforms/Makefile create mode 100644 arch/c6x/platforms/board-dsk6455.c create mode 100644 arch/c6x/platforms/board-evm6457.c create mode 100644 arch/c6x/platforms/board-evm6472.c create mode 100644 arch/c6x/platforms/board-evm6474.c create mode 100644 arch/c6x/platforms/cache.c create mode 100644 arch/c6x/platforms/emif.c create mode 100644 arch/c6x/platforms/emif.h create mode 100644 arch/c6x/platforms/megamod-pic.c create mode 100644 arch/c6x/platforms/megamod-pic.h create mode 100644 arch/c6x/platforms/pll.c create mode 100644 arch/c6x/platforms/plldata.c create mode 100644 arch/c6x/platforms/psc.c create mode 100644 arch/c6x/platforms/psc.h create mode 100644 arch/c6x/platforms/soc-6455.c create mode 100644 arch/c6x/platforms/soc-6455.h create mode 100644 arch/c6x/platforms/soc-6457.c create mode 100644 arch/c6x/platforms/soc-6457.h create mode 100644 arch/c6x/platforms/soc-6472.c create mode 100644 arch/c6x/platforms/soc-6472.h create mode 100644 arch/c6x/platforms/soc-6474.c create mode 100644 arch/c6x/platforms/soc-6474.h create mode 100644 arch/c6x/platforms/timer64.c create mode 100644 arch/c6x/platforms/timer64.h -- 1.7.6 -- 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