From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang Haoyu" Subject: Re: What's the difference between EPT_MISCONFIG and EPT_VIOLATION? Date: Wed, 3 Dec 2014 18:12:10 +0800 Message-ID: <201412031812064379324@sangfor.com> References: <201412031750333199219@sangfor.com>, <20141203095601.GJ18509@cloudius-systems.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 7bit Cc: "kvm" , "Paolo Bonzini" , "Michael S.Tsirkin" To: "Gleb Natapov" Return-path: Received: from [202.131.75.66] ([202.131.75.66]:38233 "EHLO mail.sangfor.cn" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1750862AbaLCKMU (ORCPT ); Wed, 3 Dec 2014 05:12:20 -0500 Sender: kvm-owner@vger.kernel.org List-ID: > > Hi, > > > > EXIT_REASON_EPT_VIOLATION's corresponding handle is handle_ept_violation(), > > and EXIT_REASON_EPT_MISCONFIG's corresponding handle is handle_ept_misconfig(), > > what's the difference between them? > > > > I read the SDM-3C 28.2.3 EPT-Induced VM Exits, and found below description, > > "An EPT misconfiguration occurs when, in the course of translating > > a guest-physical address, the logical processor encounters an EPT > > paging-structure entry that contains an unsupported value. An EPT > > violation occurs when there is no EPT misconfiguration but the EPT > > paging-structure entries disallow an access using the guest physical > > address." > > > > According to above description, EPT-MISCONFIG is from error settings , > > but from the its exit-handle handle_ept_misconfig(), > > it seems that handle_ept_misconfig() handles mmio pagefault, > > I'm really confused, I think I'm missing something, > > any advices? > > > EXIT_REASON_EPT_VIOLATION is similar to a "page not present" pagefault > EXIT_REASON_EPT_MISCONFIG is similar to a "reserved bit set" pagefault. > handle_ept_misconfig() handles mmio pagefault because KVM has an > optimization that uses reserved bits to mark mmio regions. > Thanks, Gleb, where does kvm use the reserved bits to mark mmio regions? > -- > Gleb.