[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v1] Livepatch ARM 64 implementation
Hey! This is the first (non RFC) posting of the enablement of Livepatch under ARM64. The patches are based on: [PATCH v3] Livepatch fixes and features for v4.8. (https://lists.xen.org/archives/html/xen-devel/2016-08/msg01825.html) And the git tree is: git://xenbits.xen.org/people/konradwilk/xen.git livepatch.v4.8.v3 I've only tested this under Foundation Platform with only one CPU working (the other CPUs wouldn't boot up for some reason) and without a proper working disk image (can't recall why, but it did have an initramfs) - I ended up building the hypervisor with the livepatch built in and loading it during dom0 execution (via timers), see (http://xenbits.xen.org/gitweb/?p=people/konradwilk/xen.git;a=commit;h=39517b2b807025d0d63d4f042ada5eb3de32ff45) [That patch is not part of this patchset of course] Please take a look and I hope you will enjoy reviewing the patches! The patchset contains: Konrad Rzeszutek Wilk (9): livepatch: Bubble up sanity checks on Elf relocs x86/arm: Make 'make debug' work properly. x86/arm64: Move the ALT_[ORIG|REPL]_PTR macros to header files. arm/mm: Introduce modify_xen_mappings arm64/insn: introduce aarch64_insn_gen_{nop|branch_imm}() helper functions livepatch: Initial ARM64 support. livepatch: ARM64: Ignore mapping symbols: $[a,d,x,p] livepatch: Move test-cases to common livepatch: tests: Make them compile under ARM64 .gitignore | 8 +- MAINTAINERS | 2 + xen/Makefile | 4 +- xen/arch/arm/Makefile | 16 +- xen/arch/arm/alternative.c | 4 - xen/arch/arm/arm32/Makefile | 2 +- xen/arch/arm/arm32/livepatch.c | 55 +++++ xen/arch/arm/arm64/Makefile | 1 + xen/arch/arm/arm64/insn.c | 61 +++++ xen/arch/arm/arm64/livepatch.c | 247 +++++++++++++++++++++ xen/arch/arm/domain.c | 6 + xen/arch/arm/livepatch.c | 124 +++++++++-- xen/arch/arm/livepatch.h | 28 +++ xen/arch/arm/mm.c | 21 +- xen/arch/x86/Makefile | 4 - xen/arch/x86/livepatch.c | 23 +- xen/common/Kconfig | 2 +- xen/common/Makefile | 6 + xen/common/livepatch.c | 31 ++- xen/common/livepatch_elf.c | 17 +- xen/{arch/x86 => common}/test/Makefile | 10 +- xen/{arch/x86 => common}/test/xen_bye_world.c | 0 xen/{arch/x86 => common}/test/xen_bye_world_func.c | 0 xen/{arch/x86 => common}/test/xen_hello_world.c | 0 .../x86 => common}/test/xen_hello_world_func.c | 7 +- xen/{arch/x86 => common}/test/xen_replace_world.c | 0 .../x86 => common}/test/xen_replace_world_func.c | 0 xen/include/asm-arm/alternative.h | 4 + xen/include/asm-arm/arm64/insn.h | 23 ++ xen/include/asm-arm/config.h | 8 +- xen/include/asm-arm/current.h | 7 + xen/include/asm-arm/page.h | 11 + xen/include/asm-x86/alternative.h | 4 + xen/include/xen/elfstructs.h | 40 +++- xen/include/xen/livepatch.h | 4 +- 35 files changed, 706 insertions(+), 74 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |