mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
arm: discard boot modules after building domain 0.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
beddb3b6cc
commit
31bea35e1d
3 files changed
+21
No files matched your search
@@ -10,6 +10,7 @@
|
||||
#include <xen/device_tree.h>
|
||||
#include <xen/libfdt/libfdt.h>
|
||||
#include <xen/guest_access.h>
|
||||
#include <asm/setup.h>
|
||||
|
||||
#include <asm/gic.h>
|
||||
#include "kernel.h"
|
||||
@@ -306,6 +307,8 @@ int construct_dom0(struct domain *d)
|
||||
dtb_load(&kinfo);
|
||||
kernel_load(&kinfo);
|
||||
|
||||
discard_initial_modules();
|
||||
|
||||
clear_bit(_VPF_down, &v->pause_flags);
|
||||
|
||||
memset(regs, 0, sizeof(*regs));
|
||||
|
||||
@@ -68,6 +68,22 @@ static void __init processor_id(void)
|
||||
READ_CP32(ID_ISAR3), READ_CP32(ID_ISAR4), READ_CP32(ID_ISAR5));
|
||||
}
|
||||
|
||||
void __init discard_initial_modules(void)
|
||||
{
|
||||
struct dt_module_info *mi = &early_info.modules;
|
||||
int i;
|
||||
|
||||
for ( i = 1; i <= mi->nr_mods; i++ )
|
||||
{
|
||||
paddr_t s = mi->module[i].start;
|
||||
paddr_t e = s + PAGE_ALIGN(mi->module[i].size);
|
||||
|
||||
init_domheap_pages(s, e);
|
||||
}
|
||||
|
||||
mi->nr_mods = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the end address of the highest region in the range s..e
|
||||
* with required size and alignment that does not conflict with the
|
||||
|
||||
@@ -11,6 +11,8 @@ void arch_get_xen_caps(xen_capabilities_info_t *info);
|
||||
|
||||
int construct_dom0(struct domain *d);
|
||||
|
||||
void discard_initial_modules(void);
|
||||
|
||||
#endif
|
||||
/*
|
||||
* Local variables:
|
||||
|
||||