[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 00/16] xen/arm: Introduce alternative runtime patching for ARM64
Hi Julien, I have created a dummy CPU feature to test alternative runtime patching. It seems working well: Before enable dummy CPU feature: (XEN) I/O virtualisation disabled (XEN) Patching kernel code (XEN) Testing alternative branch.... (XEN) Hello, this is the original code... (XEN) *** LOADING DOMAIN 0 *** (XEN) Loading kernel from boot module @ 00000083fc3e7000 After enable dummy CPU feature: (XEN) I/O virtualisation disabled (XEN) Setting Dummy CPU Feature to test Alternative patching... (XEN) Patching kernel code (XEN) Testing alternative branch.... (XEN) Hello, this is the patched code... (XEN) *** LOADING DOMAIN 0 *** Tested-by: Wei Chen <Wei.Chen@xxxxxxxxxx> Regards. On 6 May 2016 at 00:34, Julien Grall <julien.grall@xxxxxxx> wrote: > 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |