From patchwork Wed May 4 19:43:50 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 754632 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p44JiRnZ026489 for ; Wed, 4 May 2011 19:44:27 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755607Ab1EDToW (ORCPT ); Wed, 4 May 2011 15:44:22 -0400 Received: from fmmailgate03.web.de ([217.72.192.234]:40757 "EHLO fmmailgate03.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755564Ab1EDToS (ORCPT ); Wed, 4 May 2011 15:44:18 -0400 Received: from smtp04.web.de ( [172.20.0.225]) by fmmailgate03.web.de (Postfix) with ESMTP id 3BF5418E02859; Wed, 4 May 2011 21:44:17 +0200 (CEST) Received: from [88.64.22.120] (helo=localhost.localdomain) by smtp04.web.de with asmtp (TLSv1:AES256-SHA:256) (WEB.DE 4.110 #2) id 1QHhzd-0006mo-00; Wed, 04 May 2011 21:44:17 +0200 From: Jan Kiszka To: Avi Kivity , Marcelo Tosatti Cc: kvm@vger.kernel.org Subject: [PATCH 16/19] qemu-kvm: Push PIT reinjection control into x86 code Date: Wed, 4 May 2011 21:43:50 +0200 Message-Id: <2aeda2c57e6e251a3b2d2a8b1e9f9b1734c48007.1304538230.git.jan.kiszka@web.de> X-Mailer: git-send-email 1.7.1 In-Reply-To: References: In-Reply-To: References: X-Sender: jan.kiszka@web.de X-Provags-ID: V01U2FsdGVkX1/dhvRpHZN6v4WKmXO7VJP+l+7WBO5mM4JrEZud JIkMHqarEbbUjLkaF0r5CtHozsQPVRa4de4Ualq7ss3gDnw1Tx Wi8z3IH+M= Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Wed, 04 May 2011 19:44:28 +0000 (UTC) From: Jan Kiszka This belongs where the in-kernel PIT is created. Signed-off-by: Jan Kiszka --- qemu-kvm-x86.c | 8 ++++++++ qemu-kvm.c | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 6b816bc..c0061a1 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -111,6 +111,14 @@ static int kvm_create_pit(kvm_context_t kvm) fprintf(stderr, "Create kernel PIC irqchip failed\n"); return r; } + if (!kvm_pit_reinject) { + r = kvm_reinject_control(kvm_context, 0); + if (r < 0) { + fprintf(stderr, + "failure to disable in-kernel PIT reinjection\n"); + return r; + } + } } #endif return 0; diff --git a/qemu-kvm.c b/qemu-kvm.c index ecee3dc..bd595b1 100644 --- a/qemu-kvm.c +++ b/qemu-kvm.c @@ -1405,13 +1405,6 @@ static int kvm_create_context(void) kvm_create_irqchip(kvm_context); - if (kvm_pit && !kvm_pit_reinject) { - if (kvm_reinject_control(kvm_context, 0)) { - fprintf(stderr, "failure to disable in-kernel PIT reinjection\n"); - return -1; - } - } - /* There was a nasty bug in < kvm-80 that prevents memory slots from being * destroyed properly. Since we rely on this capability, refuse to work * with any kernel without this capability. */