From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH 5/5] Revert "x86/hvm: wait for at least one ioreq server to be enabled" Date: Fri, 13 Mar 2015 10:34:35 +0000 Message-ID: <1426242875-24446-6-git-send-email-wei.liu2@citrix.com> References: <1426242875-24446-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1426242875-24446-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Wei Liu , ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com, ian.jackson@eu.citrix.com, Paul Durrant , anthony.perard@citrix.com List-Id: xen-devel@lists.xenproject.org This reverts commit dd748d128d86996592afafea02e578cc7d4e6d42. We don't need this workaround anymore since we have fixed the toolstack interlock problem that affects stubdom. Signed-off-by: Wei Liu Cc: Paul Durrant --- xen/arch/x86/hvm/hvm.c | 21 --------------------- xen/include/asm-x86/hvm/domain.h | 1 - 2 files changed, 22 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 4734d71..32905d0 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -892,13 +892,6 @@ static void hvm_ioreq_server_enable(struct hvm_ioreq_server *s, done: spin_unlock(&s->lock); - - /* This check is protected by the domain ioreq server lock. */ - if ( d->arch.hvm_domain.ioreq_server.waiting ) - { - d->arch.hvm_domain.ioreq_server.waiting = 0; - domain_unpause(d); - } } static void hvm_ioreq_server_disable(struct hvm_ioreq_server *s, @@ -1450,20 +1443,6 @@ int hvm_domain_initialise(struct domain *d) spin_lock_init(&d->arch.hvm_domain.ioreq_server.lock); INIT_LIST_HEAD(&d->arch.hvm_domain.ioreq_server.list); - - /* - * In the case where a stub domain is providing emulation for - * the guest, there is no interlock in the toolstack to prevent - * the guest from running before the stub domain is ready. - * Hence the domain must remain paused until at least one ioreq - * server is created and enabled. - */ - if ( !is_pvh_domain(d) ) - { - domain_pause(d); - d->arch.hvm_domain.ioreq_server.waiting = 1; - } - spin_lock_init(&d->arch.hvm_domain.irq_lock); spin_lock_init(&d->arch.hvm_domain.uc_lock); diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h index 0702bf5..2757c7f 100644 --- a/xen/include/asm-x86/hvm/domain.h +++ b/xen/include/asm-x86/hvm/domain.h @@ -83,7 +83,6 @@ struct hvm_domain { struct { spinlock_t lock; ioservid_t id; - bool_t waiting; struct list_head list; } ioreq_server; struct hvm_ioreq_server *default_ioreq_server; -- 1.9.1