NAK: [PATCH Trusty SRU] powerpc/tm: Abort syscalls in active transactions
Michael Ellerman
mpe at ellerman.id.au
Fri Jun 10 05:45:09 UTC 2016
On Thu, 2016-06-09 at 21:46 -0600, Tim Gardner wrote:
> On 06/09/2016 07:05 PM, Michael Ellerman wrote:
> > On Thu, 2016-06-09 at 11:51 -0600, Tim Gardner wrote:
> > > Tooolchain issues prevent compilation of this patch. Waiting on new
> > > backport from IBM.
> >
> > Got a bug link? I can't see what in that patch is toolchain dependant?
>
> http://bugs.launchpad.net/bugs/1572624
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1572624/comments/13
>
> Yeah, saying it is toolchain related doesn't make sense to me now that I
> think about it. After all, I'm pretty sure the LTS Utopic version
> compiled OK. Anyways, I've attached the full build log to the bug report
> along with the repo and branch containing this patch.
Ah OK.
/home/rtg/ukb/trusty/ppc64el/master-next/ubuntu-trusty/arch/powerpc/include/asm/tm.h:11: Error: unrecognized opcode: `extern'
make[3]: *** [arch/powerpc/kernel/entry_64.o] Error 1
So you're including a header in asm which doesn't have the right #ifdef guards.
They were added to tm.h in e4e38121507a ("KVM: PPC: Book3S HV: Add transactional
memory support"), which presumably you don't have?
So you just need something like:
diff --git a/arch/powerpc/include/asm/tm.h b/arch/powerpc/include/asm/tm.h
index 9dfbc34bdbf5..386a3efd3497 100644
--- a/arch/powerpc/include/asm/tm.h
+++ b/arch/powerpc/include/asm/tm.h
@@ -7,6 +7,8 @@
#include <uapi/asm/tm.h>
+#ifndef __ASSEMBLY__
+
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
extern void do_load_up_transact_fpu(struct thread_struct *thread);
extern void do_load_up_transact_altivec(struct thread_struct *thread);
@@ -20,3 +22,5 @@ extern void tm_recheckpoint(struct thread_struct *thread,
extern void tm_abort(uint8_t cause);
extern void tm_save_sprs(struct thread_struct *thread);
extern void tm_restore_sprs(struct thread_struct *thread);
+
+#endif /* __ASSEMBLY__ */
Or the include of asm/tm.h in entry_64.S could become uapi/asm/tm.h, that should
work, but it's not what upstream does.
cheers
More information about the kernel-team
mailing list