]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/drivers/arm/processor-arm.cpp
update
[l4.git] / kernel / fiasco / src / drivers / arm / processor-arm.cpp
index 2bba90dba2d62a9778249e3da080086025d2756d..e315ce8e6b0faf0f34d467f85b2900420fdb8928 100644 (file)
@@ -188,6 +188,23 @@ void Proc::halt()
   sti_restore(f);
 }
 
+//----------------------------------------------------------------
+IMPLEMENTATION[arm && arm1136]:
+
+IMPLEMENT static inline
+void Proc::pause()
+{}
+
+IMPLEMENT static inline
+void Proc::halt()
+{
+  Status f = cli_save();
+  asm volatile("mcr     p15, 0, r0, c7, c10, 4  @ DWB/DSB \n\t"
+               "mcr     p15, 0, r0, c7, c0, 4   @ WFI \n\t");
+  sti_restore(f);
+}
+
+
 //----------------------------------------------------------------
 IMPLEMENTATION[arm && (arm1176 || mpcore)]: