[PATCH v4 00/36] Hexagon: Add support for Qualcomm Hexagon architecture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is the fourth version of the patchset to the Linux kernel to support
the Qualcomm Hexagon architecture.  These patches have been organized like
previously in a somewhat logically grouped fashion.

A brief summary of changes from the last patchset:
* changes associated with removing pt_regs from user_context
* removal of arch-specific ptrace cases; use generic ptrace_request
* turn on CONFIG_ARCH_TRACEHOOKS
* removal of deprecated sigframe
* add magic values for libgcc signal stack unwinding
* add memory clobber to IO inlines
* use generic show_interrupts
* minor timer cleanup
* minor SMP IPI cleanup
* moved local_irq_enable in do_page_fault

These patches are available on Code Aurora:

https://www.codeaurora.org/patches/quic/hlk/hexagon-linux-20110916/

Once again, 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           |   60 ++++
 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         |   48 +++
 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           |   83 +++++
 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                |  247 +++++++++++++
 arch/hexagon/kernel/module.c              |  162 +++++++++
 arch/hexagon/kernel/process.c             |  279 +++++++++++++++
 arch/hexagon/kernel/ptrace.c              |  178 ++++++++++
 arch/hexagon/kernel/reset.c               |   38 ++
 arch/hexagon/kernel/setup.c               |  145 ++++++++
 arch/hexagon/kernel/signal.c              |  345 ++++++++++++++++++
 arch/hexagon/kernel/smp.c                 |  280 +++++++++++++++
 arch/hexagon/kernel/stacktrace.c          |   66 ++++
 arch/hexagon/kernel/syscall.c             |   90 +++++
 arch/hexagon/kernel/syscalltab.c          |   32 ++
 arch/hexagon/kernel/time.c                |  258 ++++++++++++++
 arch/hexagon/kernel/topology.c            |   52 +++
 arch/hexagon/kernel/trampoline.S          |   35 ++
 arch/hexagon/kernel/traps.c               |  370 ++++++++++++++++++++
 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, 12681 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-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux