From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [V10 PATCH 19/23] PVH xen: vmcs related changes Date: Tue, 20 Aug 2013 15:27:12 +0100 Message-ID: <52137CC0.6000606@eu.citrix.com> References: <1374631171-15224-1-git-send-email-mukesh.rathor@oracle.com> <1374631171-15224-20-git-send-email-mukesh.rathor@oracle.com> <20130819152152.7ed4fad7@mantra.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130819152152.7ed4fad7@mantra.us.oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Mukesh Rathor Cc: "xen-devel@lists.xensource.com" , "keir.xen@gmail.com" List-Id: xen-devel@lists.xenproject.org On 08/19/2013 11:21 PM, Mukesh Rathor wrote: > On Mon, 19 Aug 2013 17:00:53 +0100 > George Dunlap wrote: > >> On Wed, Jul 24, 2013 at 2:59 AM, Mukesh Rathor >> wrote: >>> @@ -1294,6 +1534,9 @@ void vmx_do_resume(struct vcpu *v) >>> hvm_asid_flush_vcpu(v); >>> } >>> >>> + if ( is_pvh_vcpu(v) ) >>> + reset_stack_and_jump(vmx_asm_do_vmentry); >>> + >> >> This skips the debugger stuff, but also skips hvm_do_resume(). >> hvm_do_resume() has timer and ioreq stuff that's not needed for PVH, >> but it also has code to "Inject a pending hw/sw trap". Might that >> code not be needed? > > We inject exceptions directly for PVH, like in vmxit_int3() if the > exception doesn't belong to supported debugger, we inject it into the > guest. PVH supports gdbsx debugger, but not the external debugger which > seems to set the vector to be injected (for HVMOP_inject_trap). But the HVM VMX code does exactly the same thing for int3. When is this code triggered in the HVM case, and why is it not necessary for the PVH case? -George