[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] vcpu hot-plug/remove for VTi
# HG changeset patch # User awilliam@xxxxxxxxxxxx # Date 1171666145 25200 # Node ID b0aeca575dfb6b203fb83cd165304654335dc0cb # Parent 9529d667d0426eb02077cb33abdc6e434e27d293 [IA64] vcpu hot-plug/remove for VTi Return to SAL added for VTi by adding a new SAL (OEM defined) function. Using this patch I was able to hot-add/hot-remove under linux (in fact virtualized hot). Signed-off-by: Tristan Gingold <tgingold@xxxxxxx> --- xen/arch/ia64/vmx/vlsapic.c | 4 +++- xen/arch/ia64/xen/fw_emul.c | 4 ++++ xen/include/asm-ia64/dom_fw.h | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff -r 9529d667d042 -r b0aeca575dfb xen/arch/ia64/vmx/vlsapic.c --- a/xen/arch/ia64/vmx/vlsapic.c Thu Feb 15 14:09:39 2007 -0700 +++ b/xen/arch/ia64/vmx/vlsapic.c Fri Feb 16 15:49:05 2007 -0700 @@ -672,7 +672,9 @@ static void vlsapic_write_ipi(VCPU *vcpu if (targ == NULL) panic_domain(NULL, "Unknown IPI cpu\n"); - if (!test_bit(_VCPUF_initialised, &targ->vcpu_flags)) { + if (!test_bit(_VCPUF_initialised, &targ->vcpu_flags) || + test_bit(_VCPUF_down, &targ->vcpu_flags)) { + struct pt_regs *targ_regs = vcpu_regs(targ); struct vcpu_guest_context c; diff -r 9529d667d042 -r b0aeca575dfb xen/arch/ia64/xen/fw_emul.c --- a/xen/arch/ia64/xen/fw_emul.c Thu Feb 15 14:09:39 2007 -0700 +++ b/xen/arch/ia64/xen/fw_emul.c Fri Feb 16 15:49:05 2007 -0700 @@ -370,6 +370,10 @@ sal_emulator (long index, unsigned long break; case SAL_UPDATE_PAL: printk("*** CALLED SAL_UPDATE_PAL. IGNORED...\n"); + break; + case SAL_XEN_SAL_RETURN: + if (!test_and_set_bit(_VCPUF_down, ¤t->vcpu_flags)) + vcpu_sleep_nosync(current); break; default: printk("*** CALLED SAL_ WITH UNKNOWN INDEX. IGNORED...\n"); diff -r 9529d667d042 -r b0aeca575dfb xen/include/asm-ia64/dom_fw.h --- a/xen/include/asm-ia64/dom_fw.h Thu Feb 15 14:09:39 2007 -0700 +++ b/xen/include/asm-ia64/dom_fw.h Fri Feb 16 15:49:05 2007 -0700 @@ -180,6 +180,9 @@ #define EFI_MEMDESC_VERSION 1 +/* Additionnal OEM SAL. */ +#define SAL_XEN_SAL_RETURN 0x02000000 + extern struct ia64_pal_retval xen_pal_emulator(u64, u64, u64, u64); extern struct sal_ret_values sal_emulator (long index, unsigned long in1, unsigned long in2, unsigned long in3, unsigned long in4, unsigned long in5, unsigned long in6, unsigned long in7); extern struct ia64_pal_retval pal_emulator_static (unsigned long); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |