Module: xenomai-2.6
Branch: master
Commit: ffcb4977f57f13eea38ae78757e5eb77fe641ca9
URL:    
http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=ffcb4977f57f13eea38ae78757e5eb77fe641ca9

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Sun Sep 23 16:41:12 2012 +0200

hal/arm: support any type of tsc emulation with I-pipe core patches

---

 include/asm-arm/bits/shadow.h |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/include/asm-arm/bits/shadow.h b/include/asm-arm/bits/shadow.h
index 86b6aaa..58323e1 100644
--- a/include/asm-arm/bits/shadow.h
+++ b/include/asm-arm/bits/shadow.h
@@ -174,11 +174,25 @@ static inline int xnarch_local_syscall(struct pt_regs 
*regs)
                        info.tsc = RTHAL_TSC_INFO(&ipipe_info).u.fr.tsc;
                        break;
 #endif /* IPIPE_TSC_TYPE_FREERUNNING_TWICE */
+               default:
+#if IPIPE_CORE_APIREV >= 1
+                       /*
+                        * Newer tsc types, require kuser, not
+                        * backward compatible with old xenomai
+                        * versions
+                        */
+                       info.type = __XN_TSC_TYPE_KUSER;
+                       info.counter = (void *)
+                               RTHAL_TSC_INFO(&ipipe_info).u.counter_paddr;
+                       info.mask = RTHAL_TSC_INFO(&ipipe_info).u.mask;
+                       info.tsc = RTHAL_TSC_INFO(&ipipe_info).u.fr.tsc;
+                       break;
+#else
+                       return -EINVAL;
+#endif /* IPIPE_CORE_APIREV >= 1 */
                case IPIPE_TSC_TYPE_NONE:
                        return -ENOSYS;
 
-               default:
-                       return -EINVAL;
                }
 
                if (__xn_copy_to_user((void *)__xn_reg_arg2(regs),


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to