xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/15] xen/arm: Introduce alternative runtime patching for ARM64
@ 2016-06-22 11:15 Julien Grall
  2016-06-22 11:15 ` [PATCH v4 01/15] xen/arm: Makefile: Sort the entries alphabetically Julien Grall
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Julien Grall @ 2016-06-22 11:15 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall, sstabellini

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-v4

For all the changes, see in each patch.

Yours sincerely,

Julien Grall (15):
  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

 docs/misc/arm/silicon-errata.txt  |  49 +++++++++
 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          |  60 +++++++++++
 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              |   7 +-
 xen/arch/arm/xen.lds.S            |   8 ++
 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   |  14 +++
 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, 1203 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@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-06-22 11:15 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-22 11:15 [PATCH v4 00/15] xen/arm: Introduce alternative runtime patching for ARM64 Julien Grall
2016-06-22 11:15 ` [PATCH v4 01/15] xen/arm: Makefile: Sort the entries alphabetically Julien Grall
2016-06-22 11:15 ` [PATCH v4 02/15] xen/arm: Include the header asm-arm/system.h in asm-arm/page.h Julien Grall
2016-06-22 11:15 ` [PATCH v4 03/15] xen/arm: Add macros to handle the MIDR Julien Grall
2016-06-22 11:15 ` [PATCH v4 04/15] xen/arm: Add cpu_hwcap bitmap Julien Grall
2016-06-22 11:15 ` [PATCH v4 05/15] xen/arm64: Add an helper to invalidate all instruction caches Julien Grall
2016-06-22 11:15 ` [PATCH v4 06/15] xen/arm: arm64: Move the define BRK_BUG_FRAME into a separate header Julien Grall
2016-06-22 11:15 ` [PATCH v4 07/15] xen/arm: arm64: Reserve a brk immediate to fault on purpose Julien Grall
2016-06-22 11:15 ` [PATCH v4 08/15] xen/arm: arm64: Add helpers to decode and encode branch instructions Julien Grall
2016-06-22 11:15 ` [PATCH v4 09/15] xen/arm: Introduce alternative runtime patching Julien Grall
2016-06-22 11:15 ` [PATCH v4 10/15] xen/arm: cpufeature: Provide an helper to check if a capability is supported Julien Grall
2016-06-22 11:15 ` [PATCH v4 11/15] xen/arm: Detect silicon revision and set cap bits accordingly Julien Grall
2016-06-22 11:15 ` [PATCH v4 12/15] xen/arm: Document the errata implemented in Xen Julien Grall
2016-06-22 11:15 ` [PATCH v4 13/15] xen/arm: arm64: Add Cortex-A53 cache errata workaround Julien Grall
2016-06-22 11:15 ` [PATCH v4 14/15] xen/arm: arm64: Add cortex-A57 erratum 832075 workaround Julien Grall
2016-06-22 11:15 ` [PATCH v4 15/15] xen/arm: traps: Don't inject a fault if the translation VA -> IPA fails Julien Grall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).