From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JU63k-0006Y7-E2 for qemu-devel@nongnu.org; Tue, 26 Feb 2008 15:05:52 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JU63h-0006Uf-4R for qemu-devel@nongnu.org; Tue, 26 Feb 2008 15:05:49 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JU63g-0006U1-UH for qemu-devel@nongnu.org; Tue, 26 Feb 2008 15:05:49 -0500 Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JU63g-0001Iq-KF for qemu-devel@nongnu.org; Tue, 26 Feb 2008 15:05:48 -0500 Received: from mx1.redhat.com ([66.187.233.31]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JU63f-0006Wx-Uk for qemu-devel@nongnu.org; Tue, 26 Feb 2008 15:05:48 -0500 From: Glauber Costa Date: Tue, 26 Feb 2008 16:56:42 -0300 Message-Id: <1204055805-32349-13-git-send-email-gcosta@redhat.com> In-Reply-To: <1204055805-32349-12-git-send-email-gcosta@redhat.com> References: <1204055805-32349-1-git-send-email-gcosta@redhat.com> <1204055805-32349-2-git-send-email-gcosta@redhat.com> <1204055805-32349-3-git-send-email-gcosta@redhat.com> <1204055805-32349-4-git-send-email-gcosta@redhat.com> <1204055805-32349-5-git-send-email-gcosta@redhat.com> <1204055805-32349-6-git-send-email-gcosta@redhat.com> <1204055805-32349-7-git-send-email-gcosta@redhat.com> <1204055805-32349-8-git-send-email-gcosta@redhat.com> <1204055805-32349-9-git-send-email-gcosta@redhat.com> <1204055805-32349-10-git-send-email-gcosta@redhat.com> <1204055805-32349-11-git-send-email-gcosta@redhat.com> <1204055805-32349-12-git-send-email-gcosta@redhat.com> Subject: [Qemu-devel] [PATCH 12/15] isolate cpu thread creation in qemu-kvm.c Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm-devel@lists.sourceforge.net Cc: marcelo@kvack.org, glommer@gmail.com, qemu-devel@nongnu.org, Glauber Costa , chrisw@sous-sol.org Signed-off-by: Glauber Costa --- qemu/qemu-kvm.c | 9 +++++++-- qemu/qemu-kvm.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c index ffc59d5..59fe9df 100644 --- a/qemu/qemu-kvm.c +++ b/qemu/qemu-kvm.c @@ -351,6 +351,11 @@ static void kvm_add_signal(struct qemu_k sigdelset(&sigtab->negsigset, signum); } +void kvm_init_new_ap(int cpu, CPUState *env) +{ + pthread_create(&vcpu_info[cpu].thread, NULL, ap_main_loop, env); +} + int kvm_init_ap(void) { CPUState *env = first_cpu->next_cpu; @@ -371,8 +376,8 @@ #endif vcpu->env = first_cpu; signal(SIG_IPI, sig_ipi_handler); for (i = 1; i < smp_cpus; ++i) { - pthread_create(&vcpu_info[i].thread, NULL, ap_main_loop, env); - env = env->next_cpu; + kvm_init_new_ap(i, env); + env = env->next_cpu; } return 0; } diff --git a/qemu/qemu-kvm.h b/qemu/qemu-kvm.h index a637d71..8e45f30 100644 --- a/qemu/qemu-kvm.h +++ b/qemu/qemu-kvm.h @@ -13,6 +13,7 @@ #include "cpu.h" int kvm_main_loop(void); int kvm_qemu_init(void); int kvm_qemu_create_context(void); +void kvm_init_new_ap(int cpu, CPUState *env); int kvm_init_ap(void); void kvm_qemu_destroy(void); void kvm_load_registers(CPUState *env); -- 1.4.2