[PATCH-for-9.0] accel/tcg: Remove tb_invalidate_phys_page() from system emulation

Philippe Mathieu-Daudé posted 1 patch 12 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231130205600.35727-1-philmd@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>
include/exec/translate-all.h |  1 -
accel/tcg/tb-maint.c         | 24 +-----------------------
2 files changed, 1 insertion(+), 24 deletions(-)
[PATCH-for-9.0] accel/tcg: Remove tb_invalidate_phys_page() from system emulation
Posted by Philippe Mathieu-Daudé 12 months ago
Since previous commit, tb_invalidate_phys_page() is not used
anymore in system emulation. Make it static for user emulation
and remove its public declaration in "exec/translate-all.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Based-on: <20231130203241.31099-1-philmd@linaro.org>
---
 include/exec/translate-all.h |  1 -
 accel/tcg/tb-maint.c         | 24 +-----------------------
 2 files changed, 1 insertion(+), 24 deletions(-)

diff --git a/include/exec/translate-all.h b/include/exec/translate-all.h
index 88602ae8d8..85c9460c7c 100644
--- a/include/exec/translate-all.h
+++ b/include/exec/translate-all.h
@@ -23,7 +23,6 @@
 
 
 /* translate-all.c */
-void tb_invalidate_phys_page(tb_page_addr_t addr);
 void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr);
 
 #ifdef CONFIG_USER_ONLY
diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c
index 3d2a896220..da39a43bd8 100644
--- a/accel/tcg/tb-maint.c
+++ b/accel/tcg/tb-maint.c
@@ -1021,7 +1021,7 @@ void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t last)
  * Called with mmap_lock held for user-mode emulation
  * NOTE: this function must not be called while a TB is running.
  */
-void tb_invalidate_phys_page(tb_page_addr_t addr)
+static void tb_invalidate_phys_page(tb_page_addr_t addr)
 {
     tb_page_addr_t start, last;
 
@@ -1160,28 +1160,6 @@ tb_invalidate_phys_page_range__locked(struct page_collection *pages,
 #endif
 }
 
-/*
- * Invalidate all TBs which intersect with the target physical
- * address page @addr.
- */
-void tb_invalidate_phys_page(tb_page_addr_t addr)
-{
-    struct page_collection *pages;
-    tb_page_addr_t start, last;
-    PageDesc *p;
-
-    p = page_find(addr >> TARGET_PAGE_BITS);
-    if (p == NULL) {
-        return;
-    }
-
-    start = addr & TARGET_PAGE_MASK;
-    last = addr | ~TARGET_PAGE_MASK;
-    pages = page_collection_lock(start, last);
-    tb_invalidate_phys_page_range__locked(pages, p, start, last, 0);
-    page_collection_unlock(pages);
-}
-
 /*
  * Invalidate all TBs which intersect with the target physical address range
  * [start;last]. NOTE: start and end may refer to *different* physical pages.
-- 
2.41.0


Re: [PATCH-for-9.0] accel/tcg: Remove tb_invalidate_phys_page() from system emulation
Posted by Richard Henderson 10 months, 3 weeks ago
On 12/1/23 07:56, Philippe Mathieu-Daudé wrote:
> Since previous commit, tb_invalidate_phys_page() is not used
> anymore in system emulation. Make it static for user emulation
> and remove its public declaration in "exec/translate-all.h".
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> Based-on: <20231130203241.31099-1-philmd@linaro.org>
> ---
>   include/exec/translate-all.h |  1 -
>   accel/tcg/tb-maint.c         | 24 +-----------------------
>   2 files changed, 1 insertion(+), 24 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~

Re: [PATCH-for-9.0] accel/tcg: Remove tb_invalidate_phys_page() from system emulation
Posted by Philippe Mathieu-Daudé 10 months, 3 weeks ago
ping?

On 30/11/23 21:56, Philippe Mathieu-Daudé wrote:
> Since previous commit, tb_invalidate_phys_page() is not used
> anymore in system emulation. Make it static for user emulation
> and remove its public declaration in "exec/translate-all.h".
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> Based-on: <20231130203241.31099-1-philmd@linaro.org>
> ---
>   include/exec/translate-all.h |  1 -
>   accel/tcg/tb-maint.c         | 24 +-----------------------
>   2 files changed, 1 insertion(+), 24 deletions(-)
> 
> diff --git a/include/exec/translate-all.h b/include/exec/translate-all.h
> index 88602ae8d8..85c9460c7c 100644
> --- a/include/exec/translate-all.h
> +++ b/include/exec/translate-all.h
> @@ -23,7 +23,6 @@
>   
>   
>   /* translate-all.c */
> -void tb_invalidate_phys_page(tb_page_addr_t addr);
>   void tb_check_watchpoint(CPUState *cpu, uintptr_t retaddr);
>   
>   #ifdef CONFIG_USER_ONLY
> diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c
> index 3d2a896220..da39a43bd8 100644
> --- a/accel/tcg/tb-maint.c
> +++ b/accel/tcg/tb-maint.c
> @@ -1021,7 +1021,7 @@ void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t last)
>    * Called with mmap_lock held for user-mode emulation
>    * NOTE: this function must not be called while a TB is running.
>    */
> -void tb_invalidate_phys_page(tb_page_addr_t addr)
> +static void tb_invalidate_phys_page(tb_page_addr_t addr)
>   {
>       tb_page_addr_t start, last;
>   
> @@ -1160,28 +1160,6 @@ tb_invalidate_phys_page_range__locked(struct page_collection *pages,
>   #endif
>   }
>   
> -/*
> - * Invalidate all TBs which intersect with the target physical
> - * address page @addr.
> - */
> -void tb_invalidate_phys_page(tb_page_addr_t addr)
> -{
> -    struct page_collection *pages;
> -    tb_page_addr_t start, last;
> -    PageDesc *p;
> -
> -    p = page_find(addr >> TARGET_PAGE_BITS);
> -    if (p == NULL) {
> -        return;
> -    }
> -
> -    start = addr & TARGET_PAGE_MASK;
> -    last = addr | ~TARGET_PAGE_MASK;
> -    pages = page_collection_lock(start, last);
> -    tb_invalidate_phys_page_range__locked(pages, p, start, last, 0);
> -    page_collection_unlock(pages);
> -}
> -
>   /*
>    * Invalidate all TBs which intersect with the target physical address range
>    * [start;last]. NOTE: start and end may refer to *different* physical pages.