Skip to content

RFC xen: arm: support for save restore and dead migration

Ian Campbell xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest14 patches 33 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14xen: arm: Add gic_hw_descxen/arch/arm/gic.c xen/include/asm-arm/gic.h+15 -04 replies
2/14xen: arm: Provide a mechanism to read (and decode) an LR from a saved VCPUxen/arch/arm/gic-v2.c xen/arch/arm/gic-v3.c xen/arch/arm/gic.c +1 more+44 -91 reply
3/14xen: arm: switch arch_do_domctl to a common exit pathxen/arch/arm/domctl.c+51 -254 replies
4/14xen: arm: Implement XEN_DOMCTL_getpageframeinfo3.xen/arch/arm/domctl.c+49 -01 reply
5/14xen: arm: Implement basic XEN_DOMCTL_{set, get}hvmcontext supportxen/arch/arm/Makefile xen/arch/arm/domctl.c xen/arch/arm/save.c +3 more+172 -02 replies
6/14xen: arm: Add some basic platform info to save headerxen/arch/arm/save.c xen/include/public/arch-arm/hvm/save.h+50 -02 replies
7/14xen: arm: Save and restore basic per-VCPU state.xen/arch/arm/hvm.c xen/include/public/arch-arm/hvm/save.h+204 -12 replies
8/14xen: arm: Save and restore arch timer state.xen/arch/arm/vtimer.c xen/include/public/arch-arm/hvm/save.h+86 -16 replies
9/14xen: arm: Save and restore GIC state.xen/arch/arm/vgic-v2.c xen/arch/arm/vgic-v3.c xen/arch/arm/vgic.c +3 more+353 -13 replies
10/14tools: Switch a few CONFIG_MIGRATE features to CONFIG_X86tools/libxc/Makefile tools/misc/Makefile+2 -21 reply
11/14tools: migrate: refactor selection of save/restore ops to be arch specifictools/libxc/xc_sr_common.h tools/libxc/xc_sr_common_x86.c tools/libxc/xc_sr_restore.c +1 more+47 -272 replies
12/14tools: libxc: implement modify_returncode for ARM.tools/libxc/xc_resume.c+18 -02 replies
13/14tools: libxc: wire up migration for ARMconfig/arm32.mk config/arm64.mk tools/libxc/Makefile +5 more+469 -01 reply
14/14tools/libxl: BODGE ARM save/restore and (dead) migration.tools/libxl/libxl.h tools/libxl/xl_cmdimpl.c+9 -20 replies

Reviews trailers per patch

3 of 14 patches have a Reviewed-by or Acked-by.

PatchStefano Stabellini
1/14A-b
2/14A-b
3/14
4/14A-b
5/14
6/14
7/14
8/14
9/14
10/14
11/14
12/14
13/14
14/14

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH RFC v1 00/14] xen: arm: support for save restore and dead migration

For arm32 + gicv2 systems the following supports apparently successful save/restore as well dead migrate a domain.

There are several caveats/blockers, hence RFC.

* GIC v2 support only, no GIC v3 at all
* ARM32 only. Doesn't even build for ARM64 (vfp state handling needs adjustment)
* No live migration, only "dead" (no logdirty support yet)
* Have not fully audited the set of state which needs to be saved (i.e. I might have missed some registers or something)

On the flip side, thanks to migration v2 the toolstack side of this practically trivial.

This is (of course) using the current Xen hvm blob handling strata, which I believe there are plans afoot to rework along the lines of the libxc/libxl migration v2 protocol.

For now I have no problem waiting and reworking in that vein as things progress, clearly the blockers/caveats (logdirty support in particular) are going to take some time to sort out.
This is all based (very distantly) on some original patches from Evgeny Fedotov and Junghyun Yoo (both of Samsung) however very little of that code remains here.

As well as the Xen series there will be a single Linux patch too, I'll only CC ARM folks on that one.

Ian.