aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/system.h
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-07-11 17:48:10 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-07-11 17:48:10 +0100
commitd53485d69b6d328366038cfad8e9e90f66bdb317 (patch)
treed92cce8ad45ef5062e812595437fd46679b85728 /xen/include/asm-x86/system.h
parent74eb7bf176e6cb5d109ee5b0f617bc7d6c71abc3 (diff)
downloadxen-d53485d69b6d328366038cfad8e9e90f66bdb317.tar.gz
xen-d53485d69b6d328366038cfad8e9e90f66bdb317.tar.bz2
xen-d53485d69b6d328366038cfad8e9e90f66bdb317.zip
Provide cpu hotplug support to Xen. Note this hotplug
support is specific to PM, instead of for a run-time single CPU hotplug which can be a separate task. See embedded comment: /* * XXX: One important thing missed here is to migrate vcpus * from dead cpu to other online ones and then put whole * system into a stop state. It assures a safe environment * for a cpu hotplug/remove at normal running state. * * However for xen PM case, at this point: * -> All other domains should be notified with PM event, * and then in following states: * * Suspend state, or * * Paused state, which is a force step to all * domains if they do nothing to suspend * -> All vcpus of dom0 (except vcpu0) have already beem * hot removed * with the net effect that all other cpus only have idle vcpu * running. In this special case, we can avoid vcpu migration * then and system can be considered in a stop state. * * So current cpu hotplug is a special version for PM specific * usage, and need more effort later for full cpu hotplug. * (ktian1) */ Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/system.h')
-rw-r--r--xen/include/asm-x86/system.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/include/asm-x86/system.h b/xen/include/asm-x86/system.h
index ef44f460e3..07ecdb2d54 100644
--- a/xen/include/asm-x86/system.h
+++ b/xen/include/asm-x86/system.h
@@ -313,6 +313,8 @@ static always_inline unsigned long long __cmpxchg8b(
#define __sti() __asm__ __volatile__("sti": : :"memory")
/* used in the idle loop; sti takes one instruction cycle to complete */
#define safe_halt() __asm__ __volatile__("sti; hlt": : :"memory")
+/* used when interrupts are already enabled or to shutdown the processor */
+#define halt() __asm__ __volatile__("hlt": : :"memory")
/* For spinlocks etc */
#if defined(__i386__)