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

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



Hello,

Some of the processor errata 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.

A branch with all the patches can be found here:

git://xenbits.xen.org/people/julieng/xen-unstable.git branch alternative-v3

For all the changes, see in each patch.

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: 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: cpufeature: Provide an helper to check if a capability is
    supported
  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             |  43 ++++----
 xen/arch/arm/alternative.c        | 221 ++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/arm32/Makefile       |   9 +-
 xen/arch/arm/arm64/Makefile       |  13 ++-
 xen/arch/arm/arm64/cache.S        |   2 +
 xen/arch/arm/arm64/insn.c         | 219 +++++++++++++++++++++++++++++++++++++
 xen/arch/arm/cpuerrata.c          |  52 +++++++++
 xen/arch/arm/cpufeature.c         |  50 +++++++++
 xen/arch/arm/platforms/Makefile   |   2 +-
 xen/arch/arm/setup.c              |  10 ++
 xen/arch/arm/smpboot.c            |   3 +
 xen/arch/arm/traps.c              |  15 ++-
 xen/arch/arm/xen.lds.S            |  10 ++
 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        |  20 ++++
 xen/include/asm-arm/page.h        |   1 +
 xen/include/asm-arm/processor.h   |  43 +++++++-
 26 files changed, 1198 insertions(+), 45 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®.