Hello!
here goes the v5 patch series. The major changes in this version are the following:
1) Save and restore the vcpu-related registers in hvm context. (In patch 1)
2) Rather than using set_memory_map hypercall use GUEST_RAM_BASE macro as the start
of physical address of guest RAM and just let the hypervisor know the
maximum memory of guest (In patch 2 and 6)
3) Use bitmap for temporary saving the dirty pages rather than linked list.
(In patch 5)
Patch 1 implements hvm save/restore (including vcpu).
Patch 2 implements 'get_maximum_gpfn' hypercall
Patch 3 implements 'modify_returncode' for switching the return value of suspend hypercall from domU.
Patch 4 implements base functions for VLPT.
Patch 5 implements dirty-page tracing by using VLPT.
Patch 6 implements the toolstack part for live migration of ARM.
NOTE: In this version, I do not use the p2m walker infrastructure for p2m_change_entry_type_global.
I think I can apply it after Stefano’s patch is commited.
Best,
Jaeyong
Alexey Sokolov (2):
xen/arm: Implement modify_returncode
xen/arm: Implement toolstack for xl restore/save and migrate
Evgeny Fedotov (2):
xen/arm: Implement hvm save and restore
xen/arm: Implement get_maximum_gpfn hypercall for arm
Jaeyong Yoo (2):
xen/arm: Implement virtual-linear page table for guest p2m mapping in
live migration
xen/arm: Implement hypercall for dirty page tracing
config/arm32.mk | 1 +
tools/libxc/Makefile | 6 +-
tools/libxc/xc_arm_migrate.c | 712 +++++++++++++++++++++++++++++++++
tools/libxc/xc_dom_arm.c | 4 +-
tools/libxc/xc_resume.c | 25 ++
tools/misc/Makefile | 4 +-
xen/arch/arm/Makefile | 1 +
xen/arch/arm/domain.c | 19 +
xen/arch/arm/domctl.c | 98 ++++-
xen/arch/arm/hvm.c | 464 ++++++++++++++++++++-
xen/arch/arm/mm.c | 237 ++++++++++-
xen/arch/arm/p2m.c | 206 ++++++++++
xen/arch/arm/save.c | 66 +++
xen/arch/arm/traps.c | 9 +
xen/common/Makefile | 2 +
xen/include/asm-arm/arm32/page.h | 41 +-
xen/include/asm-arm/config.h | 5 +
xen/include/asm-arm/domain.h | 14 +
xen/include/asm-arm/hvm/support.h | 29 ++
xen/include/asm-arm/mm.h | 24 ++
xen/include/asm-arm/p2m.h | 4 +
xen/include/asm-arm/processor.h | 2 +
xen/include/public/arch-arm/hvm/save.h | 130 ++++++
23 files changed, 2084 insertions(+), 19 deletions(-)
create mode 100644 tools/libxc/xc_arm_migrate.c
create mode 100644 xen/arch/arm/save.c
create mode 100644 xen/include/asm-arm/hvm/support.h
--
1.8.1.2