DORMANTno replies

[PATCH] powerpc: fix building after binutils changes. - but the 'lwsync' question

From: Mike <hidden>
Date: 2022-02-08 04:55:24

We are seeing errors like ' Error: unrecognized opcode: `ptesync''
'dssall' and 'stbcix' as a result of binutils changes Unless 'stbcix'
and friends aren't as exclusively PPC6 as I've gathered from
binutils/opcode/ppc-opc.c there shouldn't be much of a problem, but i
suspect a lot more needs to be done? The following builds for PPC32
but also considered a cry from a powerpc64 user:
https://github.com/threader/linux/commit/226efa05733457bb5c483f30aab6d5c6a304422c

I've been running my PowerBook G4 with this 'lwsync' patch for a few
weeks now, but due to, uhm, soft bones, i haven't ran any benchmarks
or have been to distracted to do so, but thought maybe timing an 'apt'
operation in single user mode might reveal something, if it's being
used properly at all....?

Now I remembered reading something from 2013 on 'lwsync',
https://gcc.gnu.org/legacy-ml/gcc-patches/2006-11/msg01238.html
https://gcc.gnu.org/legacy-ml/gcc-patches/2012-07/msg01062.html

so that would end up something like
--- a/media/thread/12fd50d6-d14c-42af-ad1d-a595e5f080cd/dev/linux-main/linux/arch/powerpc/lib/sstep.c
+++ b/home/thread/dev/linus/linux/arch/powerpc/lib/sstep.c
@@ -3265,7 +3265,11 @@ void emulate_update_regs(struct pt_regs *regs,
struct instruction_op *op)
                        eieio();
                        break;
                case BARRIER_LWSYNC:
+#if defined (CONFIG_40x || CONFIG_44x || CONFIG_E500 ||
CONFIG_PPA8548 || CONFIG_TQM8548 || CONFIG_MPC8540_ADS ||
CONFIG_PPC_BOOK3S_603)
+                       asm volatile("sync" : : : "memory");
+#else
                        asm volatile("lwsync" : : : "memory");
+#endif
                        break;
 #ifdef CONFIG_PPC64
                case BARRIER_PTESYNC:


Best regards.
Michael Heltne

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help