All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] OpenRISC updates for 4.15
@ 2017-11-13 14:09 Stafford Horne
  0 siblings, 0 replies; only message in thread
From: Stafford Horne @ 2017-11-13 14:09 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Marc Zyngier

Hello Linus,

The OpenRISC work is a bit more interesting this time, adding SMP support and a
few general cleanups.  Please consider for pull,

The following changes since commit bb176f67090ca54869fc1262c913aa69d2ede070:

  Linux 4.14-rc6 (2017-10-23 06:49:47 -0400)

are available in the git repository at:

  git://github.com/openrisc/linux.git tags/for-linus

for you to fetch changes up to 610f01b9a88a9ef8b506709a825c17395c56a62a:

  openrisc: fix possible deadlock scenario during timer sync (2017-11-03 14:01:17 +0900)

----------------------------------------------------------------
OpenRISC updates for v4.15

Small Things:
 - Move OpenRISC docs into Documentation and clean them up
 - Document previously undocumented devicetree bindings
 - Update the or1ksim dts to use stdout-path

OpenRISC SMP support details:
 - First the "use shadow registers" patch get's the architecture ready for SMP.
 - The "add 1 and 2 byte cmpxchg support" and "use qspinlocks and
   qrwlocks" add the SMP locking infrastructure as needed.  Using the
   qspinlocks and qrwlocks as suggested by Peter Z while reviewing the
   original spinlocks implementation.
 - The "support for ompic" adds a new irqchip device which is used for
   IPI communication to support SMP.
 - The "initial SMP support" adds smp.c and makes changes to all of the
   necessary data-structures to be per-cpu.
 - The remaining patches are bug fixes and debug helpers which I wanted
   to keep separate from the "initial SMP support" in order to allow them
   to be reviewed on their own. This includes:
    - add cacheflush support to fix icache aliasing
    - fix initial preempt state for secondary cpu tasks
    - sleep instead of spin on secondary wait
    - support framepointers and STACKTRACE_SUPPORT
    - enable LOCKDEP_SUPPORT and irqflags tracing
    - timer sync: Add tick timer sync logic
    - fix possible deadlock in timer sync, pointed out by mips guys

Note: the irqchip patch was reviewed with Marc and we agreed to push it
together with these patches.

----------------------------------------------------------------
Jan Henrik Weinstock (1):
      openrisc: add cacheflush support to fix icache aliasing

Luc Van Oostenryck (1):
      openrisc: pass endianness info to sparse

Stafford Horne (15):
      openrisc: dts: or1ksim: Add stdout-path
      MAINTAINERS: Add OpenRISC pic maintainer
      Documentation: Move OpenRISC docs out of arch/
      Documentation: openrisc: Updates to README
      dt-bindings: openrisc: Add OpenRISC platform SoC
      openrisc: add 1 and 2 byte cmpxchg support
      openrisc: use qspinlocks and qrwlocks
      dt-bindings: add openrisc to vendor prefixes list
      irqchip: add initial support for ompic
      openrisc: fix initial preempt state for secondary cpu tasks
      openrisc: sleep instead of spin on secondary wait
      openrisc: support framepointers and STACKTRACE_SUPPORT
      openrisc: enable LOCKDEP_SUPPORT and irqflags tracing
      openrisc: add tick timer multi-core sync logic
      openrisc: fix possible deadlock scenario during timer sync

Stefan Kristiansson (3):
      openrisc: use shadow registers to save regs on exception
      openrisc: initial SMP support
      openrisc: add simple_smp dts and defconfig for simulators

 .../interrupt-controller/openrisc,ompic.txt        |  22 ++
 .../bindings/openrisc/opencores/or1ksim.txt        |  39 ++++
 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 .../openrisc/README                                |  65 +++---
 .../TODO.openrisc => Documentation/openrisc/TODO   |   0
 MAINTAINERS                                        |   4 +
 arch/openrisc/Kconfig                              |  49 +++-
 arch/openrisc/Makefile                             |   1 +
 arch/openrisc/boot/dts/or1ksim.dts                 |   7 +-
 arch/openrisc/boot/dts/simple_smp.dts              |  63 +++++
 arch/openrisc/configs/simple_smp_defconfig         |  66 ++++++
 arch/openrisc/include/asm/Kbuild                   |   5 +-
 arch/openrisc/include/asm/cacheflush.h             |  96 ++++++++
 arch/openrisc/include/asm/cmpxchg.h                | 147 +++++++++---
 arch/openrisc/include/asm/cpuinfo.h                |   7 +-
 arch/openrisc/include/asm/mmu_context.h            |   2 +-
 arch/openrisc/include/asm/pgtable.h                |  18 +-
 arch/openrisc/include/asm/serial.h                 |   2 +-
 arch/openrisc/include/asm/smp.h                    |  26 +++
 arch/openrisc/include/asm/spinlock.h               |  12 +-
 arch/openrisc/include/asm/spinlock_types.h         |   7 +
 arch/openrisc/include/asm/spr_defs.h               |  14 ++
 arch/openrisc/include/asm/thread_info.h            |   2 +-
 arch/openrisc/include/asm/time.h                   |  23 ++
 arch/openrisc/include/asm/tlbflush.h               |  25 +-
 arch/openrisc/include/asm/unwinder.h               |  20 ++
 arch/openrisc/kernel/Makefile                      |   4 +-
 arch/openrisc/kernel/dma.c                         |  14 +-
 arch/openrisc/kernel/entry.S                       |  74 +++++-
 arch/openrisc/kernel/head.S                        | 239 ++++++++++++++++---
 arch/openrisc/kernel/setup.c                       | 165 ++++++++-----
 arch/openrisc/kernel/smp.c                         | 259 +++++++++++++++++++++
 arch/openrisc/kernel/stacktrace.c                  |  86 +++++++
 arch/openrisc/kernel/sync-timer.c                  | 120 ++++++++++
 arch/openrisc/kernel/time.c                        |  66 ++++--
 arch/openrisc/kernel/traps.c                       |  54 +----
 arch/openrisc/kernel/unwinder.c                    | 105 +++++++++
 arch/openrisc/lib/delay.c                          |   2 +-
 arch/openrisc/mm/Makefile                          |   2 +-
 arch/openrisc/mm/cache.c                           |  61 +++++
 arch/openrisc/mm/fault.c                           |   4 +-
 arch/openrisc/mm/init.c                            |   2 +-
 arch/openrisc/mm/tlb.c                             |  16 +-
 drivers/irqchip/Kconfig                            |   3 +
 drivers/irqchip/Makefile                           |   1 +
 drivers/irqchip/irq-ompic.c                        | 202 ++++++++++++++++
 46 files changed, 1940 insertions(+), 262 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/openrisc,ompic.txt
 create mode 100644 Documentation/devicetree/bindings/openrisc/opencores/or1ksim.txt
 rename arch/openrisc/README.openrisc => Documentation/openrisc/README (56%)
 rename arch/openrisc/TODO.openrisc => Documentation/openrisc/TODO (100%)
 create mode 100644 arch/openrisc/boot/dts/simple_smp.dts
 create mode 100644 arch/openrisc/configs/simple_smp_defconfig
 create mode 100644 arch/openrisc/include/asm/cacheflush.h
 create mode 100644 arch/openrisc/include/asm/smp.h
 create mode 100644 arch/openrisc/include/asm/spinlock_types.h
 create mode 100644 arch/openrisc/include/asm/time.h
 create mode 100644 arch/openrisc/include/asm/unwinder.h
 create mode 100644 arch/openrisc/kernel/smp.c
 create mode 100644 arch/openrisc/kernel/stacktrace.c
 create mode 100644 arch/openrisc/kernel/sync-timer.c
 create mode 100644 arch/openrisc/kernel/unwinder.c
 create mode 100644 arch/openrisc/mm/cache.c
 create mode 100644 drivers/irqchip/irq-ompic.c

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-11-13 14:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-13 14:09 [GIT PULL] OpenRISC updates for 4.15 Stafford Horne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.