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

[Xen-devel] [RFC 00/16] xen/arm: Introduce alternative runtime patching for ARM64



Hello,

Some of the processor erratum will require to modify code sequence. As those
modifications may impact the performance, they should only be enabled on
affected cores. Furthermore, Xen may also want to take advantage of new
hardware features coming up with v8.1 and v8.2.

The first part of the series adds the alternative infrastructure, most of the
code is based on Linux v4.6-rc3. The rest of the series implements errata
for Cortex-A57 and Cortex-A53.

Yours sincerely,

Julien Grall (16):
  xen/arm: Makefile: Sort the entries alphabetically
  xen/arm: Include the header asm-arm/system.h in asm-arm/page.h
  xen/arm: Add macros to handle the MIDR
  xen/arm: arm64: Import flush_icache_range from Linux v4.6-rc3
  xen/arm: Add cpu_hwcap bitmap
  xen/arm64: Add an helper to invalidate all instruction caches
  xen/arm: arm64: Move the define BRK_BUG_FRAME into a separate header
  xen/arm: arm64: Reserve a brk immediate to fault on purpose
  xen/arm: arm64: Add helpers to decode and encode branch instructions
  xen/arm: Introduce alternative runtime patching
  xen/arm: Detect silicon revision and set cap bits accordingly
  xen/arm: Document the errata implemented in Xen
  xen/arm: arm64: Add Cortex-A53 cache errata workaround
  xen/arm: arm64: Add cortex-A57 erratum 832075 workaround
  xen/arm: traps: Don't inject a fault if the translation VA -> IPA
    fails
  xen/arm: arm64: Document Cortex-A57 erratum 834220

 docs/misc/arm/silicon-errata.txt  |  50 +++++++++
 xen/arch/arm/Kconfig              |  96 +++++++++++++++++
 xen/arch/arm/Makefile             |  41 +++----
 xen/arch/arm/alternative.c        | 217 ++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/arm32/Makefile       |   9 +-
 xen/arch/arm/arm64/Makefile       |  13 ++-
 xen/arch/arm/arm64/cache.S        |  51 +++++++++
 xen/arch/arm/arm64/insn.c         | 213 +++++++++++++++++++++++++++++++++++++
 xen/arch/arm/cpuerrata.c          |  52 +++++++++
 xen/arch/arm/cpufeature.c         |  50 +++++++++
 xen/arch/arm/platforms/Makefile   |   2 +-
 xen/arch/arm/setup.c              |  11 ++
 xen/arch/arm/smpboot.c            |   3 +
 xen/arch/arm/traps.c              |  37 ++++++-
 xen/arch/arm/xen.lds.S            |   7 ++
 xen/include/asm-arm/alternative.h | 165 +++++++++++++++++++++++++++++
 xen/include/asm-arm/arm64/brk.h   |  39 +++++++
 xen/include/asm-arm/arm64/bug.h   |   5 +-
 xen/include/asm-arm/arm64/insn.h  |  88 ++++++++++++++++
 xen/include/asm-arm/arm64/io.h    |  21 +++-
 xen/include/asm-arm/arm64/page.h  |  13 ++-
 xen/include/asm-arm/cpuerrata.h   |   6 ++
 xen/include/asm-arm/cpufeature.h  |  47 +++++++++
 xen/include/asm-arm/insn.h        |  22 ++++
 xen/include/asm-arm/page.h        |   3 +
 xen/include/asm-arm/processor.h   |  43 +++++++-
 26 files changed, 1260 insertions(+), 44 deletions(-)
 create mode 100644 docs/misc/arm/silicon-errata.txt
 create mode 100644 xen/arch/arm/alternative.c
 create mode 100644 xen/arch/arm/arm64/insn.c
 create mode 100644 xen/arch/arm/cpuerrata.c
 create mode 100644 xen/arch/arm/cpufeature.c
 create mode 100644 xen/include/asm-arm/alternative.h
 create mode 100644 xen/include/asm-arm/arm64/brk.h
 create mode 100644 xen/include/asm-arm/arm64/insn.h
 create mode 100644 xen/include/asm-arm/cpuerrata.h
 create mode 100644 xen/include/asm-arm/insn.h

-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.