aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/arm/setup.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-01-21 12:40:30 +0000
committerIan Campbell <ian.campbell@citrix.com>2013-01-21 12:40:30 +0000
commit31bea35e1dccb0ceda03dbbf834577cb4419f4e8 (patch)
tree872c053051f89cd0071e135f93eec5eabe2a5b48 /xen/arch/arm/setup.c
parentbeddb3b6ccecefeec4c5c99afd0e37f3e0b8992b (diff)
downloadxen-31bea35e1dccb0ceda03dbbf834577cb4419f4e8.tar.gz
xen-31bea35e1dccb0ceda03dbbf834577cb4419f4e8.tar.bz2
xen-31bea35e1dccb0ceda03dbbf834577cb4419f4e8.zip
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>
Diffstat (limited to 'xen/arch/arm/setup.c')
-rw-r--r--xen/arch/arm/setup.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index e6cefeb4fa..e1ab7f642a 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -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