Original email:

From: Jan Beulich <[email protected]>
Sent: Wednesday, November 24, 2021 17:27
To: Untitled YAN <[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 24.11.2021 10:23, Untitled YAN wrote:
> > 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] enproject.>org>
> > 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".
> 
> HAP is the term covering EPT on the Intel side and NPT for AMD.
> 
> Jan

Dear Jan,

Yeah that's why I wanted to confirm if the HAP is enabled for the guest - it
turns out it is enabled but for some reason, xc_altp2m_set_mem_access failed.
I am trying to replicate my setup on an Intel machine to find out if it's a
configuration problem. Still don't know if it's implemented for AMD but thanks
for your help and information.


Untitled YAN

Reply via email to