[kvm-unit-tests PATCH 00/18] arm/arm64: add smp support

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

 



This series extends the kvm-unit-tests/arm[64] framework to support smp.
A break down of the patches is as follows

01-02: prepare general framework for smp use
03-06: arm/arm64 fixups not 100% related to this series,
       but need to post some time...
07-09: add thread_info (for per-thread data) and suck some global
       data into it
10-11: add cpumask support (for per-cpu data) and suck some more
       global data in
   12: add arm64 simple spinlock implementation
13-14: add some PSCI support
15-16: further prep for smp_boot_secondary
   17: finally add smp_boot_secondary
   18: as usual, add a selftest to make sure it all works

These patches are also available here:
https://github.com/rhdrjones/kvm-unit-tests/tree/arm/smp

Thanks in advance for reviews!


Andrew Jones (18):
  x86: expose spin_lock/unlock to lib code
  lib/report: guard access to counters
  arm: fixups: add barriers, actually set MAIR
  arm64: fixup: use id_aa64mmfr0_el1 to set tcr
  arm/arm64: processor.[ch] cleanups
  arm/arm64: get rid of get_sp()
  arm/arm64: introduce thread_info
  arm/arm64: add per thread user_mode flag
  arm/arm64: maintain per thread exception handlers
  arm/arm64: add simple cpumask API
  arm/arm64: make mmu_on per cpu
  arm64: implement spinlocks
  arm/arm64: import include/uapi/linux/psci.h
  arm/arm64: add some PSCI API
  arm/arm64: add cpu_relax() and friends
  arm: clarify comment about exception stack use
  arm/arm64: add smp_boot_secondary
  arm/arm64: Add smp selftest

 arm/cstart.S                 |  47 +++++++++++++----
 arm/cstart64.S               |  48 +++++++++++-------
 arm/flat.lds                 |   6 +++
 arm/selftest.c               |  70 +++++++++++++++++++++++--
 arm/unittests.cfg            |  11 +++-
 config/config-arm-common.mak |   3 ++
 config/config-arm64.mak      |   1 +
 lib/arm/asm-offsets.c        |   3 ++
 lib/arm/asm/barrier.h        |   5 ++
 lib/arm/asm/bitops.h         |  53 +++++++++++++++++++
 lib/arm/asm/cpumask.h        | 118 +++++++++++++++++++++++++++++++++++++++++++
 lib/arm/asm/mmu-api.h        |   1 +
 lib/arm/asm/processor.h      |  12 ++++-
 lib/arm/asm/psci.h           |  15 ++++++
 lib/arm/asm/smp.h            |  56 ++++++++++++++++++++
 lib/arm/asm/thread_info.h    |  60 ++++++++++++++++++++++
 lib/arm/asm/uapi-psci.h      |  73 ++++++++++++++++++++++++++
 lib/arm/bitops.c             |  81 +++++++++++++++++++++++++++++
 lib/arm/mmu.c                |  15 ++++--
 lib/arm/processor.c          |  44 +++++++++++-----
 lib/arm/psci.c               |  49 ++++++++++++++++++
 lib/arm/setup.c              |  11 +++-
 lib/arm/smp.c                |  57 +++++++++++++++++++++
 lib/arm64/asm-offsets.c      |   2 +
 lib/arm64/asm/barrier.h      |   5 ++
 lib/arm64/asm/bitops.h       |  51 +++++++++++++++++++
 lib/arm64/asm/cpumask.h      |   1 +
 lib/arm64/asm/processor.h    |  18 ++++++-
 lib/arm64/asm/psci.h         |  15 ++++++
 lib/arm64/asm/smp.h          |   1 +
 lib/arm64/asm/spinlock.h     |   8 +--
 lib/arm64/asm/thread_info.h  |   1 +
 lib/arm64/asm/uapi-psci.h    |   1 +
 lib/arm64/processor.c        |  81 +++++++++++++++++++----------
 lib/arm64/spinlock.c         |  43 ++++++++++++++++
 lib/report.c                 |  16 ++++++
 lib/x86/asm/spinlock.h       |  11 ++++
 lib/x86/smp.h                |   7 +--
 38 files changed, 1008 insertions(+), 92 deletions(-)
 create mode 100644 lib/arm/asm/bitops.h
 create mode 100644 lib/arm/asm/cpumask.h
 create mode 100644 lib/arm/asm/psci.h
 create mode 100644 lib/arm/asm/smp.h
 create mode 100644 lib/arm/asm/thread_info.h
 create mode 100644 lib/arm/asm/uapi-psci.h
 create mode 100644 lib/arm/bitops.c
 create mode 100644 lib/arm/psci.c
 create mode 100644 lib/arm/smp.c
 create mode 100644 lib/arm64/asm/bitops.h
 create mode 100644 lib/arm64/asm/cpumask.h
 create mode 100644 lib/arm64/asm/psci.h
 create mode 100644 lib/arm64/asm/smp.h
 create mode 100644 lib/arm64/asm/thread_info.h
 create mode 100644 lib/arm64/asm/uapi-psci.h
 create mode 100644 lib/arm64/spinlock.c
 create mode 100644 lib/x86/asm/spinlock.h

-- 
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux