qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>, qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH v2 1/3] include/exec: Improve probe_access_full{, _mmu} documentation
Date: Mon, 14 Oct 2024 17:22:58 -0700	[thread overview]
Message-ID: <53a01137-d47a-481c-a72c-7092c12dd7e3@linaro.org> (raw)
In-Reply-To: <20241013184733.1423747-2-richard.henderson@linaro.org>

On 10/13/24 11:47, Richard Henderson wrote:
> Suggested-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   include/exec/exec-all.h | 29 ++++++++++++++---------------
>   1 file changed, 14 insertions(+), 15 deletions(-)
> 
> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> index 72240ef426..2e4c4cc4b4 100644
> --- a/include/exec/exec-all.h
> +++ b/include/exec/exec-all.h
> @@ -368,6 +368,13 @@ int probe_access_flags(CPUArchState *env, vaddr addr, int size,
>    * The CPUTLBEntryFull structure returned via @pfull is transient
>    * and must be consumed or copied immediately, before any further
>    * access or changes to TLB @mmu_idx.
> + *
> + * This function will not fault if @nonfault is set, but will
> + * return TLB_INVALID_MASK if the page is not mapped, or is not
> + * accessible with @access_type.
> + *
> + * This function will return TLB_MMIO in order to force the access
> + * to be handled out-of-line if plugins wish to instrument the access.
>    */
>   int probe_access_full(CPUArchState *env, vaddr addr, int size,
>                         MMUAccessType access_type, int mmu_idx,
> @@ -375,22 +382,14 @@ int probe_access_full(CPUArchState *env, vaddr addr, int size,
>                         CPUTLBEntryFull **pfull, uintptr_t retaddr);
>   
>   /**
> - * probe_access_mmu() - Like probe_access_full except cannot fault and
> - * doesn't trigger instrumentation.
> + * probe_access_full_mmu:
> + * Like probe_access_full, except:
>    *
> - * @env: CPUArchState
> - * @vaddr: virtual address to probe
> - * @size: size of the probe
> - * @access_type: read, write or execute permission
> - * @mmu_idx: softmmu index
> - * @phost: ptr to return value host address or NULL
> - * @pfull: ptr to return value CPUTLBEntryFull structure or NULL
> - *
> - * The CPUTLBEntryFull structure returned via @pfull is transient
> - * and must be consumed or copied immediately, before any further
> - * access or changes to TLB @mmu_idx.
> - *
> - * Returns: TLB flags as per probe_access_flags()
> + * This function is intended to be used for page table accesses by
> + * the target mmu itself.  Since such page walking happens while
> + * handling another potential mmu fault, this function never raises
> + * exceptions (akin to @nonfault true for probe_access_full).
> + * Likewise this function does not trigger plugin instrumentation.
>    */
>   int probe_access_full_mmu(CPUArchState *env, vaddr addr, int size,
>                             MMUAccessType access_type, int mmu_idx,

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>

  reply	other threads:[~2024-10-15  0:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-13 18:47 [PATCH v2 0/3] target/i386: Use probe_access_full_mmu in ptw_translate Richard Henderson
2024-10-13 18:47 ` [PATCH v2 1/3] include/exec: Improve probe_access_full{, _mmu} documentation Richard Henderson
2024-10-15  0:22   ` Pierrick Bouvier [this message]
2024-10-15  8:12   ` [PATCH v2 1/3] include/exec: Improve probe_access_full{,_mmu} documentation Alex Bennée
2024-10-13 18:47 ` [PATCH v2 2/3] target/i386: Use probe_access_full_mmu in ptw_translate Richard Henderson
2024-10-15  8:15   ` Alex Bennée
2024-10-13 18:47 ` [PATCH v2 3/3] target/i386: Remove ra parameter from ptw_translate Richard Henderson
2024-10-14 22:10   ` Philippe Mathieu-Daudé
2024-10-22  2:01 ` [PATCH v2 0/3] target/i386: Use probe_access_full_mmu in ptw_translate Richard Henderson

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=53a01137-d47a-481c-a72c-7092c12dd7e3@linaro.org \
    --to=pierrick.bouvier@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).