linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/28] ARCv2 port to Linux - (B) ISA / Core / platform support
@ 2015-06-09 11:48 Vineet Gupta
  2015-06-09 11:48 ` [PATCH 01/28] ARCv2: [intc] HS38 core interrupt controller Vineet Gupta
                   ` (27 more replies)
  0 siblings, 28 replies; 66+ messages in thread
From: Vineet Gupta @ 2015-06-09 11:48 UTC (permalink / raw)
  To: linux-arch, linux-kernel; +Cc: arnd, arc-linux-dev, Vineet Gupta

Hi,

ARCv2 is the next generation ISA from Synopsys and basis for the
HS3{4,6,8} families of processors which retain the traditional ARC mantra of
low power and configurability and are now more performant and feature rich.

Linux has been ported to HS38x series, a 10 stage pipeline core which
supports MMU (with huge pages) and SMP (upto 4 cores) among other features.

 - www.synopsys.com/dw/ipdir.php?ds=arc-hs38-processor
 - http://news.synopsys.com/2014-10-14-New-DesignWare-ARC-HS38-Processor-Doubles-Performance-for-Embedded-Linux-Applications
 - http://www.embedded.com/electronics-news/4435975/Synopsys-ARC-HS38-core-gives-2X-boost-to-Linux-based-apps

This sub-series builds upon the preparatory patches posted previously [1] and implements the
actual ARC HS38x core support.

Please review !

Thx,
-Vineet

[1] https://lkml.org/lkml/2015/6/7/25

Alexey Brodkin (1):
  ARC: [axs101] Prepare for AXS103

Claudiu Zissulescu (1):
  ARCv2: optimised string/mem lib routines

Ruud Derwig (1):
  ARCv2: [vdk] dts files and defconfig for HS38 VDK

Vineet Gupta (25):
  ARCv2: [intc] HS38 core interrupt controller
  ARCv2: Support for ARCv2 ISA and HS38x cores
  ARCv2: STAR 9000793984: Handle return from intr to Delay Slot
  ARCv2: STAR 9000808988: signals involving Delay Slot
  ARCv2: STAR 9000814690: Really Re-enable interrupts to avoid deadlocks
  ARCv2: MMUv4: TLB programming Model changes
  ARCv2: MMUv4: cache programming model changes
  ARCv2: MMUv4: support aliasing icache config
  ARCv2: Adhere to Zero Delay loop restriction
  ARCv2: extable: Enable sorting at build time
  ARCv2: clocksource: Introduce 64bit local RTC counter
  ARC: make plat_smp_ops weak to allow over-rides
  ARCv2: SMP: ARConnect debug/robustness
  ARCv2: SMP: clocksource: Enable Global Real Time counter
  ARCv2: SMP: intc: IDU 2nd level intc for dynamic IRQ distribution
  ARC: add compiler barrier to LLSC based cmpxchg
  ARC: add smp barriers around atomics per memory-barrriers.txt
  arch: conditionally define smp_{mb,rmb,wmb}
  ARCv2: barriers
  ARC: Reduce bitops lines of code using macros
  ARCv2: STAR 9000837815 workaround hardware exclusive transactions
    livelock
  ARCv2: SLC: Handle explcit flush for DMA ops (w/o IO-coherency)
  ARCv2: All bits in place, allow ARCv2 builds
  ARCv2: [nsim*hs*] Support simulation platforms for HS38x cores
  ARCv2: [axs103] Support ARC SDP FPGA platform for HS38x cores

 .../devicetree/bindings/arc/archs-idu-intc.txt     |  46 ++
 .../devicetree/bindings/arc/archs-intc.txt         |  22 +
 Documentation/devicetree/bindings/arc/axs103.txt   |   8 +
 arch/arc/Kconfig                                   | 130 ++++-
 arch/arc/Makefile                                  |   8 +-
 arch/arc/boot/dts/axc001.dtsi                      |  21 +
 arch/arc/boot/dts/axc003.dtsi                      | 102 ++++
 arch/arc/boot/dts/axc003_idu.dtsi                  | 126 +++++
 arch/arc/boot/dts/axs103.dts                       |  24 +
 arch/arc/boot/dts/axs103_idu.dts                   |  24 +
 arch/arc/boot/dts/axs10x_mb.dtsi                   |  17 -
 arch/arc/boot/dts/nsim_hs.dts                      |  53 +++
 arch/arc/boot/dts/nsim_hs_idu.dts                  |  72 +++
 arch/arc/boot/dts/nsimosci_hs.dts                  |  80 ++++
 arch/arc/boot/dts/nsimosci_hs_idu.dts              | 101 ++++
 arch/arc/boot/dts/vdk_axc003.dtsi                  |  61 +++
 arch/arc/boot/dts/vdk_axc003_idu.dtsi              |  76 +++
 arch/arc/boot/dts/vdk_axs10x_mb.dtsi               |  93 ++++
 arch/arc/boot/dts/vdk_hs38.dts                     |  21 +
 arch/arc/boot/dts/vdk_hs38_smp.dts                 |  21 +
 arch/arc/configs/axs103_defconfig                  | 117 +++++
 arch/arc/configs/axs103_smp_defconfig              | 118 +++++
 arch/arc/configs/nsim_hs_defconfig                 |  64 +++
 arch/arc/configs/nsim_hs_smp_defconfig             |  63 +++
 arch/arc/configs/nsimosci_hs_defconfig             |  73 +++
 arch/arc/configs/nsimosci_hs_smp_defconfig         |  93 ++++
 arch/arc/configs/vdk_hs38_defconfig                | 102 ++++
 arch/arc/configs/vdk_hs38_smp_defconfig            | 104 ++++
 arch/arc/include/asm/Kbuild                        |   1 -
 arch/arc/include/asm/arcregs.h                     |  60 ++-
 arch/arc/include/asm/atomic.h                      |  24 +-
 arch/arc/include/asm/barrier.h                     |  48 ++
 arch/arc/include/asm/bitops.h                      | 522 ++++++++-------------
 arch/arc/include/asm/cache.h                       |  18 +-
 arch/arc/include/asm/cmpxchg.h                     |  19 +-
 arch/arc/include/asm/delay.h                       |   9 +-
 arch/arc/include/asm/elf.h                         |   5 +
 arch/arc/include/asm/entry-arcv2.h                 | 190 ++++++++
 arch/arc/include/asm/entry.h                       |  21 +-
 arch/arc/include/asm/irq.h                         |   6 +
 arch/arc/include/asm/irqflags-arcv2.h              | 124 +++++
 arch/arc/include/asm/irqflags-compact.h            |   2 +
 arch/arc/include/asm/irqflags.h                    |   4 +
 arch/arc/include/asm/mcip.h                        |  94 ++++
 arch/arc/include/asm/mmu.h                         |  24 +-
 arch/arc/include/asm/pgtable.h                     |  10 +
 arch/arc/include/asm/ptrace.h                      |  43 ++
 arch/arc/include/asm/spinlock.h                    |  10 +
 arch/arc/include/asm/thread_info.h                 |   1 +
 arch/arc/include/asm/uaccess.h                     |  17 +-
 arch/arc/kernel/Makefile                           |   4 +-
 arch/arc/kernel/asm-offsets.c                      |   5 +
 arch/arc/kernel/devtree.c                          |   2 +-
 arch/arc/kernel/entry-arcv2.S                      | 239 ++++++++++
 arch/arc/kernel/head.S                             |   2 -
 arch/arc/kernel/intc-arcv2.c                       | 126 +++++
 arch/arc/kernel/mcip.c                             | 341 ++++++++++++++
 arch/arc/kernel/process.c                          |  12 +-
 arch/arc/kernel/ptrace.c                           |   2 +-
 arch/arc/kernel/setup.c                            |  56 ++-
 arch/arc/kernel/signal.c                           |   6 +-
 arch/arc/kernel/smp.c                              |  22 +-
 arch/arc/kernel/time.c                             |  95 ++++
 arch/arc/kernel/troubleshoot.c                     |  33 +-
 arch/arc/lib/Makefile                              |   6 +-
 arch/arc/lib/memcmp.S                              |  30 +-
 arch/arc/lib/memcpy-archs.S                        | 236 ++++++++++
 arch/arc/lib/memset-archs.S                        |  93 ++++
 arch/arc/lib/strcmp-archs.S                        |  78 +++
 arch/arc/mm/cache.c                                | 188 +++++++-
 arch/arc/mm/dma.c                                  |  12 +
 arch/arc/mm/tlb.c                                  |  54 ++-
 arch/arc/mm/tlbex.S                                |  28 +-
 arch/arc/plat-axs10x/Kconfig                       |  13 +-
 arch/arc/plat-axs10x/axs10x.c                      | 206 +++++++-
 arch/arc/plat-sim/platform.c                       |   7 +
 include/asm-generic/barrier.h                      |  25 +
 scripts/sortextable.c                              |   5 +
 78 files changed, 4567 insertions(+), 451 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arc/archs-idu-intc.txt
 create mode 100644 Documentation/devicetree/bindings/arc/archs-intc.txt
 create mode 100644 Documentation/devicetree/bindings/arc/axs103.txt
 create mode 100644 arch/arc/boot/dts/axc003.dtsi
 create mode 100644 arch/arc/boot/dts/axc003_idu.dtsi
 create mode 100644 arch/arc/boot/dts/axs103.dts
 create mode 100644 arch/arc/boot/dts/axs103_idu.dts
 create mode 100644 arch/arc/boot/dts/nsim_hs.dts
 create mode 100644 arch/arc/boot/dts/nsim_hs_idu.dts
 create mode 100644 arch/arc/boot/dts/nsimosci_hs.dts
 create mode 100644 arch/arc/boot/dts/nsimosci_hs_idu.dts
 create mode 100644 arch/arc/boot/dts/vdk_axc003.dtsi
 create mode 100644 arch/arc/boot/dts/vdk_axc003_idu.dtsi
 create mode 100644 arch/arc/boot/dts/vdk_axs10x_mb.dtsi
 create mode 100644 arch/arc/boot/dts/vdk_hs38.dts
 create mode 100644 arch/arc/boot/dts/vdk_hs38_smp.dts
 create mode 100644 arch/arc/configs/axs103_defconfig
 create mode 100644 arch/arc/configs/axs103_smp_defconfig
 create mode 100644 arch/arc/configs/nsim_hs_defconfig
 create mode 100644 arch/arc/configs/nsim_hs_smp_defconfig
 create mode 100644 arch/arc/configs/nsimosci_hs_defconfig
 create mode 100644 arch/arc/configs/nsimosci_hs_smp_defconfig
 create mode 100644 arch/arc/configs/vdk_hs38_defconfig
 create mode 100644 arch/arc/configs/vdk_hs38_smp_defconfig
 create mode 100644 arch/arc/include/asm/barrier.h
 create mode 100644 arch/arc/include/asm/entry-arcv2.h
 create mode 100644 arch/arc/include/asm/irqflags-arcv2.h
 create mode 100644 arch/arc/include/asm/mcip.h
 create mode 100644 arch/arc/kernel/entry-arcv2.S
 create mode 100644 arch/arc/kernel/intc-arcv2.c
 create mode 100644 arch/arc/kernel/mcip.c
 create mode 100644 arch/arc/lib/memcpy-archs.S
 create mode 100644 arch/arc/lib/memset-archs.S
 create mode 100644 arch/arc/lib/strcmp-archs.S

-- 
1.9.1


^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2015-06-30  4:42 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-09 11:48 [PATCH 00/28] ARCv2 port to Linux - (B) ISA / Core / platform support Vineet Gupta
2015-06-09 11:48 ` [PATCH 01/28] ARCv2: [intc] HS38 core interrupt controller Vineet Gupta
2015-06-09 11:48 ` [PATCH 02/28] ARCv2: Support for ARCv2 ISA and HS38x cores Vineet Gupta
2015-06-09 11:48 ` [PATCH 03/28] ARCv2: STAR 9000793984: Handle return from intr to Delay Slot Vineet Gupta
2015-06-09 11:48 ` [PATCH 04/28] ARCv2: STAR 9000808988: signals involving " Vineet Gupta
2015-06-09 11:48 ` [PATCH 05/28] ARCv2: STAR 9000814690: Really Re-enable interrupts to avoid deadlocks Vineet Gupta
2015-06-09 11:48 ` [PATCH 06/28] ARCv2: MMUv4: TLB programming Model changes Vineet Gupta
2015-06-09 11:48 ` [PATCH 07/28] ARCv2: MMUv4: cache programming model changes Vineet Gupta
2015-06-09 11:48 ` [PATCH 08/28] ARCv2: MMUv4: support aliasing icache config Vineet Gupta
2015-06-09 11:48 ` [PATCH 09/28] ARCv2: optimised string/mem lib routines Vineet Gupta
2015-06-09 11:48 ` [PATCH 10/28] ARCv2: Adhere to Zero Delay loop restriction Vineet Gupta
2015-06-09 11:48 ` [PATCH 11/28] ARCv2: extable: Enable sorting at build time Vineet Gupta
2015-06-24  5:51   ` Vineet Gupta
2015-06-29 20:38     ` David Daney
2015-06-30  4:41       ` Vineet Gupta
2015-06-09 11:48 ` [PATCH 12/28] ARCv2: clocksource: Introduce 64bit local RTC counter Vineet Gupta
2015-06-09 11:48 ` [PATCH 13/28] ARC: make plat_smp_ops weak to allow over-rides Vineet Gupta
2015-06-09 11:48 ` [PATCH 14/28] ARCv2: SMP: ARConnect debug/robustness Vineet Gupta
2015-06-09 11:48 ` [PATCH 15/28] ARCv2: SMP: clocksource: Enable Global Real Time counter Vineet Gupta
2015-06-09 11:48 ` [PATCH 16/28] ARCv2: SMP: intc: IDU 2nd level intc for dynamic IRQ distribution Vineet Gupta
2015-06-09 11:48 ` [PATCH 17/28] ARC: add compiler barrier to LLSC based cmpxchg Vineet Gupta
2015-06-09 12:23   ` Peter Zijlstra
2015-06-09 11:48 ` [PATCH 18/28] ARC: add smp barriers around atomics per memory-barrriers.txt Vineet Gupta
2015-06-09 12:30   ` Peter Zijlstra
2015-06-10  9:17     ` Vineet Gupta
2015-06-10 10:53       ` Peter Zijlstra
2015-06-11 13:03         ` Vineet Gupta
2015-06-12 12:15   ` [PATCH v2] ARC: add smp barriers around atomics per Documentation/atomic_ops.txt Vineet Gupta
2015-06-12 13:04     ` Peter Zijlstra
2015-06-12 13:16       ` Vineet Gupta
2015-06-09 11:48 ` [PATCH 19/28] arch: conditionally define smp_{mb,rmb,wmb} Vineet Gupta
2015-06-09 12:32   ` Peter Zijlstra
2015-06-09 11:48 ` [PATCH 20/28] ARCv2: barriers Vineet Gupta
2015-06-09 12:40   ` Peter Zijlstra
2015-06-10  9:34     ` Vineet Gupta
2015-06-10 10:58       ` Peter Zijlstra
2015-06-10 13:01         ` Will Deacon
2015-06-11 12:13           ` Vineet Gupta
2015-06-11 13:39             ` Will Deacon
2015-06-19 13:13               ` Vineet Gupta
2015-06-22 13:36                 ` Will Deacon
2015-06-23  7:58                   ` [PATCH v2 " Vineet Gupta
2015-06-23  8:49                     ` Will Deacon
2015-06-23  9:03                       ` Vineet Gupta
2015-06-23  9:26                         ` Will Deacon
2015-06-23  9:52                           ` [PATCH v3 22/28] " Vineet Gupta
2015-06-23 16:28                             ` Will Deacon
2015-06-23  9:25                     ` [PATCH v2 20/28] " Peter Zijlstra
2015-06-23  8:02                   ` [PATCH " Vineet Gupta
2015-06-09 11:48 ` [PATCH 21/28] ARC: Reduce bitops lines of code using macros Vineet Gupta
2015-06-12 12:20   ` [PATCH v2] " Vineet Gupta
2015-06-12 13:05     ` Peter Zijlstra
2015-06-09 11:48 ` [PATCH 22/28] ARCv2: STAR 9000837815 workaround hardware exclusive transactions livelock Vineet Gupta
2015-06-09 12:35   ` Peter Zijlstra
2015-06-10 10:01     ` Vineet Gupta
2015-06-10 11:02       ` Peter Zijlstra
2015-06-19  9:55         ` [PATCH v2 " Vineet Gupta
2015-06-19  9:59           ` Will Deacon
2015-06-19 10:09             ` Vineet Gupta
2015-06-23  7:59             ` Vineet Gupta
2015-06-09 11:48 ` [PATCH 23/28] ARCv2: SLC: Handle explcit flush for DMA ops (w/o IO-coherency) Vineet Gupta
2015-06-09 11:48 ` [PATCH 24/28] ARCv2: All bits in place, allow ARCv2 builds Vineet Gupta
2015-06-09 11:48 ` [PATCH 25/28] ARCv2: [nsim*hs*] Support simulation platforms for HS38x cores Vineet Gupta
2015-06-09 11:48 ` [PATCH 26/28] ARC: [axs101] Prepare for AXS103 Vineet Gupta
2015-06-09 11:48 ` [PATCH 27/28] ARCv2: [axs103] Support ARC SDP FPGA platform for HS38x cores Vineet Gupta
2015-06-09 11:48 ` [PATCH 28/28] ARCv2: [vdk] dts files and defconfig for HS38 VDK Vineet Gupta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).