qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/4] target/ppc: divided mmu_helper.c in 2 files


From: Lucas Mateus Martins Araujo e Castro
Subject: Re: [PATCH v3 2/4] target/ppc: divided mmu_helper.c in 2 files
Date: Wed, 14 Jul 2021 08:23:47 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0


On 08/07/2021 15:09, Richard Henderson wrote:

On 7/8/21 9:49 AM, Lucas Mateus Castro (alqotel) wrote:
+++ b/target/ppc/cpu.h
@@ -1327,6 +1327,26 @@ void store_40x_dbcr0(CPUPPCState *env, uint32_t val);
  void store_40x_sler(CPUPPCState *env, uint32_t val);
  void store_booke_tcr(CPUPPCState *env, target_ulong val);
  void store_booke_tsr(CPUPPCState *env, target_ulong val);
+typedef struct mmu_ctx_t mmu_ctx_t;
+bool ppc_xlate(PowerPCCPU *cpu, vaddr eaddr, MMUAccessType access_type,
+                      hwaddr *raddrp, int *psizep, int *protp,
+                      int mmu_idx, bool guest_visible);
+int ppcmas_tlb_check(CPUPPCState *env, ppcmas_tlb_t *tlb,
+                            hwaddr *raddrp, target_ulong address,
+                            uint32_t pid);
+int ppcemb_tlb_check(CPUPPCState *env, ppcemb_tlb_t *tlb,
+                            hwaddr *raddrp,
+                            target_ulong address, uint32_t pid, int ext,
+                            int i);
+int get_physical_address_wtlb(CPUPPCState *env, mmu_ctx_t *ctx,
+                                     target_ulong eaddr,
+                                     MMUAccessType access_type, int type,
+                                     int mmu_idx);
+hwaddr booke206_tlb_to_page_size(CPUPPCState *env,
+                                        ppcmas_tlb_t *tlb);
+/* Software driven TLB helpers */
+int ppc6xx_tlb_getnum(CPUPPCState *env, target_ulong eaddr,
+                                    int way, int is_code);

Why are any of these going into cpu.h?
Surely they are not used outside of target/ppc/.
At first I divided between internal.h and cpu.h based on what I thought really shouldn't be used outside target/ppc, but looking back my logic was flawed since all of this was inside mmu_helper.c, so it was only visible inside mmu_helper.c, therefore none of it should be used outside target/ppc. I'll fix this in the next version.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]