mem_sharing: VM forking
authorTamas K Lengyel <tamas.lengyel@intel.com>
Wed, 8 Apr 2020 10:59:58 +0000 (12:59 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 8 Apr 2020 10:59:58 +0000 (12:59 +0200)
commit41548c5472a3ea514cb0173f2576096970358263
treee5dc762c5fde94b74b5965462595e0044b188074
parente013e8514389b739153016349e49f5a78e34ddf0
mem_sharing: VM forking

VM forking is the process of creating a domain with an empty memory space and a
parent domain specified from which to populate the memory when necessary. For
the new domain to be functional the VM state is copied over as part of the fork
operation (HVM params, hap allocation, etc).

Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
12 files changed:
xen/arch/x86/domain.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/mm/hap/hap.c
xen/arch/x86/mm/mem_sharing.c
xen/arch/x86/mm/p2m.c
xen/include/asm-arm/page.h
xen/include/asm-x86/hap.h
xen/include/asm-x86/hvm/hvm.h
xen/include/asm-x86/mem_sharing.h
xen/include/asm-x86/page.h
xen/include/public/memory.h
xen/include/xen/sched.h