[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |