* [PATCH 0/3] target/ppc: MMU debug fixes @ 2021-07-02 21:52 Fabiano Rosas 2021-07-02 21:52 ` [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option Fabiano Rosas ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Fabiano Rosas @ 2021-07-02 21:52 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-ppc, groug, david Some fixes for the commented-out debug options in MMU code. Since v2: - added a fix for DEBUG_BATS v1: https://lists.nongnu.org/archive/html/qemu-ppc/2021-07/msg00004.html Fabiano Rosas (3): target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option target/ppc: Fix compilation with FLUSH_ALL_TLBS debug option target/ppc: Fix compilation with DEBUG_BATS debug option target/ppc/mmu-hash32.c | 5 ++++- target/ppc/mmu-hash32.h | 2 ++ target/ppc/mmu_helper.c | 10 +--------- 3 files changed, 7 insertions(+), 10 deletions(-) -- 2.29.2 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option 2021-07-02 21:52 [PATCH 0/3] target/ppc: MMU debug fixes Fabiano Rosas @ 2021-07-02 21:52 ` Fabiano Rosas 2021-07-03 7:29 ` David Gibson 2021-07-02 21:52 ` [PATCH 2/3] target/ppc: Fix compilation with FLUSH_ALL_TLBS " Fabiano Rosas 2021-07-02 21:52 ` [PATCH 3/3] target/ppc: Fix compilation with DEBUG_BATS " Fabiano Rosas 2 siblings, 1 reply; 7+ messages in thread From: Fabiano Rosas @ 2021-07-02 21:52 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-ppc, groug, david ../target/ppc/mmu_helper.c: In function 'get_segment_6xx_tlb': ../target/ppc/mmu_helper.c:514:46: error: passing argument 1 of 'ppc_hash32_hpt_mask' from incompatible pointer type [-Werror=incompatible-pointer-types] 514 | ppc_hash32_hpt_mask(env) + 0x80); | ^~~ | | | CPUPPCState * Fixes: 36778660d7 ("target/ppc: Eliminate htab_base and htab_mask variables") Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- target/ppc/mmu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c index 1ecb36e85a..ff2c6bdd8c 100644 --- a/target/ppc/mmu_helper.c +++ b/target/ppc/mmu_helper.c @@ -511,7 +511,7 @@ static int get_segment_6xx_tlb(CPUPPCState *env, mmu_ctx_t *ctx, qemu_log("Page table: " TARGET_FMT_plx " len " TARGET_FMT_plx "\n", ppc_hash32_hpt_base(cpu), - ppc_hash32_hpt_mask(env) + 0x80); + ppc_hash32_hpt_mask(cpu) + 0x80); for (curaddr = ppc_hash32_hpt_base(cpu); curaddr < (ppc_hash32_hpt_base(cpu) + ppc_hash32_hpt_mask(cpu) + 0x80); -- 2.29.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option 2021-07-02 21:52 ` [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option Fabiano Rosas @ 2021-07-03 7:29 ` David Gibson 0 siblings, 0 replies; 7+ messages in thread From: David Gibson @ 2021-07-03 7:29 UTC (permalink / raw) To: Fabiano Rosas; +Cc: qemu-ppc, qemu-devel, groug [-- Attachment #1: Type: text/plain, Size: 1749 bytes --] On Fri, Jul 02, 2021 at 06:52:33PM -0300, Fabiano Rosas wrote: > ../target/ppc/mmu_helper.c: In function 'get_segment_6xx_tlb': > ../target/ppc/mmu_helper.c:514:46: error: passing argument 1 of > 'ppc_hash32_hpt_mask' from incompatible pointer type [-Werror=incompatible-pointer-types] > > 514 | ppc_hash32_hpt_mask(env) + 0x80); > | ^~~ > | | > | CPUPPCState * > > Fixes: 36778660d7 ("target/ppc: Eliminate htab_base and htab_mask variables") > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> Applied to ppc-for-6.1, thanks. > --- > target/ppc/mmu_helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c > index 1ecb36e85a..ff2c6bdd8c 100644 > --- a/target/ppc/mmu_helper.c > +++ b/target/ppc/mmu_helper.c > @@ -511,7 +511,7 @@ static int get_segment_6xx_tlb(CPUPPCState *env, mmu_ctx_t *ctx, > > qemu_log("Page table: " TARGET_FMT_plx " len " TARGET_FMT_plx > "\n", ppc_hash32_hpt_base(cpu), > - ppc_hash32_hpt_mask(env) + 0x80); > + ppc_hash32_hpt_mask(cpu) + 0x80); > for (curaddr = ppc_hash32_hpt_base(cpu); > curaddr < (ppc_hash32_hpt_base(cpu) > + ppc_hash32_hpt_mask(cpu) + 0x80); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/3] target/ppc: Fix compilation with FLUSH_ALL_TLBS debug option 2021-07-02 21:52 [PATCH 0/3] target/ppc: MMU debug fixes Fabiano Rosas 2021-07-02 21:52 ` [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option Fabiano Rosas @ 2021-07-02 21:52 ` Fabiano Rosas 2021-07-03 7:31 ` David Gibson 2021-07-02 21:52 ` [PATCH 3/3] target/ppc: Fix compilation with DEBUG_BATS " Fabiano Rosas 2 siblings, 1 reply; 7+ messages in thread From: Fabiano Rosas @ 2021-07-02 21:52 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-ppc, groug, david ../target/ppc/mmu_helper.c: In function 'helper_store_ibatu': ../target/ppc/mmu_helper.c:1802:17: error: unused variable 'cpu' [-Werror=unused-variable] 1802 | PowerPCCPU *cpu = env_archcpu(env); | ^~~ ../target/ppc/mmu_helper.c: In function 'helper_store_dbatu': ../target/ppc/mmu_helper.c:1838:17: error: unused variable 'cpu' [-Werror=unused-variable] 1838 | PowerPCCPU *cpu = env_archcpu(env); | ^~~ ../target/ppc/mmu_helper.c: In function 'helper_store_601_batu': ../target/ppc/mmu_helper.c:1874:17: error: unused variable 'cpu' [-Werror=unused-variable] 1874 | PowerPCCPU *cpu = env_archcpu(env); | ^~~ ../target/ppc/mmu_helper.c: In function 'helper_store_601_batl': ../target/ppc/mmu_helper.c:1919:17: error: unused variable 'cpu' [-Werror=unused-variable] 1919 | PowerPCCPU *cpu = env_archcpu(env); Fixes: db70b31144 ("target/ppc: Use env_cpu, env_archcpu") Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- target/ppc/mmu_helper.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c index ff2c6bdd8c..67caba6369 100644 --- a/target/ppc/mmu_helper.c +++ b/target/ppc/mmu_helper.c @@ -1798,9 +1798,6 @@ static inline void dump_store_bat(CPUPPCState *env, char ID, int ul, int nr, void helper_store_ibatu(CPUPPCState *env, uint32_t nr, target_ulong value) { target_ulong mask; -#if defined(FLUSH_ALL_TLBS) - PowerPCCPU *cpu = env_archcpu(env); -#endif dump_store_bat(env, 'I', 0, nr, value); if (env->IBAT[0][nr] != value) { @@ -1834,9 +1831,6 @@ void helper_store_ibatl(CPUPPCState *env, uint32_t nr, target_ulong value) void helper_store_dbatu(CPUPPCState *env, uint32_t nr, target_ulong value) { target_ulong mask; -#if defined(FLUSH_ALL_TLBS) - PowerPCCPU *cpu = env_archcpu(env); -#endif dump_store_bat(env, 'D', 0, nr, value); if (env->DBAT[0][nr] != value) { @@ -1871,7 +1865,6 @@ void helper_store_601_batu(CPUPPCState *env, uint32_t nr, target_ulong value) { target_ulong mask; #if defined(FLUSH_ALL_TLBS) - PowerPCCPU *cpu = env_archcpu(env); int do_inval; #endif @@ -1916,7 +1909,6 @@ void helper_store_601_batl(CPUPPCState *env, uint32_t nr, target_ulong value) #if !defined(FLUSH_ALL_TLBS) target_ulong mask; #else - PowerPCCPU *cpu = env_archcpu(env); int do_inval; #endif -- 2.29.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/3] target/ppc: Fix compilation with FLUSH_ALL_TLBS debug option 2021-07-02 21:52 ` [PATCH 2/3] target/ppc: Fix compilation with FLUSH_ALL_TLBS " Fabiano Rosas @ 2021-07-03 7:31 ` David Gibson 0 siblings, 0 replies; 7+ messages in thread From: David Gibson @ 2021-07-03 7:31 UTC (permalink / raw) To: Fabiano Rosas; +Cc: qemu-ppc, qemu-devel, groug [-- Attachment #1: Type: text/plain, Size: 2909 bytes --] On Fri, Jul 02, 2021 at 06:52:34PM -0300, Fabiano Rosas wrote: > ../target/ppc/mmu_helper.c: In function 'helper_store_ibatu': > ../target/ppc/mmu_helper.c:1802:17: error: unused variable 'cpu' [-Werror=unused-variable] > 1802 | PowerPCCPU *cpu = env_archcpu(env); > | ^~~ > ../target/ppc/mmu_helper.c: In function 'helper_store_dbatu': > ../target/ppc/mmu_helper.c:1838:17: error: unused variable 'cpu' [-Werror=unused-variable] > 1838 | PowerPCCPU *cpu = env_archcpu(env); > | ^~~ > ../target/ppc/mmu_helper.c: In function 'helper_store_601_batu': > ../target/ppc/mmu_helper.c:1874:17: error: unused variable 'cpu' [-Werror=unused-variable] > 1874 | PowerPCCPU *cpu = env_archcpu(env); > | ^~~ > ../target/ppc/mmu_helper.c: In function 'helper_store_601_batl': > ../target/ppc/mmu_helper.c:1919:17: error: unused variable 'cpu' [-Werror=unused-variable] > 1919 | PowerPCCPU *cpu = env_archcpu(env); > > Fixes: db70b31144 ("target/ppc: Use env_cpu, env_archcpu") > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> Applied to ppc-for-6.1, thanks. > --- > target/ppc/mmu_helper.c | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c > index ff2c6bdd8c..67caba6369 100644 > --- a/target/ppc/mmu_helper.c > +++ b/target/ppc/mmu_helper.c > @@ -1798,9 +1798,6 @@ static inline void dump_store_bat(CPUPPCState *env, char ID, int ul, int nr, > void helper_store_ibatu(CPUPPCState *env, uint32_t nr, target_ulong value) > { > target_ulong mask; > -#if defined(FLUSH_ALL_TLBS) > - PowerPCCPU *cpu = env_archcpu(env); > -#endif > > dump_store_bat(env, 'I', 0, nr, value); > if (env->IBAT[0][nr] != value) { > @@ -1834,9 +1831,6 @@ void helper_store_ibatl(CPUPPCState *env, uint32_t nr, target_ulong value) > void helper_store_dbatu(CPUPPCState *env, uint32_t nr, target_ulong value) > { > target_ulong mask; > -#if defined(FLUSH_ALL_TLBS) > - PowerPCCPU *cpu = env_archcpu(env); > -#endif > > dump_store_bat(env, 'D', 0, nr, value); > if (env->DBAT[0][nr] != value) { > @@ -1871,7 +1865,6 @@ void helper_store_601_batu(CPUPPCState *env, uint32_t nr, target_ulong value) > { > target_ulong mask; > #if defined(FLUSH_ALL_TLBS) > - PowerPCCPU *cpu = env_archcpu(env); > int do_inval; > #endif > > @@ -1916,7 +1909,6 @@ void helper_store_601_batl(CPUPPCState *env, uint32_t nr, target_ulong value) > #if !defined(FLUSH_ALL_TLBS) > target_ulong mask; > #else > - PowerPCCPU *cpu = env_archcpu(env); > int do_inval; > #endif > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] target/ppc: Fix compilation with DEBUG_BATS debug option 2021-07-02 21:52 [PATCH 0/3] target/ppc: MMU debug fixes Fabiano Rosas 2021-07-02 21:52 ` [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option Fabiano Rosas 2021-07-02 21:52 ` [PATCH 2/3] target/ppc: Fix compilation with FLUSH_ALL_TLBS " Fabiano Rosas @ 2021-07-02 21:52 ` Fabiano Rosas 2021-07-03 7:32 ` David Gibson 2 siblings, 1 reply; 7+ messages in thread From: Fabiano Rosas @ 2021-07-02 21:52 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-ppc, groug, david ../target/ppc/mmu-hash32.c: In function 'ppc_hash32_bat_lookup': ../target/ppc/mmu-hash32.c:204:13: error: 'BATu' undeclared (first use in this function); 204 | BATu = &BATut[i]; | ^~~~ | BATut ../target/ppc/mmu-hash32.c:205:13: error: 'BATl' undeclared (first use in this function); 205 | BATl = &BATlt[i]; | ^~~~ | BATlt ../target/ppc/mmu-hash32.c:206:13: error: 'BEPIu' undeclared (first use in this function) 206 | BEPIu = *BATu & BATU32_BEPIU; | ^~~~~ ../target/ppc/mmu-hash32.c:206:29: error: 'BATU32_BEPIU' undeclared (first use in this function); 206 | BEPIu = *BATu & BATU32_BEPIU; | ^~~~~~~~~~~~ | BATU32_BEPI ../target/ppc/mmu-hash32.c:207:13: error: 'BEPIl' undeclared (first use in this function) 207 | BEPIl = *BATu & BATU32_BEPIL; | ^~~~~ ../target/ppc/mmu-hash32.c:207:29: error: 'BATU32_BEPIL' undeclared (first use in this function); 207 | BEPIl = *BATu & BATU32_BEPIL; | ^~~~~~~~~~~~ | BATU32_BEPI ../target/ppc/mmu-hash32.c:208:13: error: 'bl' undeclared (first use in this function) 208 | bl = (*BATu & 0x00001FFC) << 15; | ^~ Fixes: 9813279664 ("target-ppc: Disentangle BAT code for 32-bit hash MMUs") Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- target/ppc/mmu-hash32.c | 5 ++++- target/ppc/mmu-hash32.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/target/ppc/mmu-hash32.c b/target/ppc/mmu-hash32.c index 9f0a497657..330bb0432e 100644 --- a/target/ppc/mmu-hash32.c +++ b/target/ppc/mmu-hash32.c @@ -27,7 +27,7 @@ #include "mmu-hash32.h" #include "exec/log.h" -/* #define DEBUG_BAT */ +/* #define DEBUG_BATS */ #ifdef DEBUG_BATS # define LOG_BATS(...) qemu_log_mask(CPU_LOG_MMU, __VA_ARGS__) @@ -199,6 +199,9 @@ static hwaddr ppc_hash32_bat_lookup(PowerPCCPU *cpu, target_ulong ea, /* No hit */ #if defined(DEBUG_BATS) if (qemu_log_enabled()) { + target_ulong *BATu, *BATl; + target_ulong BEPIl, BEPIu, bl; + LOG_BATS("no BAT match for " TARGET_FMT_lx ":\n", ea); for (i = 0; i < 4; i++) { BATu = &BATut[i]; diff --git a/target/ppc/mmu-hash32.h b/target/ppc/mmu-hash32.h index 898021f0d8..4fdeaf1937 100644 --- a/target/ppc/mmu-hash32.h +++ b/target/ppc/mmu-hash32.h @@ -22,6 +22,8 @@ int ppc_hash32_handle_mmu_fault(PowerPCCPU *cpu, vaddr address, int rw, * Block Address Translation (BAT) definitions */ +#define BATU32_BEPIU 0xf0000000 +#define BATU32_BEPIL 0x0ffe0000 #define BATU32_BEPI 0xfffe0000 #define BATU32_BL 0x00001ffc #define BATU32_VS 0x00000002 -- 2.29.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] target/ppc: Fix compilation with DEBUG_BATS debug option 2021-07-02 21:52 ` [PATCH 3/3] target/ppc: Fix compilation with DEBUG_BATS " Fabiano Rosas @ 2021-07-03 7:32 ` David Gibson 0 siblings, 0 replies; 7+ messages in thread From: David Gibson @ 2021-07-03 7:32 UTC (permalink / raw) To: Fabiano Rosas; +Cc: qemu-ppc, qemu-devel, groug [-- Attachment #1: Type: text/plain, Size: 3426 bytes --] On Fri, Jul 02, 2021 at 06:52:35PM -0300, Fabiano Rosas wrote: > ../target/ppc/mmu-hash32.c: In function 'ppc_hash32_bat_lookup': > ../target/ppc/mmu-hash32.c:204:13: error: 'BATu' undeclared (first use in this function); > 204 | BATu = &BATut[i]; > | ^~~~ > | BATut > ../target/ppc/mmu-hash32.c:205:13: error: 'BATl' undeclared (first use in this function); > 205 | BATl = &BATlt[i]; > | ^~~~ > | BATlt > ../target/ppc/mmu-hash32.c:206:13: error: 'BEPIu' undeclared (first use in this function) > 206 | BEPIu = *BATu & BATU32_BEPIU; > | ^~~~~ > ../target/ppc/mmu-hash32.c:206:29: error: 'BATU32_BEPIU' undeclared (first use in this function); > 206 | BEPIu = *BATu & BATU32_BEPIU; > | ^~~~~~~~~~~~ > | BATU32_BEPI > ../target/ppc/mmu-hash32.c:207:13: error: 'BEPIl' undeclared (first use in this function) > 207 | BEPIl = *BATu & BATU32_BEPIL; > | ^~~~~ > ../target/ppc/mmu-hash32.c:207:29: error: 'BATU32_BEPIL' undeclared (first use in this function); > 207 | BEPIl = *BATu & BATU32_BEPIL; > | ^~~~~~~~~~~~ > | BATU32_BEPI > ../target/ppc/mmu-hash32.c:208:13: error: 'bl' undeclared (first use in this function) > 208 | bl = (*BATu & 0x00001FFC) << 15; > | ^~ > > Fixes: 9813279664 ("target-ppc: Disentangle BAT code for 32-bit hash MMUs") > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> Applied to ppc-for-6.1, thanks. > --- > target/ppc/mmu-hash32.c | 5 ++++- > target/ppc/mmu-hash32.h | 2 ++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/target/ppc/mmu-hash32.c b/target/ppc/mmu-hash32.c > index 9f0a497657..330bb0432e 100644 > --- a/target/ppc/mmu-hash32.c > +++ b/target/ppc/mmu-hash32.c > @@ -27,7 +27,7 @@ > #include "mmu-hash32.h" > #include "exec/log.h" > > -/* #define DEBUG_BAT */ > +/* #define DEBUG_BATS */ > > #ifdef DEBUG_BATS > # define LOG_BATS(...) qemu_log_mask(CPU_LOG_MMU, __VA_ARGS__) > @@ -199,6 +199,9 @@ static hwaddr ppc_hash32_bat_lookup(PowerPCCPU *cpu, target_ulong ea, > /* No hit */ > #if defined(DEBUG_BATS) > if (qemu_log_enabled()) { > + target_ulong *BATu, *BATl; > + target_ulong BEPIl, BEPIu, bl; > + > LOG_BATS("no BAT match for " TARGET_FMT_lx ":\n", ea); > for (i = 0; i < 4; i++) { > BATu = &BATut[i]; > diff --git a/target/ppc/mmu-hash32.h b/target/ppc/mmu-hash32.h > index 898021f0d8..4fdeaf1937 100644 > --- a/target/ppc/mmu-hash32.h > +++ b/target/ppc/mmu-hash32.h > @@ -22,6 +22,8 @@ int ppc_hash32_handle_mmu_fault(PowerPCCPU *cpu, vaddr address, int rw, > * Block Address Translation (BAT) definitions > */ > > +#define BATU32_BEPIU 0xf0000000 > +#define BATU32_BEPIL 0x0ffe0000 > #define BATU32_BEPI 0xfffe0000 > #define BATU32_BL 0x00001ffc > #define BATU32_VS 0x00000002 -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-07-03 7:49 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-07-02 21:52 [PATCH 0/3] target/ppc: MMU debug fixes Fabiano Rosas 2021-07-02 21:52 ` [PATCH 1/3] target/ppc: Fix compilation with DUMP_PAGE_TABLES debug option Fabiano Rosas 2021-07-03 7:29 ` David Gibson 2021-07-02 21:52 ` [PATCH 2/3] target/ppc: Fix compilation with FLUSH_ALL_TLBS " Fabiano Rosas 2021-07-03 7:31 ` David Gibson 2021-07-02 21:52 ` [PATCH 3/3] target/ppc: Fix compilation with DEBUG_BATS " Fabiano Rosas 2021-07-03 7:32 ` David Gibson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).