[RFC PATCH 27/27] target/arm: don't access TCG code when debugging with KVM

Fabiano Rosas posted 27 patches 3 years, 1 month ago
Maintainers: Peter Maydell <peter.maydell@linaro.org>, Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
There is a newer version of this series
[RFC PATCH 27/27] target/arm: don't access TCG code when debugging with KVM
Posted by Fabiano Rosas 3 years, 1 month ago
When TCG is disabled this part of the code should not be reachable, so
wrap it with an ifdef for now.

This allows us to start using CONFIG_TCG=n (--disable-tcg in the
configure line).

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
As I understand it, only a small part of the ptw routines should be
necessary for use with KVM+gdbstub. But I don't know enough about arm
MMU yet to make that distinction.
---
 target/arm/ptw.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target/arm/ptw.c b/target/arm/ptw.c
index f812734bfb..a85eba101f 100644
--- a/target/arm/ptw.c
+++ b/target/arm/ptw.c
@@ -254,6 +254,7 @@ static bool S1_ptw_translate(CPUARMState *env, S1Translate *ptw,
         ptw->out_host = NULL;
         ptw->out_rw = false;
     } else {
+#ifdef CONFIG_TCG
         CPUTLBEntryFull *full;
         int flags;
 
@@ -270,6 +271,9 @@ static bool S1_ptw_translate(CPUARMState *env, S1Translate *ptw,
         ptw->out_rw = full->prot & PAGE_WRITE;
         pte_attrs = full->pte_attrs;
         pte_secure = full->attrs.secure;
+#else
+        g_assert_not_reached();
+#endif
     }
 
     if (regime_is_stage2(s2_mmu_idx)) {
-- 
2.35.3
Re: [RFC PATCH 27/27] target/arm: don't access TCG code when debugging with KVM
Posted by Richard Henderson 3 years, 1 month ago
On 1/4/23 13:58, Fabiano Rosas wrote:
> When TCG is disabled this part of the code should not be reachable, so
> wrap it with an ifdef for now.
> 
> This allows us to start using CONFIG_TCG=n (--disable-tcg in the
> configure line).
> 
> Signed-off-by: Fabiano Rosas<farosas@suse.de>
> ---
> As I understand it, only a small part of the ptw routines should be
> necessary for use with KVM+gdbstub. But I don't know enough about arm
> MMU yet to make that distinction.
> ---
>   target/arm/ptw.c | 4 ++++
>   1 file changed, 4 insertions(+)

If we ever hit the assert (and I can't imagine why we would from kvm), we could adjust the 
preceding test vs in_debug, which would take kvm back to the setup we had prior to the 
rewrite.

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


r~