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

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

 



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-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