[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 6/6] exec/cpu_ldst: Move tlb* declarations to "exec/exec-all.
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 6/6] exec/cpu_ldst: Move tlb* declarations to "exec/exec-all.h" |
Date: |
Mon, 8 Feb 2021 00:20:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 2/7/21 11:57 PM, Philippe Mathieu-Daudé wrote:
> Keep MMU functions in "exec/cpu_ldst.h", and move TLB functions
> to "exec/exec-all.h". As tlb_addr_write() is only called in
> accel/tcg/cputlb.c, make move it there as a static function.
>
> Doing so we removed the "tcg/tcg.h" dependency on "exec/cpu_ldst.h".
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> include/exec/cpu_ldst.h | 52 -----------------------------------------
> include/exec/exec-all.h | 38 ++++++++++++++++++++++++++++++
> accel/tcg/cputlb.c | 9 +++++++
> 3 files changed, 47 insertions(+), 52 deletions(-)
> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> index c5e8e355b7f..5024b9abd4a 100644
> --- a/include/exec/exec-all.h
> +++ b/include/exec/exec-all.h
> @@ -297,6 +297,38 @@ void tlb_set_page(CPUState *cpu, target_ulong vaddr,
> hwaddr paddr, int prot,
> int mmu_idx, target_ulong size);
>
> +/**
> + * tlb_vaddr_to_host:
> + * @env: CPUArchState
> + * @addr: guest virtual address to look up
> + * @access_type: 0 for read, 1 for write, 2 for execute
> + * @mmu_idx: MMU index to use for lookup
> + *
> + * Look up the specified guest virtual index in the TCG softmmu TLB.
> + * If we can translate a host virtual address suitable for direct RAM
> + * access, without causing a guest exception, then return it.
> + * Otherwise (TLB entry is for an I/O access, guest software
> + * TLB fill required, etc) return NULL.
> + */
> +void *tlb_vaddr_to_host(CPUArchState *env, abi_ptr addr,
> + MMUAccessType access_type, int mmu_idx);
Non-TCG build failure because abi_ptr is defined in "exec/cpu_ldst.h":
typedef target_ulong abi_ptr;
- [RFC PATCH 0/6] exec: Remove "tcg/tcg.h" from "exec/cpu_ldst.h", Philippe Mathieu-Daudé, 2021/02/07
- [RFC PATCH 1/6] target: Replace tcg_debug_assert() by assert(), Philippe Mathieu-Daudé, 2021/02/07
- [PATCH 2/6] target/m68k: Include missing "tcg/tcg.h" header, Philippe Mathieu-Daudé, 2021/02/07
- [PATCH 3/6] target/mips: Include missing "tcg/tcg.h" header, Philippe Mathieu-Daudé, 2021/02/07
- [PATCH 4/6] accel/tcg: Include missing "tcg/tcg.h" header, Philippe Mathieu-Daudé, 2021/02/07
- [RFC PATCH 5/6] accel/tcg: Refactor debugging tlb_assert_iotlb_entry_for_ptr_present(), Philippe Mathieu-Daudé, 2021/02/07
- [PATCH 6/6] exec/cpu_ldst: Move tlb* declarations to "exec/exec-all.h", Philippe Mathieu-Daudé, 2021/02/07
- Re: [PATCH 6/6] exec/cpu_ldst: Move tlb* declarations to "exec/exec-all.h",
Philippe Mathieu-Daudé <=