|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [Very RFC PATCH] Livepatch - initial ARM64/32 support.
Hey!
Over the last couple of months in my spare time I was playing
with making livepatch work with ARM64 (using the FoundationModel
simulator) and I finally got it working tonight.
Sending out the patches just in case they don't work tomorrow :-)
The ARM32 part is going slowly - as I don't have a simulator
and using a real board takes time.
As you can see from the diffstat there is some room
for improvement:
- The 'tests' - they are now in x86 and arm - and they are quite
similar. My thinking is to move them to 'common' ?
- There is room to unify some of the ELF relocation checks as
they are exactly the same across architectures.
There is also an ugly implementation of modify_xen_mappings.
I am hoping the ARM maintainers could provide some input on
how they would like me to implement this.
Thanks!
xen/arch/arm/Makefile | 14 +-
xen/arch/arm/arm32/Makefile | 2 +-
xen/arch/arm/arm32/livepatch.c | 150 ++++++++++++++++
xen/arch/arm/arm64/Makefile | 1 +
xen/arch/arm/arm64/insn.c | 41 +++++
xen/arch/arm/arm64/livepatch.c | 268 +++++++++++++++++++++++++++++
xen/arch/arm/livepatch.c | 84 ++++++---
xen/arch/arm/mm.c | 28 ++-
xen/arch/arm/test/Makefile | 85 +++++++++
xen/arch/arm/test/xen_bye_world.c | 34 ++++
xen/arch/arm/test/xen_bye_world_func.c | 22 +++
xen/arch/arm/test/xen_hello_world.c | 69 ++++++++
xen/arch/arm/test/xen_hello_world_func.c | 26 +++
xen/arch/arm/test/xen_replace_world.c | 33 ++++
xen/arch/arm/test/xen_replace_world_func.c | 22 +++
xen/common/Kconfig | 2 +-
xen/common/livepatch.c | 12 +-
xen/include/asm-arm/arm64/insn.h | 2 +
xen/include/asm-arm/current.h | 7 +
xen/include/asm-arm/mm.h | 1 +
xen/include/xen/elfstructs.h | 35 ++++
21 files changed, 905 insertions(+), 33 deletions(-)
Konrad Rzeszutek Wilk (3):
mm/arm: Introduce modify_xen_mappings
insn: Add arch64_insn_gen_branch_imm to generate branch
livepatch: Initial ARM32/64 support.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |