13 #include <linux/types.h>
14 #include <linux/kernel.h>
15 #include <linux/signal.h>
16 #include <linux/sched.h>
26 case THREAD_NOTIFY_FLUSH:
35 case THREAD_NOTIFY_EXIT:
36 iwmmxt_task_release(thread);
39 case THREAD_NOTIFY_SWITCH:
40 iwmmxt_task_switch(thread);
48 .notifier_call = iwmmxt_do,
52 static u32 __init pj4_cp_access_read(
void)
57 "mrc p15, 0, %0, c1, c0, 2\n\t"
62 static void __init pj4_cp_access_write(
u32 value)
67 "mcr p15, 0, %1, c1, c0, 2\n\t"
68 "mrc p15, 0, %0, c1, c0, 2\n\t"
71 :
"=r" (temp) :
"r" (value));
79 static int __init pj4_cp0_init(
void)
83 cp_access = pj4_cp_access_read() & ~0xf;
84 pj4_cp_access_write(cp_access);
88 thread_register_notifier(&iwmmxt_notifier_block);