[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC] x86/emulate: implement hvmemul_cmpxchg() with an actual CMPXCHG



On 03/30/2017 06:47 PM, Jan Beulich wrote:
>> Speaking of emulated MMIO, I've got this when the guest was crashing
>> immediately (pre RETRY loop):
>>
>>  MMIO emulation failed: d3v8 32bit @ 0008:82679f3c -> f0 0f ba 30 00 72
>> 07 8b cb e8 da 4b ff ff 8b 45
> 
> That's a BTR, which we should be emulating fine. More information
> would need to be collected to have a chance to understand what
> might be going one (first of all the virtual and physical memory
> address this was trying to act on).

Right, the BTR part should be fine, but I think the LOCK part is what's
causing the issue. I've done a few more test runs to see what return
RETRY (dumping the instruction with an "(r)" prefix to distinguish from
the UNHANDLEABLE dump), and a couple of instructions return RETRY (BTR
and XADD, both LOCK-prefixed, which means they now involve CMPXCHG
handler, which presumably now fails - possibly simply because it's
always LOCKed in my patch):

# grep "Mem event" /var/log/xen/console/hypervisor.log | sort | uniq
(XEN) (r) Mem event emulation failed: d3v1 32bit @ 0008:8267f1aa -> f0
0f ba 28 07 72 d5 8d 45 f4 50 33 ff 56 47 53
(XEN) (r) Mem event emulation failed: d3v5 32bit @ 0008:8267f1aa -> f0
0f ba 28 07 72 d5 8d 45 f4 50 33 ff 56 47 53
(XEN) (r) Mem event emulation failed: d3v5 32bit @ 0008:826ebc7c -> f0
0f c1 08 85 c9 74 1f f6 c1 02 75 1a 41 8d 41
(XEN) (r) Mem event emulation failed: d3v6 32bit @ 0008:8267f1aa -> f0
0f ba 28 07 72 d5 8d 45 f4 50 33 ff 56 47 53
(XEN) (r) Mem event emulation failed: d3v6 32bit @ 0008:826eb861 -> f0
0f ba 30 00 72 07 8b cb e8 da 4b ff ff 8b 45
(XEN) (r) Mem event emulation failed: d3v6 32bit @ 0008:826ebc7c -> f0
0f c1 08 85 c9 74 1f f6 c1 02 75 1a 41 8d 41
(XEN) (r) Mem event emulation failed: d3v6 32bit @ 0008:826ebce6 -> f0
0f c1 01 8b 7d fc c1 ef 09 81 e7 f8 ff 7f 00
(XEN) (r) Mem event emulation failed: d3v7 32bit @ 0008:8267f1aa -> f0
0f ba 28 07 72 d5 8d 45 f4 50 33 ff 56 47 53
(XEN) (r) Mem event emulation failed: d3v7 32bit @ 0008:826eb861 -> f0
0f ba 30 00 72 07 8b cb e8 da 4b ff ff 8b 45
(XEN) (r) Mem event emulation failed: d3v7 32bit @ 0008:826ebc7c -> f0
0f c1 08 85 c9 74 1f f6 c1 02 75 1a 41 8d 41
(XEN) (r) Mem event emulation failed: d3v7 32bit @ 0008:826ebce6 -> f0
0f c1 01 8b 7d fc c1 ef 09 81 e7 f8 ff 7f 00
(XEN) (r) Mem event emulation failed: d3v7 32bit @ 0008:826ec59a -> f0
0f ba 31 00 72 09 e8 a3 3e ff ff 8b 44 24 18
(XEN) (r) Mem event emulation failed: d3v7 32bit @ 0008:826f6276 -> f0
0f ba 28 07 72 cc 39 53 04 75 5e 8d 43 08 8b
(XEN) (r) Mem event emulation failed: d3v8 32bit @ 0008:8267f1aa -> f0
0f ba 28 07 72 d5 8d 45 f4 50 33 ff 56 47 53
(XEN) (r) Mem event emulation failed: d3v8 32bit @ 0008:826eb861 -> f0
0f ba 30 00 72 07 8b cb e8 da 4b ff ff 8b 45
(XEN) (r) Mem event emulation failed: d3v9 32bit @ 0008:8267f1aa -> f0
0f ba 28 07 72 d5 8d 45 f4 50 33 ff 56 47 53
(XEN) (r) Mem event emulation failed: d3v9 32bit @ 0008:826eb861 -> f0
0f ba 30 00 72 07 8b cb e8 da 4b ff ff 8b 45
(XEN) (r) Mem event emulation failed: d3v9 32bit @ 0008:826ebce6 -> f0
0f c1 01 8b 7d fc c1 ef 09 81 e7 f8 ff 7f 00
(XEN) (r) Mem event emulation failed: d3v9 32bit @ 0008:826ec583 -> f0
0f c1 01 64 a1 24 01 00 00 66 ff 88 86 00 00


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.