|
@@ -15,11 +15,13 @@
|
|
|
*/
|
|
|
#ifdef CONFIG_OWNERSHIP_TRACE
|
|
|
#include <asm/ocd.h>
|
|
|
-#define finish_arch_switch(prev) \
|
|
|
+#define ocd_switch(prev, next) \
|
|
|
do { \
|
|
|
ocd_write(PID, prev->pid); \
|
|
|
- ocd_write(PID, current->pid); \
|
|
|
+ ocd_write(PID, next->pid); \
|
|
|
} while(0)
|
|
|
+#else
|
|
|
+#define ocd_switch(prev, next)
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
@@ -38,6 +40,7 @@ extern struct task_struct *__switch_to(struct task_struct *,
|
|
|
struct cpu_context *);
|
|
|
#define switch_to(prev, next, last) \
|
|
|
do { \
|
|
|
+ ocd_switch(prev, next); \
|
|
|
last = __switch_to(prev, &prev->thread.cpu_context + 1, \
|
|
|
&next->thread.cpu_context); \
|
|
|
} while (0)
|