diff mbox

Fix tlb_vaddr_to_host with CONFIG_USER_ONLY

Message ID 1474492918.2857.129.camel@kernel.crashing.org (mailing list archive)
State New, archived
Headers show

Commit Message

Benjamin Herrenschmidt Sept. 21, 2016, 9:21 p.m. UTC
We use the wrong argument name for the g2h() macro !

The result ends up being something like (target_ulong)(uint64) + guest_base
which is obviously wrong.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 include/exec/cpu_ldst.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Laurent Vivier Sept. 22, 2016, 7:51 a.m. UTC | #1
On 21/09/2016 23:21, Benjamin Herrenschmidt wrote:
> We use the wrong argument name for the g2h() macro !
> 
> The result ends up being something like (target_ulong)(uint64) + guest_base
> which is obviously wrong.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Tested-by; Laurent Vivier <lvivier@redhat.com>

Your original mail has the R-b from pmaydell, my duplicate patch from
aurel32.

And according to get_maintainer script, maintainers are: pbonzini,
crosthwaite.peter, rth@twiddle.net


Thanks,
Laurent

> ---
>  include/exec/cpu_ldst.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
> index b573df5..6eb5fe8 100644
> --- a/include/exec/cpu_ldst.h
> +++ b/include/exec/cpu_ldst.h
> @@ -401,7 +401,7 @@ static inline void *tlb_vaddr_to_host(CPUArchState *env, target_ulong addr,
>                                        int access_type, int mmu_idx)
>  {
>  #if defined(CONFIG_USER_ONLY)
> -    return g2h(vaddr);
> +    return g2h(addr);
>  #else
>      int index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
>      CPUTLBEntry *tlbentry = &env->tlb_table[mmu_idx][index];
> 
>
diff mbox

Patch

diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
index b573df5..6eb5fe8 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
@@ -401,7 +401,7 @@  static inline void *tlb_vaddr_to_host(CPUArchState *env, target_ulong addr,
                                       int access_type, int mmu_idx)
 {
 #if defined(CONFIG_USER_ONLY)
-    return g2h(vaddr);
+    return g2h(addr);
 #else
     int index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
     CPUTLBEntry *tlbentry = &env->tlb_table[mmu_idx][index];