[PATCH v2 00/24] C6X: New architecture patch set

Mark Salter
2011-08-22T20:10:42Z

Here is v2 of the C6X architecture patch series.

Changes from the previous patchset are:

* Replaced 64-by-64 divides (two places) with do_div

* Parse device tree for base address of some miscellaneous SoC registers.
The clkdev code still has a hard-coded address but that will go away when
device tree clock bindings are settled.

* Tweaked the DTS files to more closely match the actual hardware.

* Removed all board-specific files by making better use of device tree.

* Removed CONFIG_NR_IRQS and replaced with hard-coded number which is large
enough for all supported SoCs with room to spare.

* Removed GENERIC_FIND_* references.

* Cleaned up Makefiles and Kconfig files.

* Removed VMLINUX_SYMBOL usage in linker script (not needed for C6X).

* Cleaned up show_cpuinfo.

* Added __HEAD to head.S

* Use generic asm/dma.h

* Added cpu_relax() to busy wait loops in cache code.

* Dropped unneeded module support routines (handled in generic code)

* Cleaned up DMA support.

* Removed deprecated syscalls.

* Removed PTRACE_PEEKUSR and PTRACE_POKEUSR.

* Cleaned up sparse warnings.

This latest patchset is available in the 'upstream-v2' branch of the git repo
at:

git@linux-c6x.org:/git/projects/linux-c6x-upstreaming

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 and DMA support
C6X: process management
C6X: signal management
C6X: time management
C6X: interrupt handling
C6X: syscalls
C6X: traps
C6X: clocks
C6X: cache control
C6X: loadable module support
C6X: ptrace support
C6X: headers
C6X: library code
C6X: general SoC support
C6X: specific SoC support
C6X: EMIF - External Memory Interface
C6X: Power and Sleep Controller
C6X: MAINTAINERS

MAINTAINERS | 8 +
arch/c6x/Kconfig | 179 ++++++++
arch/c6x/Makefile | 56 +++
arch/c6x/boot/Makefile | 22 +
arch/c6x/boot/dts/dsk6455.dts | 128 ++++++
arch/c6x/boot/dts/evmc6457.dts | 106 +++++
arch/c6x/boot/dts/evmc6472.dts | 176 ++++++++
arch/c6x/boot/dts/evmc6474.dts | 133 ++++++
arch/c6x/boot/install-dtb.c | 333 +++++++++++++++
arch/c6x/configs/dsk6455_defconfig | 43 ++
arch/c6x/configs/evmc6457_defconfig | 40 ++
arch/c6x/configs/evmc6472_defconfig | 41 ++
arch/c6x/configs/evmc6474_defconfig | 41 ++
arch/c6x/include/asm/Kbuild | 55 +++
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 | 90 ++++
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 | 148 +++++++
arch/c6x/include/asm/delay.h | 67 +++
arch/c6x/include/asm/dma-mapping.h | 91 ++++
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 | 302 +++++++++++++
arch/c6x/include/asm/irqflags.h | 72 ++++
arch/c6x/include/asm/linkage.h | 30 ++
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 | 29 ++
arch/c6x/include/asm/sigcontext.h | 80 ++++
arch/c6x/include/asm/signal.h | 17 +
arch/c6x/include/asm/soc.h | 126 ++++++
arch/c6x/include/asm/string.h | 21 +
arch/c6x/include/asm/syscalls.h | 55 +++
arch/c6x/include/asm/system.h | 197 +++++++++
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 | 39 ++
arch/c6x/include/asm/uaccess.h | 107 +++++
arch/c6x/include/asm/unaligned.h | 288 +++++++++++++
arch/c6x/include/asm/unistd.h | 26 ++
arch/c6x/kernel/Makefile | 12 +
arch/c6x/kernel/asm-offsets.c | 123 ++++++
arch/c6x/kernel/c6x_ksyms.c | 68 +++
arch/c6x/kernel/devicetree.c | 53 +++
arch/c6x/kernel/dma.c | 168 ++++++++
arch/c6x/kernel/entry.S | 803 +++++++++++++++++++++++++++++++++++
arch/c6x/kernel/head.S | 84 ++++
arch/c6x/kernel/irq.c | 732 +++++++++++++++++++++++++++++++
arch/c6x/kernel/module.c | 196 +++++++++
arch/c6x/kernel/process.c | 260 +++++++++++
arch/c6x/kernel/ptrace.c | 207 +++++++++
arch/c6x/kernel/setup.c | 488 +++++++++++++++++++++
arch/c6x/kernel/signal.c | 377 ++++++++++++++++
arch/c6x/kernel/soc.c | 168 ++++++++
arch/c6x/kernel/switch_to.S | 74 ++++
arch/c6x/kernel/sys_c6x.c | 82 ++++
arch/c6x/kernel/time.c | 64 +++
arch/c6x/kernel/traps.c | 423 ++++++++++++++++++
arch/c6x/kernel/vectors.S | 81 ++++
arch/c6x/kernel/vmlinux.lds.S | 170 ++++++++
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/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 | 5 +
arch/c6x/mm/dma-coherent.c | 142 ++++++
arch/c6x/mm/init.c | 112 +++++
arch/c6x/platforms/Kconfig | 45 ++
arch/c6x/platforms/Makefile | 13 +
arch/c6x/platforms/cache.c | 445 +++++++++++++++++++
arch/c6x/platforms/emif.c | 77 ++++
arch/c6x/platforms/megamod-pic.c | 336 +++++++++++++++
arch/c6x/platforms/megamod-pic.h | 9 +
arch/c6x/platforms/platform.c | 23 +
arch/c6x/platforms/pll.c | 471 ++++++++++++++++++++
arch/c6x/platforms/plldata.c | 151 +++++++
arch/c6x/platforms/psc.c | 181 ++++++++
arch/c6x/platforms/psc.h | 25 ++
arch/c6x/platforms/soc-6455.c | 389 +++++++++++++++++
arch/c6x/platforms/soc-6457.c | 187 ++++++++
arch/c6x/platforms/soc-6472.c | 428 +++++++++++++++++++
arch/c6x/platforms/soc-6474.c | 244 +++++++++++
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 +
116 files changed, 13676 insertions(+), 4 deletions(-)
create mode 100644 arch/c6x/Kconfig
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/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/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/dma.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/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/cache.c
create mode 100644 arch/c6x/platforms/emif.c
create mode 100644 arch/c6x/platforms/megamod-pic.c
create mode 100644 arch/c6x/platforms/megamod-pic.h
create mode 100644 arch/c6x/platforms/platform.c
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-6457.c
create mode 100644 arch/c6x/platforms/soc-6472.c
create mode 100644 arch/c6x/platforms/soc-6474.c
create mode 100644 arch/c6x/platforms/timer64.c
create mode 100644 arch/c6x/platforms/timer64.h

--
1.7.6