From patchwork Tue Sep 1 13:13:20 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mohammed Gamal X-Patchwork-Id: 45072 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n81DDV9I017181 for ; Tue, 1 Sep 2009 13:13:31 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754702AbZIANNW (ORCPT ); Tue, 1 Sep 2009 09:13:22 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754699AbZIANNW (ORCPT ); Tue, 1 Sep 2009 09:13:22 -0400 Received: from mail-bw0-f219.google.com ([209.85.218.219]:60114 "EHLO mail-bw0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754644AbZIANNV (ORCPT ); Tue, 1 Sep 2009 09:13:21 -0400 Received: by bwz19 with SMTP id 19so3509891bwz.37 for ; Tue, 01 Sep 2009 06:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=giKWwWULnRdqCW+E+w+Jw9wwqmEfowy0WJVBnaU476s=; b=m0yNXmhVhCJY/z82KO5ukmQOO/1WomMTqlzPYtdNGugnGs2W9n2QOjxUSIgFSBKWO4 Oy3qfnBGi2E/PadMCTywZrjfEH7EuBeXtWg6wYC0IA5/mCtpMO3WN4qK3EHY8CJIHUX0 Einiz71ftGRLShP22sMqcZaCtxQA6Zy5yTXtA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=uKc7e8JlhFJz/AZFcXi2jHvfQU5ID2Hqp3tlcQA5jETmeabWImaCh8+cSFakExZd0q jMtKioO9gr2NlgTIUsoxJuHdbMF/WP3FCNnafU7P8PoZz9omAPRiv9o0NxMdhJYmJyWI TpUWEMcvfCa2JkTfWy3aZA+o1wAb01ntO/Nro= Received: by 10.223.29.193 with SMTP id r1mr2623990fac.29.1251810803144; Tue, 01 Sep 2009 06:13:23 -0700 (PDT) Received: from localhost ([196.219.222.210]) by mx.google.com with ESMTPS id t12sm14899350gvd.16.2009.09.01.06.13.21 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 01 Sep 2009 06:13:22 -0700 (PDT) From: Mohammed Gamal To: mtosatti@redhat.com Cc: kvm@vger.kernel.org, avi@redhat.com, Mohammed Gamal Subject: [PATCH] Handle emulation failure in userspace Date: Tue, 1 Sep 2009 15:13:20 +0200 Message-Id: <1251810800-28839-1-git-send-email-m.gamal005@gmail.com> X-Mailer: git-send-email 1.6.0.4 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Since we return to userspace from KVM on invalid state emulation failure, let qemu handle it. Signed-off-by: Mohammed Gamal --- qemu-kvm.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/qemu-kvm.c b/qemu-kvm.c index b59e403..090a3ae 100644 --- a/qemu-kvm.c +++ b/qemu-kvm.c @@ -1029,6 +1029,14 @@ int kvm_run(kvm_vcpu_context_t vcpu, void *env) r = kvm_s390_handle_reset(kvm, vcpu, run); break; #endif + case KVM_EXIT_INTERNAL_ERROR: + fprintf(stderr, "KVM internal error. Suberror: %d\n", + run->internal.suberror); + kvm_show_regs(vcpu); + if (run->internal.suberror == KVM_INTERNAL_ERROR_EMULATION) + fprintf(stderr, "emulation failure, check dmesg for details\n"); + abort(); + break; default: if (kvm_arch_run(vcpu)) { fprintf(stderr, "unhandled vm exit: 0x%x\n", run->exit_reason);