@@ -43,6 +43,21 @@ static void __init do_xsm_initcalls(void)
}
}
+static int __init xsm_core_init(void)
+{
+ if ( verify(&dummy_xsm_ops) )
+ {
+ printk("%s could not verify "
+ "dummy_xsm_ops structure.\n", __FUNCTION__);
+ return -EIO;
+ }
+
+ xsm_ops = &dummy_xsm_ops;
+ do_xsm_initcalls();
+
+ return 0;
+}
+
#ifdef CONFIG_MULTIBOOT
int __init xsm_multiboot_init(unsigned long *module_map,
const multiboot_info_t *mbi,
@@ -63,16 +78,7 @@ int __init xsm_multiboot_init(unsigned long *module_map,
}
}
- if ( verify(&dummy_xsm_ops) )
- {
- bootstrap_map(NULL);
- printk("%s could not verify "
- "dummy_xsm_ops structure.\n", __FUNCTION__);
- return -EIO;
- }
-
- xsm_ops = &dummy_xsm_ops;
- do_xsm_initcalls();
+ ret = xsm_core_init();
bootstrap_map(NULL);
return 0;
This function contains non-specific architecture code (mostly the tail of xsm_multiboot_init). It will be used later to avoid code duplication. Signed-off-by: Julien Grall <julien.grall@linaro.org> Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov> --- Changes in v2: - Patch added --- xen/xsm/xsm_core.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-)