Altp2m is only available on Intel, mem_access (restricting permissions) is
only available on Intel and ARM. No technical reason for it not working on
AMD, it just hasn't been implemented in Xen.

Tamas

On Wed, Nov 24, 2021, 4:44 AM Untitled YAN <yanluyi2...@hotmail.com> wrote:

> Original email:
>
> From: Jan Beulich <jbeul...@suse.com>
> Sent: Wednesday, November 24, 2021 17:27
> To: Untitled YAN <yanluyi2...@hotmail.com>
> Cc: ta...@tklengyel.com <ta...@tklengyel.com>; aisa...@bitdefender.com <
> aisa...@bitdefender.com>; ppircal...@bitdefender.com <
> ppircal...@bitdefender.com>; xen-devel@lists.xenproject.org <
> xen-devel@lists.xenproject.org>
> Subject: Re: About support for memory event on AMD CPUs
>
> > On 24.11.2021 10:23, Untitled YAN wrote:
> > > Original email:
> > >
> > > From: Jan Beulich <jbeul...@suse.com>
> > > Sent: Wednesday, November 24, 2021 15:54
> > > To: YAN Untitled <yanluyi2...@hotmail.com>
> > > Cc: ta...@tklengyel.com <ta...@tklengyel.com>; aisa...@bitdefender.com
> <aisa...@bitdefender.com>; ppircal...@bitdefender.com <
> ppircal...@bitdefender.com>; xen-devel@lists.xenproject.org
> <xen-devel@lists.x 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