[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC 31/38] x86/hyperlaunch: move boot module discard to domain builder
Relocate the call to discard boot modules from inside the domain construction logic to the top level domain builder. This will ensure modules are not discarded until after all domains have been constructed. Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx> --- xen/arch/x86/domain-builder/core.c | 5 ++++- xen/arch/x86/hvm/dom_build.c | 3 --- xen/arch/x86/pv/dom0_build.c | 3 --- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/xen/arch/x86/domain-builder/core.c b/xen/arch/x86/domain-builder/core.c index e21f5efbfe62..901efce62a61 100644 --- a/xen/arch/x86/domain-builder/core.c +++ b/xen/arch/x86/domain-builder/core.c @@ -8,8 +8,8 @@ #include <xen/lib.h> #include <asm/bootinfo.h> -#include <asm/setup.h> #include <asm/domain-builder.h> +#include <asm/setup.h> #include "fdt.h" @@ -116,6 +116,9 @@ unsigned int __init builder_create_domains(struct boot_info *bi) if ( bd->d ) build_count++; + /* Free temporary buffers. */ + free_boot_modules(); + return build_count; } diff --git a/xen/arch/x86/hvm/dom_build.c b/xen/arch/x86/hvm/dom_build.c index 2798542e5483..a847c2cb16d9 100644 --- a/xen/arch/x86/hvm/dom_build.c +++ b/xen/arch/x86/hvm/dom_build.c @@ -854,9 +854,6 @@ static int __init pvh_load_kernel( last_addr = ROUNDUP(last_addr, PAGE_SIZE); } - /* Free temporary buffers. */ - free_boot_modules(); - if ( bd->cmdline ) { rc = hvm_copy_to_guest_phys(last_addr, bd->cmdline, diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c index c3d269438313..8d941ff4486e 100644 --- a/xen/arch/x86/pv/dom0_build.c +++ b/xen/arch/x86/pv/dom0_build.c @@ -865,9 +865,6 @@ static int __init dom0_construct(struct boot_domain *bd) init_hypercall_page(d, _p(parms.virt_hypercall)); } - /* Free temporary buffers. */ - free_boot_modules(); - /* Set up start info area. */ si = (start_info_t *)vstartinfo_start; clear_page(si); -- 2.30.2
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |