dtrace on big endian

Mori Hiroki yamori813 at yahoo.co.jp
Wed Jul 19 00:30:32 UTC 2017


Hi.

I try to build dtrace kernel mips big endian target(Atheros).

I have build error on dtrace_fbt. I make patch. Is this correct ?

diff --git a/sys/cddl/dev/fbt/mips/fbt_isa.c b/sys/cddl/dev/fbt/mips/fbt_isa.c
index a4e9e8b..d7a8562 100644
--- a/sys/cddl/dev/fbt/mips/fbt_isa.c
+++ b/sys/cddl/dev/fbt/mips/fbt_isa.c
@@ -59,7 +59,12 @@ fbt_invop(uintptr_t addr, struct trapframe *frame, uintptr_t 
rval)
 
                        dtrace_probe(fbt->fbtp_id, frame->a0,
                            frame->a1, frame->a2,
-                           frame->a3, frame->a4);
+                           frame->a3,
+#if defined(__mips_n32) || defined(__mips_n64)
+                           frame->a4);
+#else
+                           frame->t0);
+#endif
 
                        cpu->cpu_dtrace_caller = 0;
                        return (fbt->fbtp_savedval);



More information about the freebsd-mips mailing list