From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: (xen 4.6 unstable) triple fault when execute fxsave during the procedure of guest iso install Date: Wed, 24 Jun 2015 10:31:57 +0100 Message-ID: <558A790D.30103@citrix.com> References: <7EE47F9F3BEC294493BA3E433F16E08A3B302953@SZXEMA504-MBX.china.huawei.com> <558A7793.7060903@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <558A7793.7060903@bitdefender.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: Razvan Cojocaru , Fanhenglong , "xen-devel@lists.xen.org" Cc: "Liuqiming (John)" , Yanqiangjun , "Huangpeng (Peter)" , "Hanweidong (Randy)" List-Id: xen-devel@lists.xenproject.org On 24/06/15 10:25, Razvan Cojocaru wrote: > On 06/24/2015 12:14 PM, Fanhenglong wrote: >> I want to debug the procedure of windows os install with windbg, >> >> windbg executes instruction(fxsave) after the blank vm is started and >> before guest iso start to install, >> >> fxsave trigger the following code path: >> vmx_vmexit_handler(EXIT_REASON_EPT_VIOLATION) >> ->ept_handle_violation >> ->hvm_hap_nested_page_fault >> ->handle_mmio_with_translation >> ->handle_mmio >> ->hvm_emulate_one >> ->x86_emulate >> >> *X86_emulate return X86EMUL_UNHANDLEABLE* > How are you using Xen in this case? Are you by any chance using the > vm_event system in a way that sends back an "emulate" vm_event response > from userspace? > > You might want to look at x86_emulate() in > xen/arch/x86/x86_emulate/x86_emulate.c and see if (and how) fxsave is > being handled. The fxsave instruction has no emulation implementation. "0f ae 07" is "fxsave (%rdi)" which means that either introspection is active, or %rdi is a pointer into an MMIO region. ~Andrew