From: Tamas K Lengyel <tamas.k.lengyel@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
Razvan Cojocaru <rcojocaru@bitdefender.com>
Subject: Re: Failed vm entry with heavy use of emulator
Date: Tue, 5 Jan 2016 13:05:53 +0100 [thread overview]
Message-ID: <CABfawhmPPvUt7WbeBvQwS_FxVh608T=A+DXDexAsFZBM-+G45Q@mail.gmail.com> (raw)
In-Reply-To: <568BAF7E.802@citrix.com>
[-- Attachment #1.1: Type: text/plain, Size: 3927 bytes --]
On Tue, Jan 5, 2016 at 12:56 PM, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:
> On 05/01/16 11:49, Tamas K Lengyel wrote:
>
> Hi all,
> I've been stress-testing the built-in emulator using the vm_event response
> VM_EVENT_FLAG_EMULATE feature. In the test I've turned all pages
> non-readable by default and all trapped instructions to be emulated. My
> test code can be found at
> <https://github.com/tklengyel/xen/compare/read_emul?expand=1>
> https://github.com/tklengyel/xen/compare/read_emul?expand=1.
>
> The following crash is reproducible and has been verified by Razvan as
> well.
>
> (XEN) p2m.c:1726:d1v0 calling mem_access_emulate_one, kind 0
> (XEN) Failed vm entry (exit reason 0x80000021) caused by invalid guest
> state (0).
> (XEN) ************* VMCS Area **************
> (XEN) *** Guest State ***
> (XEN) CR0: actual=0x000000008001003b, shadow=0x000000008001003b,
> gh_mask=ffffffffffffffff
> (XEN) CR4: actual=0x00000000000426f9, shadow=0x00000000000406f9,
> gh_mask=ffffffffffffffff
> (XEN) CR3 = 0x0000000000185000
> (XEN) PDPTE0 = 0x0000000000186001 PDPTE1 = 0x0000000000187001
> (XEN) PDPTE2 = 0x0000000000188001 PDPTE3 = 0x0000000000189001
> (XEN) RSP = 0x000000008276dc28 (0x000000008276dc28) RIP =
> 0x00000000826bce1c (0x00000000826bce1c)
> (XEN) RFLAGS=0x00000002 (0x00000002) DR7 = 0x0000000000000400
> (XEN) Sysenter RSP=000000008078b000 CS:RIP=0008:00000000826830c0
> (XEN) sel attr limit base
> (XEN) CS: 0008 0c09b ffffffff 0000000000000000
> (XEN) DS: 0023 0c0f3 ffffffff 0000000000000000
> (XEN) SS: 0010 0c093 ffffffff 0000000000000000
> (XEN) ES: 0023 0c0f3 ffffffff 0000000000000000
> (XEN) FS: 0030 04093 00003748 0000000082770c00
> (XEN) GS: 0000 1c000 ffffffff 0000000000000000
> (XEN) GDTR: 000003ff 0000000080b95000
> (XEN) LDTR: 0000 1c000 ffffffff 0000000000000000
> (XEN) IDTR: 000007ff 0000000080b95400
> (XEN) TR: 0028 0008b 000020ab 00000000801da000
> (XEN) EFER = 0x0000000000000000 PAT = 0x0007010600070106
> (XEN) PreemptionTimer = 0x00000000 SM Base = 0x00000000
> (XEN) DebugCtl = 0x0000000000000000 DebugExceptions = 0x0000000000000000
> (XEN) Interruptibility = 00000000 ActivityState = 00000000
> (XEN) *** Host State ***
> (XEN) RIP = 0xffff82d0802075c0 (vmx_asm_vmexit_handler) RSP =
> 0xffff830430d97f90
> (XEN) CS=e008 SS=0000 DS=0000 ES=0000 FS=0000 GS=0000 TR=e040
> (XEN) FSBase=0000000000000000 GSBase=0000000000000000
> TRBase=ffff830430d9bc00
> (XEN) GDTBase=ffff830430d8c000 IDTBase=ffff830430d98000
> (XEN) CR0=000000008005003b CR3=00000004136d0000 CR4=00000000000426e0
> (XEN) Sysenter RSP=ffff830430d97fc0 CS:RIP=e008:ffff82d08024db30
> (XEN) EFER = 0x0000000000000000 PAT = 0x0000050100070406
> (XEN) *** Control State ***
> (XEN) PinBased=0000003f CPUBased=b6a075fa SecondaryExec=000000eb
> (XEN) EntryControls=000051ff ExitControls=000fefff
> (XEN) ExceptionBitmap=00060042 PFECmask=00000000 PFECmatch=00000000
> (XEN) VMEntry: intr_info=800000d1 errcode=00000000 ilen=00000000
> (XEN) VMExit: intr_info=00000000 errcode=00000000 ilen=00000003
> (XEN) reason=80000021 qualification=0000000000000000
> (XEN) IDTVectoring: info=800000d1 errcode=00000000
> (XEN) TSC Offset = 0x0000004ed9c86354
> (XEN) TPR Threshold = 0x00 PostedIntrVec = 0x00
> (XEN) EPT pointer = 0x000000041124e01e EPTP index = 0x0000
> (XEN) Virtual processor ID = 0x0011 VMfunc controls = 0000000000000000
> (XEN) **************************************
> (XEN) domain_crash called from vmx.c:2761
>
> Any tips on how to further debug this issue?
>
>
> Do you have a log of the instructions emulated?
>
I don't. Is there an easy way to get that beside manually sprinkling debug
messages around in the emulator?
>
> Has the emulator by any chance just emulated setting CR4.PAE?
>
Possibly but I don't think so as the guest has already been fully booted so
I would not expect it to touch that.
Thanks,
Tamas
[-- Attachment #1.2: Type: text/html, Size: 5702 bytes --]
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-01-05 12:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-05 11:49 Failed vm entry with heavy use of emulator Tamas K Lengyel
2016-01-05 11:56 ` Andrew Cooper
2016-01-05 12:05 ` Tamas K Lengyel [this message]
2016-01-05 13:45 ` Andrew Cooper
2016-01-06 14:21 ` Jan Beulich
2016-01-05 13:39 ` Razvan Cojocaru
2016-01-05 13:49 ` Andrew Cooper
2016-01-05 14:01 ` Razvan Cojocaru
2016-01-05 14:12 ` Andrew Cooper
2016-01-05 14:16 ` Tamas K Lengyel
2016-01-05 14:37 ` Razvan Cojocaru
2016-09-06 23:31 ` Tamas K Lengyel
2016-09-07 5:59 ` Razvan Cojocaru
2016-09-07 9:36 ` Jan Beulich
2016-01-05 12:35 ` Razvan Cojocaru
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CABfawhmPPvUt7WbeBvQwS_FxVh608T=A+DXDexAsFZBM-+G45Q@mail.gmail.com' \
--to=tamas.k.lengyel@gmail.com \
--cc=andrew.cooper3@citrix.com \
--cc=rcojocaru@bitdefender.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.