Original email:

From: Jan Beulich <[email protected]>
Sent: Wednesday, November 24, 2021 15:54
To: YAN Untitled <[email protected]>
Cc: [email protected] <[email protected]>; [email protected] 
<[email protected]>; [email protected] 
<[email protected]>; [email protected] 
<[email protected]>
Subject: Re: About support for memory event on AMD CPUs 
 
> On 23.11.2021 18:14, YAN Untitled wrote:
> > Dear developers,
> > 
> > Short version: is memory event supported on AMD CPUs or is it going to be
> > supported?
> > 
> > Long version:
> > 
> > Environment: LibVMI 0.15.0 + Xen 4.14.3 on an **AMD CPU** (5950x), 64-bit
> > Debian 11 Dom0.
> > 
> > What I am trying to accomplish: register a **memory event** handler, so that
> > I can capture all memory accesses within a specific range issued by any 
> > thread,
> > or all memory accesses within any range issued by a specific thread.
> > 
> > What I got instead: an error from LibVMI saying
> > "xc_hvm_set_mem_access failed with code: -1".
> > 
> > Some investigation: by inspecting the source code of LibVMI, I find the 
> > direct
> > cause is one of the libxc functions, 1) xc_set_mem_access or
> > 2) xc_altp2m_set_mem_access, returned error code -1.
> > 
> > After some searching, I found someone else having a similar problem [1]. I 
> > also
> > noted LibVMI says:
> > 
> >> Currently only the Xen Hypervisor provides these features,
> >> and some of these are specifically only available on Intel CPUs
> > 
> > However, I can't find the exact confirmation for the availability of memory
> > event on AMD CPUs from https://wiki.xenproject.org.
> 
> Aiui underlying what you want is altp2m, which presently depends (in
> the hypervisor) on EPT being available (and in use for the guest in
> question).
> 
> Jan

Dear Jan,

Thanks for your reply. I really appreciate the information. After some
searching with the keyword "EPT" I found [1]. So I checked on dom0 with
"xl dmesg | grep HAP", which says:

> (XEN) HVM: Hardware Assisted Paging (HAP) detected
> (XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB

And the guest is an HVM guest running Debian 10 with kernel v4.16 built from
source. Most of the configuration of the guest is generated by virt-manager.
The "xl list -l" shows that there is no explicit configuration for EPT, RVI or
HAP, but it does say the "type" is "hvm". So I am still quite confusing:

1. Is memory event feature for AMD's RVI is even implemented?
2. If memory event should be working on AMD CPUs with RVI enabled, am I missing
   any essential step to make it work?

[1] https://groups.google.com/g/vmitools/c/JRN11E64BNY


Untitled YAN

Reply via email to