On 31/01/2022 17:50, Cédric Le Goater wrote:
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index bc646c67a0f5..980f62fd7964 100644
--- a/target/ppc/excp_helper.c
+++ b/target/ppc/excp_helper.c
@@ -1164,6 +1164,10 @@ static void do_rfi(CPUPPCState *env, target_ulong nip,
target_ulong msr)
/* MSR:POW cannot be set by any form of rfi */
msr &= ~(1ULL << MSR_POW);
+ /* MSR:TGPR cannot be set by any form of rfi */
+ if (env->flags & POWERPC_FLAG_TGPR)
+ msr &= ~(1ULL << MSR_TGPR);
+
#if defined(TARGET_PPC64)
/* Switching to 32-bit ? Crop the nip */
if (!msr_is_64bit(env, msr)) {
Have you tried a pre-PR push to Gitlab CI for your pull-ppc-20220130 tag? I'd
expect this to fail the check-patch job due to the missing braces around the if()
statement.
It seems that ctx_statement_block() is confused because
the patch ends with a '{'.
Nice work! My experience with Perl is fairly minimal so that would have probably
taken me some time to figure out.
ATB,
Mark.