lkml.org 
[lkml]   [2015]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[GIT PULL] ARC updates for 4.2-rc1
Hi Linus,

I'm pleased to send this pull request which among others contains Linux port to
HS38x cores based on new ARCv2 ISA from Synopsys.

We've been working on this for more than a year now and it feels good to hand it
over now.

Some of the patches have been reviewed by experts: Peter and Will commented on the
barriers stuff and were reworked to same effect.

P.S. There's trivial merge conflict in include/asm-generic/barrier.h (patch has
been Acked by Peter already)

Please Pull !

Thx,
-Vineet

------------------->
The following changes since commit e26081808edadfd257c6c9d81014e3b25e9a6118:

Linux 4.1-rc4 (2015-05-18 10:13:47 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/ tags/arc-4.2-rc1

for you to fetch changes up to 40b8ad8f762cae4c44852ee1736ba766f52d5cc3:

ARC: Fix build failures for ARCompact in linux-next after ARCv2 support
(2015-06-28 20:30:13 +0530)

----------------------------------------------------------------
- Support for HS38 cores based on ARCv2 ISA

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.

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

- Support for ARC SDP (Software Development platform): Main Board + CPU Cards
= AXS101: CPU Card with ARC700 in silicon @ 700 MHz
= AXS103: CPU Card with HS38x in FPGA

- Refactoring of ARCompact port to accomodate new ARCv2 ISA
- Miscll updates/cleanups

----------------------------------------------------------------
Alexey Brodkin (3):
ARC: [axs101] Add support for AXS101 SDP (software development platform)
ARC: [axs101] STAR 9000799830: Fix SD cards support
ARC: [axs101] Prepare for AXS103

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

Max Filippov (1):
arc: fix use of uninitialized arc_pmu

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

Tobias Klauser (1):
ARC: perf: Remove unnecessary local variable

Vineet Gupta (65):
ARC: fix warning in sched due to thread_saved_pc()
ARC: fold ___flush_dcache_page into __flush_dcache_page
ARC: switch to simpler CROSS_COMPILE prefix
ARC: remove the unused platform helpers from dma mapping API
ARC: [kbuild] Retire CONFIG_ARC_CPU_REL_4_10
ARC: RIP broken 64bit RTSC
ARC: clocksource cleanups
ARC: compress cpuinfo_arc_mmu (mainly save page size in KB)
ARC: [arcfpga] RIP legacy ISS based SMP extension
ARC: [plat_arcfpga]->[plat_sim]
ARC: explicit'ify uboot support
ARC: fix section mismatch with allyesconfig
ARC: stack unwinder to bail if PC is not kernel mode
ARC: mm: document system mem map clearly
ARC: [axs101] support early 8250 uart
ARC: [axs101] Tweak DDR port aperture mappings for performance
ARC: [axs101] Add missing __init annotations
ARC: mm/cache_arc700.c -> mm/cache.c
ARC: cacheflush: move some code around, delete old comments
ARC: cacheflush: No need to retain DC_CTRL from __before_dc_op()
ARC: untangle cache flush loop
ARC: entry.S: common'ize scrtach reg freeup in intr + exceptions
ARC: entry.S: Introduce INTERRUPT_{PROLOGUE,EPILOGUE}
ARC: entry.S: canonical'ize EXCEPTION_{PROLOGUE,EPILOGUE}
ARC: entry.S: confine EXCEPTION_* macros to one file
ARC: entry.S: FAKE_RET_FROM_EXCPN can always use r9
ARC: entry.S: Trap handler to use r10 for syscall vs. brkpt decision
ARC: entry.S: comments cleanup
ARC: entry.S: Ensure that restore_regs is local to compilation unit
ARC: entry.S: split into ARCompact ISA specific, common bits
ARC: entry.S: move some code around for cache locality in return path
ARC: entry.S: micro-optimize Trap handler
ARC: entry.S: use single EXCEPTION_PROLOGUE
ARC: entry.S: [arcompact] simplify SWITCH_TO_KERNEL_STK
ARC: Make way for pt_regs != user_regs_struct
ARC: intc: split into ARCompact ISA specific, common bits
ARC: uncached base is hard constant for ARC, don't save it
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: Support ARConnect (MCIP) for Inter-Core-Interrupts et al
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 Documentation/atomic_ops.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
ARCv2: Allow older gcc to cope with new regime of ARCv2/ARCompact support
ARC: Fix build failures for ARCompact in linux-next after ARCv2 support

.../devicetree/bindings/arc/archs-idu-intc.txt | 46 ++
.../devicetree/bindings/arc/archs-intc.txt | 22 +
Documentation/devicetree/bindings/arc/axs101.txt | 7 +
Documentation/devicetree/bindings/arc/axs103.txt | 8 +
MAINTAINERS | 7 +
arch/arc/Kconfig | 159 ++++--
arch/arc/Makefile | 17 +-
arch/arc/boot/dts/Makefile | 2 +-
arch/arc/boot/dts/axc001.dtsi | 100 ++++
arch/arc/boot/dts/axc003.dtsi | 102 ++++
arch/arc/boot/dts/axc003_idu.dtsi | 126 +++++
arch/arc/boot/dts/axs101.dts | 21 +
arch/arc/boot/dts/axs103.dts | 24 +
arch/arc/boot/dts/axs103_idu.dts | 24 +
arch/arc/boot/dts/axs10x_mb.dtsi | 224 +++++++++
arch/arc/boot/dts/{angel4.dts => nsim_700.dts} | 2 +-
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/axs101_defconfig | 111 +++++
arch/arc/configs/axs103_defconfig | 117 +++++
arch/arc/configs/axs103_smp_defconfig | 118 +++++
arch/arc/configs/nsim_700_defconfig | 7 +-
arch/arc/configs/nsim_hs_defconfig | 64 +++
arch/arc/configs/nsim_hs_smp_defconfig | 63 +++
arch/arc/configs/nsimosci_defconfig | 5 +-
arch/arc/configs/nsimosci_hs_defconfig | 73 +++
arch/arc/configs/nsimosci_hs_smp_defconfig | 93 ++++
arch/arc/configs/tb10x_defconfig | 3 +-
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 | 66 ++-
arch/arc/include/asm/atomic.h | 35 +-
arch/arc/include/asm/barrier.h | 48 ++
arch/arc/include/asm/bitops.h | 529 ++++++++------------
arch/arc/include/asm/cache.h | 18 +-
arch/arc/include/asm/cacheflush.h | 4 +-
arch/arc/include/asm/cmpxchg.h | 26 +-
arch/arc/include/asm/delay.h | 9 +-
arch/arc/include/asm/dma-mapping.h | 31 +-
arch/arc/include/asm/elf.h | 5 +
arch/arc/include/asm/entry-arcv2.h | 190 +++++++
arch/arc/include/asm/entry-compact.h | 307 ++++++++++++
arch/arc/include/asm/entry.h | 378 +-------------
arch/arc/include/asm/io.h | 42 +-
arch/arc/include/asm/irq.h | 6 +
arch/arc/include/asm/irqflags-arcv2.h | 124 +++++
arch/arc/include/asm/irqflags-compact.h | 183 +++++++
arch/arc/include/asm/irqflags.h | 168 +------
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/processor.h | 37 +-
arch/arc/include/asm/ptrace.h | 43 ++
arch/arc/include/asm/spinlock.h | 32 ++
arch/arc/include/asm/thread_info.h | 1 +
arch/arc/include/asm/uaccess.h | 17 +-
arch/arc/include/uapi/asm/page.h | 2 +-
arch/arc/kernel/Makefile | 6 +-
arch/arc/kernel/asm-offsets.c | 5 +
arch/arc/kernel/devtree.c | 2 +
arch/arc/kernel/entry-arcv2.S | 239 +++++++++
arch/arc/kernel/entry-compact.S | 393 +++++++++++++++
arch/arc/kernel/entry.S | 527 +++-----------------
arch/arc/kernel/head.S | 4 +-
arch/arc/kernel/intc-arcv2.c | 143 ++++++
arch/arc/kernel/intc-compact.c | 226 +++++++++
arch/arc/kernel/irq.c | 210 --------
arch/arc/kernel/mcip.c | 341 +++++++++++++
arch/arc/kernel/perf_event.c | 7 +-
arch/arc/kernel/process.c | 14 +-
arch/arc/kernel/ptrace.c | 92 +++-
arch/arc/kernel/setup.c | 63 ++-
arch/arc/kernel/signal.c | 62 ++-
arch/arc/kernel/smp.c | 24 +-
arch/arc/kernel/stacktrace.c | 18 +-
arch/arc/kernel/time.c | 88 +++-
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/Makefile | 2 +-
arch/arc/mm/{cache_arc700.c => cache.c} | 552 +++++++++++++--------
arch/arc/mm/dma.c | 24 +-
arch/arc/mm/tlb.c | 60 ++-
arch/arc/mm/tlbex.S | 44 +-
arch/arc/plat-arcfpga/Kconfig | 33 --
arch/arc/plat-arcfpga/include/plat/smp.h | 118 -----
arch/arc/plat-arcfpga/smp.c | 186 -------
arch/arc/plat-axs10x/Kconfig | 46 ++
arch/arc/plat-axs10x/Makefile | 9 +
arch/arc/plat-axs10x/axs10x.c | 484 ++++++++++++++++++
arch/arc/plat-sim/Kconfig | 14 +
arch/arc/{plat-arcfpga => plat-sim}/Makefile | 3 -
arch/arc/{plat-arcfpga => plat-sim}/platform.c | 24 +-
include/asm-generic/barrier.h | 25 +
scripts/sortextable.c | 5 +
106 files changed, 6996 insertions(+), 2332 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/axs101.txt
create mode 100644 Documentation/devicetree/bindings/arc/axs103.txt
create mode 100644 arch/arc/boot/dts/axc001.dtsi
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/axs101.dts
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/axs10x_mb.dtsi
rename arch/arc/boot/dts/{angel4.dts => nsim_700.dts} (97%)
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/axs101_defconfig
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/entry-compact.h
create mode 100644 arch/arc/include/asm/irqflags-arcv2.h
create mode 100644 arch/arc/include/asm/irqflags-compact.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/entry-compact.S
create mode 100644 arch/arc/kernel/intc-arcv2.c
create mode 100644 arch/arc/kernel/intc-compact.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
rename arch/arc/mm/{cache_arc700.c => cache.c} (67%)
delete mode 100644 arch/arc/plat-arcfpga/Kconfig
delete mode 100644 arch/arc/plat-arcfpga/include/plat/smp.h
delete mode 100644 arch/arc/plat-arcfpga/smp.c
create mode 100644 arch/arc/plat-axs10x/Kconfig
create mode 100644 arch/arc/plat-axs10x/Makefile
create mode 100644 arch/arc/plat-axs10x/axs10x.c
create mode 100644 arch/arc/plat-sim/Kconfig
rename arch/arc/{plat-arcfpga => plat-sim}/Makefile (75%)
rename arch/arc/{plat-arcfpga => plat-sim}/platform.c (71%)


\
 
 \ /
  Last update: 2015-07-01 04:21    [W:0.029 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site