aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/setup.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2012-03-22 12:20:13 +0000
committerKeir Fraser <keir@xen.org>2012-03-22 12:20:13 +0000
commit269f543ea750ed567d18f2e819e5d5ce58eda5c5 (patch)
treef1bfaca66eeec018fa55f65817fa387ca62c082f /xen/arch/x86/setup.c
parent8aed7f047dacebfe8c28109b7adb55784e5bc8ef (diff)
downloadxen-269f543ea750ed567d18f2e819e5d5ce58eda5c5.tar.gz
xen-269f543ea750ed567d18f2e819e5d5ce58eda5c5.tar.bz2
xen-269f543ea750ed567d18f2e819e5d5ce58eda5c5.zip
Introduce system_state variable.
Use it to replace x86-specific early_boot boolean variable. Also use it to detect suspend/resume case during cpu offline/online to avoid unnecessarily breaking vcpu and cpupool affinities. Signed-off-by: Keir Fraser <keir@xen.org> Acked-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Diffstat (limited to 'xen/arch/x86/setup.c')
-rw-r--r--xen/arch/x86/setup.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 49f91ab543..bd218593a7 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -81,8 +81,6 @@ boolean_param("noapic", skip_ioapic_setup);
s8 __read_mostly xen_cpuidle = -1;
boolean_param("cpuidle", xen_cpuidle);
-bool_t __read_mostly early_boot = 1;
-
cpumask_t __read_mostly cpu_present_map;
unsigned long __read_mostly xen_phys_start;
@@ -271,7 +269,7 @@ static void *__init bootstrap_map(const module_t *mod)
void *ret;
#ifdef __x86_64__
- if ( !early_boot )
+ if ( system_state != SYS_STATE_early_boot )
return mod ? mfn_to_virt(mod->mod_start) : NULL;
#endif
@@ -1168,7 +1166,7 @@ void __init __start_xen(unsigned long mbi_p)
#endif
end_boot_allocator();
- early_boot = 0;
+ system_state = SYS_STATE_boot;
#if defined(CONFIG_X86_64)
vesa_init();
@@ -1391,6 +1389,8 @@ void __init __start_xen(unsigned long mbi_p)
dmi_end_boot();
+ system_state = SYS_STATE_active;
+
domain_unpause_by_systemcontroller(dom0);
reset_stack_and_jump(init_done);