[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 21/24] accel/tcg: Fix typo causing tb->page_addr[1] to not be reco
From: |
Richard Henderson |
Subject: |
[PULL 21/24] accel/tcg: Fix typo causing tb->page_addr[1] to not be recorded |
Date: |
Wed, 19 Jun 2024 13:59:49 -0700 |
From: Anton Johansson <anjo@rev.ng>
For TBs crossing page boundaries, the 2nd page will never be
recorded/removed, as the index of the 2nd page is computed from the
address of the 1st page. This is due to a typo, fix it.
Cc: qemu-stable@nongnu.org
Fixes: deba78709a ("accel/tcg: Always lock pages before translation")
Signed-off-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240612133031.15298-1-anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
accel/tcg/tb-maint.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c
index 19ae6793f3..cc0f5afd47 100644
--- a/accel/tcg/tb-maint.c
+++ b/accel/tcg/tb-maint.c
@@ -713,7 +713,7 @@ static void tb_record(TranslationBlock *tb)
tb_page_addr_t paddr0 = tb_page_addr0(tb);
tb_page_addr_t paddr1 = tb_page_addr1(tb);
tb_page_addr_t pindex0 = paddr0 >> TARGET_PAGE_BITS;
- tb_page_addr_t pindex1 = paddr0 >> TARGET_PAGE_BITS;
+ tb_page_addr_t pindex1 = paddr1 >> TARGET_PAGE_BITS;
assert(paddr0 != -1);
if (unlikely(paddr1 != -1) && pindex0 != pindex1) {
@@ -745,7 +745,7 @@ static void tb_remove(TranslationBlock *tb)
tb_page_addr_t paddr0 = tb_page_addr0(tb);
tb_page_addr_t paddr1 = tb_page_addr1(tb);
tb_page_addr_t pindex0 = paddr0 >> TARGET_PAGE_BITS;
- tb_page_addr_t pindex1 = paddr0 >> TARGET_PAGE_BITS;
+ tb_page_addr_t pindex1 = paddr1 >> TARGET_PAGE_BITS;
assert(paddr0 != -1);
if (unlikely(paddr1 != -1) && pindex0 != pindex1) {
--
2.34.1
- [PULL 10/24] tcg/loongarch64: Support LASX in tcg_out_dupi_vec, (continued)
- [PULL 10/24] tcg/loongarch64: Support LASX in tcg_out_dupi_vec, Richard Henderson, 2024/06/19
- [PULL 08/24] tcg/loongarch64: Support LASX in tcg_out_dupm_vec, Richard Henderson, 2024/06/19
- [PULL 09/24] tcg/loongarch64: Use tcg_out_dup_vec in tcg_out_dupi_vec, Richard Henderson, 2024/06/19
- [PULL 12/24] tcg/loongarch64: Support LASX in tcg_out_addsub_vec, Richard Henderson, 2024/06/19
- [PULL 06/24] tcg/loongarch64: Simplify tcg_out_dup_vec, Richard Henderson, 2024/06/19
- [PULL 07/24] tcg/loongarch64: Support LASX in tcg_out_dup_vec, Richard Henderson, 2024/06/19
- [PULL 11/24] tcg/loongarch64: Simplify tcg_out_addsub_vec, Richard Henderson, 2024/06/19
- [PULL 13/24] tcg/loongarch64: Split out vdvjvk in tcg_out_vec_op, Richard Henderson, 2024/06/19
- [PULL 14/24] tcg/loongarch64: Support LASX in tcg_out_{mov,ld,st}, Richard Henderson, 2024/06/19
- [PULL 17/24] tcg/loongarch64: Support LASX in tcg_out_vec_op, Richard Henderson, 2024/06/19
- [PULL 21/24] accel/tcg: Fix typo causing tb->page_addr[1] to not be recorded,
Richard Henderson <=
- [PULL 15/24] tcg/loongarch64: Remove temp_vec from tcg_out_vec_op, Richard Henderson, 2024/06/19
- [PULL 16/24] tcg/loongarch64: Split out vdvjukN in tcg_out_vec_op, Richard Henderson, 2024/06/19
- [PULL 18/24] tcg/loongarch64: Enable v256 with LASX, Richard Henderson, 2024/06/19
- [PULL 22/24] linux-user: Make TARGET_NR_setgroups affect only the current thread, Richard Henderson, 2024/06/19
- [PULL 19/24] util/bufferiszero: Split out host include files, Richard Henderson, 2024/06/19
- [PULL 24/24] tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers, Richard Henderson, 2024/06/19
- [PULL 20/24] util/bufferiszero: Add loongarch64 vector acceleration, Richard Henderson, 2024/06/19
- [PULL 23/24] target/sparc: use signed denominator in sdiv helper, Richard Henderson, 2024/06/19
- Re: [PULL 00/24] tcg patch queue, Richard Henderson, 2024/06/20