19 #ifndef _COBALT_BLACKFIN_ASM_THREAD_H
20 #define _COBALT_BLACKFIN_ASM_THREAD_H
22 #include <asm-generic/xenomai/thread.h>
33 #define xnarch_fpu_ptr(tcb) NULL
35 #define xnarch_fault_regs(d) ((d)->regs)
36 #define xnarch_fault_trap(d) ((d)->exception)
37 #define xnarch_fault_code(d) (0)
38 #define xnarch_fault_pc(d) ((d)->regs->retx)
39 #define xnarch_fault_fpu_p(d) (0)
41 #define xnarch_fault_pf_p(d) (0)
42 #define xnarch_fault_bp_p(d) ((current->ptrace & PT_PTRACED) && \
43 ((d)->exception == VEC_STEP || \
44 (d)->exception == VEC_EXCPT01 || \
45 (d)->exception == VEC_WATCH))
47 #define xnarch_fault_notify(d) (!xnarch_fault_bp_p(d))
49 void xnarch_switch_to(
struct xnthread *out,
struct xnthread *in);
51 int xnarch_escalate(
void);
53 static inline void xnarch_init_root_tcb(
struct xnthread *thread) { }
54 static inline void xnarch_init_shadow_tcb(
struct xnthread *thread) { }
55 static inline void xnarch_enter_root(
struct xnthread *root) { }
56 static inline void xnarch_leave_root(
struct xnthread *root) { }
57 static inline void xnarch_save_fpu(
struct xnthread *thread) { }
59 xnarch_switch_fpu(
struct xnthread *from,
struct xnthread *thread)
64 xnarch_handle_fpu_fault(
struct xnthread *from,
65 struct xnthread *to,
struct ipipe_trap_data *d)