Pull request: [PATCH v5 00/36] Hexagon: Add support for QualcommHexagon architecture

From: Richard Kuo
Date: Wed Oct 26 2011 - 21:27:52 EST


Hello Linus,

This isn't a git pull request as I have no public repo available at the
moment, but the Hexagon port appears to be ready for inclusion in your
tree.

The patches have been available for some time on the mailing list and
been acked as well as have spent some time in linux-next. The latest
revision of the patch set is V5.

If you want, you can also pull the patch tarball from the Hexagon
kernel file area on codeaurora.org as mentioned in the cover email.


Thanks,
Richard Kuo



----- Forwarded message from Richard Kuo <rkuo@xxxxxxxxxxxxxx> -----

Date: Tue, 18 Oct 2011 22:53:49 -0500
From: Richard Kuo <rkuo@xxxxxxxxxxxxxx>
To: linux-arch@xxxxxxxxxxxxxxx, linux-hexagon@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v5 00/36] Hexagon: Add support for Qualcomm Hexagon architecture


This is the fifth version (and hopefully final prior to the merge window) of the
patchset to the Linux kernel to support the Qualcomm Hexagon architecture. It's
mostly just minor cleanups, largely in the debugging areas.

A brief summary of changes from the last patchset:
* die(): fixed spinlock issues and added misc debug code to match
other architectures
* fixed getregset/setregset ordering and struct size
* enable kgdb on kernel oops
* improved stack trace printing
* added user.h as part of headers install
* used correct IO access for timer regs
* removed IRQF_DISABLED from IPI handler

These patches are available on Code Aurora:

https://www.codeaurora.org/patches/quic/hlk/hexagon-linux-20111018.tar.gz

Thanks to everyone for their feedback!

-Richard Kuo


Richard Kuo (36):
Hexagon: Add generic headers
Hexagon: Core arch-specific header files
Hexagon: Add bitops support
Hexagon: Add atomic ops support
Hexagon: Add syscalls
Hexagon: Add processor and system headers
Hexagon: Add threadinfo
Hexagon: Add delay functions
Hexagon: Add checksum functions
Hexagon: Add memcpy and memset accelerated functions
Hexagon: Add hypervisor interface
Hexagon: Export ksyms defined in assembly files.
Hexagon: Support dynamic module loading.
Hexagon: Add signal functions
Hexagon: Add init_task and process functions
Hexagon: Add startup code
Hexagon: Add interrupts
Hexagon: Add time and timer functions
Hexagon: Add ptrace support
Hexagon: Provide basic debugging and system trap support.
Hexagon: Add SMP support
Hexagon: Add locking types and functions
Hexagon: Add user access functions
Hexagon: Provide basic implementation and/or stubs for I/O routines.
Hexagon: Implement basic cache-flush support
Hexagon: Implement basic TLB management routines for Hexagon.
Hexagon: Provide DMA implementation
Hexagon: Add ioremap support
Hexagon: Add page table header files & etc.
Hexagon: Add page-fault support.
Hexagon: kgdb support files
Hexagon: Comet platform support
Hexagon: Add configuration and makefiles for the Hexagon
architecture.
Hexagon: Add basic stacktrace functionality for Hexagon architecture.
Hexagon: Add self to MAINTAINERS
Add extra arch overrides to asm-generic/checksum.h

MAINTAINERS | 6 +
arch/hexagon/Kconfig | 220 ++++++++++++
arch/hexagon/Makefile | 59 +++
arch/hexagon/configs/comet_defconfig | 85 +++++
arch/hexagon/include/asm/Kbuild | 59 +++
arch/hexagon/include/asm/asm-offsets.h | 1 +
arch/hexagon/include/asm/atomic.h | 164 +++++++++
arch/hexagon/include/asm/bitops.h | 301 ++++++++++++++++
arch/hexagon/include/asm/bitsperlong.h | 26 ++
arch/hexagon/include/asm/byteorder.h | 28 ++
arch/hexagon/include/asm/cache.h | 34 ++
arch/hexagon/include/asm/cacheflush.h | 99 ++++++
arch/hexagon/include/asm/checksum.h | 50 +++
arch/hexagon/include/asm/delay.h | 28 ++
arch/hexagon/include/asm/dma-mapping.h | 101 ++++++
arch/hexagon/include/asm/dma.h | 29 ++
arch/hexagon/include/asm/elf.h | 229 ++++++++++++
arch/hexagon/include/asm/fixmap.h | 73 ++++
arch/hexagon/include/asm/fpu.h | 4 +
arch/hexagon/include/asm/futex.h | 137 ++++++++
arch/hexagon/include/asm/hexagon_vm.h | 281 +++++++++++++++
arch/hexagon/include/asm/intrinsics.h | 26 ++
arch/hexagon/include/asm/io.h | 326 +++++++++++++++++
arch/hexagon/include/asm/irq.h | 36 ++
arch/hexagon/include/asm/irqflags.h | 62 ++++
arch/hexagon/include/asm/kgdb.h | 43 +++
arch/hexagon/include/asm/linkage.h | 25 ++
arch/hexagon/include/asm/mem-layout.h | 112 ++++++
arch/hexagon/include/asm/mmu.h | 37 ++
arch/hexagon/include/asm/mmu_context.h | 100 ++++++
arch/hexagon/include/asm/module.h | 26 ++
arch/hexagon/include/asm/mutex.h | 8 +
arch/hexagon/include/asm/page.h | 157 +++++++++
arch/hexagon/include/asm/param.h | 26 ++
arch/hexagon/include/asm/perf_event.h | 24 ++
arch/hexagon/include/asm/pgalloc.h | 146 ++++++++
arch/hexagon/include/asm/pgtable.h | 518 +++++++++++++++++++++++++++
arch/hexagon/include/asm/processor.h | 123 +++++++
arch/hexagon/include/asm/ptrace.h | 35 ++
arch/hexagon/include/asm/registers.h | 236 +++++++++++++
arch/hexagon/include/asm/setup.h | 29 ++
arch/hexagon/include/asm/sigcontext.h | 33 ++
arch/hexagon/include/asm/signal.h | 26 ++
arch/hexagon/include/asm/smp.h | 44 +++
arch/hexagon/include/asm/spinlock.h | 186 ++++++++++
arch/hexagon/include/asm/spinlock_types.h | 42 +++
arch/hexagon/include/asm/string.h | 32 ++
arch/hexagon/include/asm/suspend.h | 27 ++
arch/hexagon/include/asm/swab.h | 24 ++
arch/hexagon/include/asm/syscall.h | 54 +++
arch/hexagon/include/asm/system.h | 126 +++++++
arch/hexagon/include/asm/thread_info.h | 154 ++++++++
arch/hexagon/include/asm/time.h | 29 ++
arch/hexagon/include/asm/timer-regs.h | 39 ++
arch/hexagon/include/asm/timex.h | 37 ++
arch/hexagon/include/asm/tlb.h | 39 ++
arch/hexagon/include/asm/tlbflush.h | 58 +++
arch/hexagon/include/asm/traps.h | 29 ++
arch/hexagon/include/asm/uaccess.h | 116 ++++++
arch/hexagon/include/asm/unistd.h | 36 ++
arch/hexagon/include/asm/user.h | 81 +++++
arch/hexagon/include/asm/vdso.h | 31 ++
arch/hexagon/include/asm/vm_fault.h | 26 ++
arch/hexagon/include/asm/vm_mmu.h | 111 ++++++
arch/hexagon/kernel/Makefile | 19 +
arch/hexagon/kernel/asm-offsets.c | 104 ++++++
arch/hexagon/kernel/dma.c | 220 ++++++++++++
arch/hexagon/kernel/head.S | 162 +++++++++
arch/hexagon/kernel/hexagon_ksyms.c | 42 +++
arch/hexagon/kernel/init_task.c | 54 +++
arch/hexagon/kernel/irq_cpu.c | 90 +++++
arch/hexagon/kernel/kgdb.c | 255 ++++++++++++++
arch/hexagon/kernel/module.c | 162 +++++++++
arch/hexagon/kernel/process.c | 279 +++++++++++++++
arch/hexagon/kernel/ptrace.c | 180 ++++++++++
arch/hexagon/kernel/reset.c | 38 ++
arch/hexagon/kernel/setup.c | 145 ++++++++
arch/hexagon/kernel/signal.c | 345 ++++++++++++++++++
arch/hexagon/kernel/smp.c | 276 +++++++++++++++
arch/hexagon/kernel/stacktrace.c | 66 ++++
arch/hexagon/kernel/syscall.c | 90 +++++
arch/hexagon/kernel/syscalltab.c | 32 ++
arch/hexagon/kernel/time.c | 250 +++++++++++++
arch/hexagon/kernel/topology.c | 52 +++
arch/hexagon/kernel/trampoline.S | 35 ++
arch/hexagon/kernel/traps.c | 454 ++++++++++++++++++++++++
arch/hexagon/kernel/vdso.c | 101 ++++++
arch/hexagon/kernel/vm_entry.S | 269 ++++++++++++++
arch/hexagon/kernel/vm_events.c | 101 ++++++
arch/hexagon/kernel/vm_init_segtable.S | 442 +++++++++++++++++++++++
arch/hexagon/kernel/vm_ops.S | 102 ++++++
arch/hexagon/kernel/vm_switch.S | 95 +++++
arch/hexagon/kernel/vm_vectors.S | 50 +++
arch/hexagon/kernel/vmlinux.lds.S | 93 +++++
arch/hexagon/lib/Makefile | 4 +
arch/hexagon/lib/checksum.c | 203 +++++++++++
arch/hexagon/lib/io.c | 91 +++++
arch/hexagon/lib/memcpy.S | 543 +++++++++++++++++++++++++++++
arch/hexagon/lib/memset.S | 316 +++++++++++++++++
arch/hexagon/mm/Makefile | 7 +
arch/hexagon/mm/cache.c | 128 +++++++
arch/hexagon/mm/copy_from_user.S | 114 ++++++
arch/hexagon/mm/copy_to_user.S | 92 +++++
arch/hexagon/mm/copy_user_template.S | 185 ++++++++++
arch/hexagon/mm/init.c | 276 +++++++++++++++
arch/hexagon/mm/ioremap.c | 56 +++
arch/hexagon/mm/pgalloc.c | 25 ++
arch/hexagon/mm/strnlen_user.S | 140 ++++++++
arch/hexagon/mm/uaccess.c | 59 +++
arch/hexagon/mm/vm_fault.c | 187 ++++++++++
arch/hexagon/mm/vm_tlb.c | 93 +++++
include/asm-generic/checksum.h | 4 +
include/asm-generic/rwsem.h | 132 +++++++
113 files changed, 12747 insertions(+), 0 deletions(-)
create mode 100644 arch/hexagon/Kconfig
create mode 100644 arch/hexagon/Makefile
create mode 100644 arch/hexagon/configs/comet_defconfig
create mode 100644 arch/hexagon/include/asm/Kbuild
create mode 100644 arch/hexagon/include/asm/asm-offsets.h
create mode 100644 arch/hexagon/include/asm/atomic.h
create mode 100644 arch/hexagon/include/asm/bitops.h
create mode 100644 arch/hexagon/include/asm/bitsperlong.h
create mode 100644 arch/hexagon/include/asm/byteorder.h
create mode 100644 arch/hexagon/include/asm/cache.h
create mode 100644 arch/hexagon/include/asm/cacheflush.h
create mode 100644 arch/hexagon/include/asm/checksum.h
create mode 100644 arch/hexagon/include/asm/delay.h
create mode 100644 arch/hexagon/include/asm/dma-mapping.h
create mode 100644 arch/hexagon/include/asm/dma.h
create mode 100644 arch/hexagon/include/asm/elf.h
create mode 100644 arch/hexagon/include/asm/fixmap.h
create mode 100644 arch/hexagon/include/asm/fpu.h
create mode 100644 arch/hexagon/include/asm/futex.h
create mode 100644 arch/hexagon/include/asm/hexagon_vm.h
create mode 100644 arch/hexagon/include/asm/intrinsics.h
create mode 100644 arch/hexagon/include/asm/io.h
create mode 100644 arch/hexagon/include/asm/irq.h
create mode 100644 arch/hexagon/include/asm/irqflags.h
create mode 100644 arch/hexagon/include/asm/kgdb.h
create mode 100644 arch/hexagon/include/asm/linkage.h
create mode 100644 arch/hexagon/include/asm/mem-layout.h
create mode 100644 arch/hexagon/include/asm/mmu.h
create mode 100644 arch/hexagon/include/asm/mmu_context.h
create mode 100644 arch/hexagon/include/asm/module.h
create mode 100644 arch/hexagon/include/asm/mutex.h
create mode 100644 arch/hexagon/include/asm/page.h
create mode 100644 arch/hexagon/include/asm/param.h
create mode 100644 arch/hexagon/include/asm/perf_event.h
create mode 100644 arch/hexagon/include/asm/pgalloc.h
create mode 100644 arch/hexagon/include/asm/pgtable.h
create mode 100644 arch/hexagon/include/asm/processor.h
create mode 100644 arch/hexagon/include/asm/ptrace.h
create mode 100644 arch/hexagon/include/asm/registers.h
create mode 100644 arch/hexagon/include/asm/setup.h
create mode 100644 arch/hexagon/include/asm/sigcontext.h
create mode 100644 arch/hexagon/include/asm/signal.h
create mode 100644 arch/hexagon/include/asm/smp.h
create mode 100644 arch/hexagon/include/asm/spinlock.h
create mode 100644 arch/hexagon/include/asm/spinlock_types.h
create mode 100644 arch/hexagon/include/asm/string.h
create mode 100644 arch/hexagon/include/asm/suspend.h
create mode 100644 arch/hexagon/include/asm/swab.h
create mode 100644 arch/hexagon/include/asm/syscall.h
create mode 100644 arch/hexagon/include/asm/system.h
create mode 100644 arch/hexagon/include/asm/thread_info.h
create mode 100644 arch/hexagon/include/asm/time.h
create mode 100644 arch/hexagon/include/asm/timer-regs.h
create mode 100644 arch/hexagon/include/asm/timex.h
create mode 100644 arch/hexagon/include/asm/tlb.h
create mode 100644 arch/hexagon/include/asm/tlbflush.h
create mode 100644 arch/hexagon/include/asm/traps.h
create mode 100644 arch/hexagon/include/asm/uaccess.h
create mode 100644 arch/hexagon/include/asm/unistd.h
create mode 100644 arch/hexagon/include/asm/user.h
create mode 100644 arch/hexagon/include/asm/vdso.h
create mode 100644 arch/hexagon/include/asm/vm_fault.h
create mode 100644 arch/hexagon/include/asm/vm_mmu.h
create mode 100644 arch/hexagon/kernel/Makefile
create mode 100644 arch/hexagon/kernel/asm-offsets.c
create mode 100644 arch/hexagon/kernel/dma.c
create mode 100644 arch/hexagon/kernel/head.S
create mode 100644 arch/hexagon/kernel/hexagon_ksyms.c
create mode 100644 arch/hexagon/kernel/init_task.c
create mode 100644 arch/hexagon/kernel/irq_cpu.c
create mode 100644 arch/hexagon/kernel/kgdb.c
create mode 100644 arch/hexagon/kernel/module.c
create mode 100644 arch/hexagon/kernel/process.c
create mode 100644 arch/hexagon/kernel/ptrace.c
create mode 100644 arch/hexagon/kernel/reset.c
create mode 100644 arch/hexagon/kernel/setup.c
create mode 100644 arch/hexagon/kernel/signal.c
create mode 100644 arch/hexagon/kernel/smp.c
create mode 100644 arch/hexagon/kernel/stacktrace.c
create mode 100644 arch/hexagon/kernel/syscall.c
create mode 100644 arch/hexagon/kernel/syscalltab.c
create mode 100644 arch/hexagon/kernel/time.c
create mode 100644 arch/hexagon/kernel/topology.c
create mode 100644 arch/hexagon/kernel/trampoline.S
create mode 100644 arch/hexagon/kernel/traps.c
create mode 100644 arch/hexagon/kernel/vdso.c
create mode 100644 arch/hexagon/kernel/vm_entry.S
create mode 100644 arch/hexagon/kernel/vm_events.c
create mode 100644 arch/hexagon/kernel/vm_init_segtable.S
create mode 100644 arch/hexagon/kernel/vm_ops.S
create mode 100644 arch/hexagon/kernel/vm_switch.S
create mode 100644 arch/hexagon/kernel/vm_vectors.S
create mode 100644 arch/hexagon/kernel/vmlinux.lds.S
create mode 100644 arch/hexagon/lib/Makefile
create mode 100644 arch/hexagon/lib/checksum.c
create mode 100644 arch/hexagon/lib/io.c
create mode 100644 arch/hexagon/lib/memcpy.S
create mode 100644 arch/hexagon/lib/memset.S
create mode 100644 arch/hexagon/mm/Makefile
create mode 100644 arch/hexagon/mm/cache.c
create mode 100644 arch/hexagon/mm/copy_from_user.S
create mode 100644 arch/hexagon/mm/copy_to_user.S
create mode 100644 arch/hexagon/mm/copy_user_template.S
create mode 100644 arch/hexagon/mm/init.c
create mode 100644 arch/hexagon/mm/ioremap.c
create mode 100644 arch/hexagon/mm/pgalloc.c
create mode 100644 arch/hexagon/mm/strnlen_user.S
create mode 100644 arch/hexagon/mm/uaccess.c
create mode 100644 arch/hexagon/mm/vm_fault.c
create mode 100644 arch/hexagon/mm/vm_tlb.c
create mode 100644 include/asm-generic/rwsem.h


--

Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-hexagon" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

----- End forwarded message -----

--

Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/