From patchwork Fri Apr 26 06:43:26 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Nakajima, Jun" X-Patchwork-Id: 2491081 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 854163FC64 for ; Fri, 26 Apr 2013 06:43:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759474Ab3DZGnv (ORCPT ); Fri, 26 Apr 2013 02:43:51 -0400 Received: from mail-da0-f46.google.com ([209.85.210.46]:33012 "EHLO mail-da0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753605Ab3DZGnu (ORCPT ); Fri, 26 Apr 2013 02:43:50 -0400 Received: by mail-da0-f46.google.com with SMTP id x4so1255851daj.19 for ; Thu, 25 Apr 2013 23:43:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:subject:date:message-id:x-mailer:in-reply-to :references:x-gm-message-state; bh=Sv+RKyRaozt0g9H+rwckMKeEm71EBANcxZtkVA3Pgxo=; b=oAYk2/bMk0QR+oE/QBwIazW3rq+wc2SiFqIxLrBSvTZZ8YpMIP4Cu/XyNry5BaxSSS bCbKpDz46X/PH2asuhcJw37A1dPR5WjiExBRfFr6X+usk9x+zVzbxsfj3bKfx/GCC/+c pDlTNTgghLBAslUo/60mgupuSfAHEbFlzq14qIXkuBl81uuE1HbY4TmoC6AvwZXh1ZmC 8ECZuiFiciiRF7t/NwK6jY+QO00WKofPVAPTjV7u4OZpdKfMdZ0ErjOnuvo2ovSpe6R3 6Tl5pLbTv0WyCd44iRPskk47dooQgjA5ugd8tx5R9ioFoWBlvL/9iVj+Y16bYiYmYEip dYfQ== X-Received: by 10.66.145.134 with SMTP id su6mr28539913pab.198.1366958629867; Thu, 25 Apr 2013 23:43:49 -0700 (PDT) Received: from localhost (c-98-207-34-191.hsd1.ca.comcast.net. [98.207.34.191]) by mx.google.com with ESMTPSA id l4sm10462345pbo.6.2013.04.25.23.43.47 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 25 Apr 2013 23:43:48 -0700 (PDT) From: Jun Nakajima To: kvm@vger.kernel.org Subject: [PATCH 06/11] nEPT: Some additional comments Date: Thu, 25 Apr 2013 23:43:26 -0700 Message-Id: <1366958611-6935-6-git-send-email-jun.nakajima@intel.com> X-Mailer: git-send-email 1.8.2.1.610.g562af5b In-Reply-To: <1366958611-6935-5-git-send-email-jun.nakajima@intel.com> References: <1366958611-6935-1-git-send-email-jun.nakajima@intel.com> <1366958611-6935-2-git-send-email-jun.nakajima@intel.com> <1366958611-6935-3-git-send-email-jun.nakajima@intel.com> <1366958611-6935-4-git-send-email-jun.nakajima@intel.com> <1366958611-6935-5-git-send-email-jun.nakajima@intel.com> X-Gm-Message-State: ALoCoQmNgkqA6Q8X1k91eHYCSPdr376ZFyl7Y8cKLYB/eM9SGEdVKVGUdu4Oxjlbkf7gWMclVMxJ Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Some additional comments to preexisting code: Explain who (L0 or L1) handles EPT violation and misconfiguration exits. Don't mention "shadow on either EPT or shadow" as the only two options. Signed-off-by: Nadav Har'El Signed-off-by: Jun Nakajima Signed-off-by: Xinhao Xu --- arch/x86/kvm/vmx.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 26a1b6f..66ead51 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -6127,7 +6127,20 @@ static bool nested_vmx_exit_handled(struct kvm_vcpu *vcpu) return nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES); case EXIT_REASON_EPT_VIOLATION: + /* + * L0 always deals with the EPT violation. If nested EPT is + * used, and the nested mmu code discovers that the address is + * missing in the guest EPT table (EPT12), the EPT violation + * will be injected with nested_ept_inject_page_fault() + */ + return 0; case EXIT_REASON_EPT_MISCONFIG: + /* + * L2 never uses directly L1's EPT, but rather L0's own EPT + * table (shadow on EPT) or a merged EPT table that L0 built + * (EPT on EPT). So any problems with the structure of the + * table is L0's fault. + */ return 0; case EXIT_REASON_WBINVD: return nested_cpu_has2(vmcs12, SECONDARY_EXEC_WBINVD_EXITING);