diff mbox

[1/2] Fix tlb_vaddr_to_host with CONFIG_USER_ONLY

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

Commit Message

Benjamin Herrenschmidt Aug. 3, 2016, 3:15 a.m. UTC
We use the wrong argument name for the g2h() macro !

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

Not sure who to CC for this...

 include/exec/cpu_ldst.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell Aug. 3, 2016, 11:19 a.m. UTC | #1
On 3 August 2016 at 04:15, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> We use the wrong argument name for the g2h() macro !
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
>
> Not sure who to CC for this...
>
>  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];

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

I don't understand why this didn't cause compile failures...

thanks
-- PMM
Benjamin Herrenschmidt Aug. 3, 2016, 11:33 a.m. UTC | #2
On Wed, 2016-08-03 at 12:19 +0100, Peter Maydell wrote:

> I don't understand why this didn't cause compile failures...

I didn't either. I found:

include/qom/cpu.h:typedef uint64_t vaddr;

So g2h becomes something like (target_ulong)(uint64) + guest_base

Which does build ;-)

Cheers,
Ben.
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];