[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 3d8cfb8bf349941fc8c9bf06724fd5f5ad769f3e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3d8cfb8bf349941fc8c9bf06724fd5f5ad769f3e Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 56f093e710469d12299114d75a58b942d9ca7503 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=56f093e710469d12299114d75a58b942d9ca7503 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: ced6fc7b93ea8ea7bafda069dcc769e0e28d17c5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ced6fc7b93ea8ea7bafda069dcc769e0e28d17c5 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 1d565e5594fc991fa0a20a3e0078e896e1362ab5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1d565e5594fc991fa0a20a3e0078e896e1362ab5 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: df8ada7f384cb28b9f78a9782ea6e0d71d3f50bb URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=df8ada7f384cb28b9f78a9782ea6e0d71d3f50bb Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 68e0fa52b7f7b652eaef117a8da39e8e6a156cc4 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=68e0fa52b7f7b652eaef117a8da39e8e6a156cc4 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 3b8f6d925bdd3b5e0db61ef0ba284e2a2994ff6a URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3b8f6d925bdd3b5e0db61ef0ba284e2a2994ff6a Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: fa7181b0db5f8338463dda9ee978138c9a7e45fc URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fa7181b0db5f8338463dda9ee978138c9a7e45fc Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 7b07fc3b4bdaef0ed296b35e593e7c49e054468c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7b07fc3b4bdaef0ed296b35e593e7c49e054468c Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: b1334d52abcf88edabda4a6fb88c9890aba4d8a9 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b1334d52abcf88edabda4a6fb88c9890aba4d8a9 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: ef276059a5c9b9e60c2b4c71935742e93b3d2ce7 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ef276059a5c9b9e60c2b4c71935742e93b3d2ce7 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 864ac277a866d2f3229e647aebbd88bf967e1ef0 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=864ac277a866d2f3229e647aebbd88bf967e1ef0 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: a3bb3f9a93e32b02b1813e98acf2c53725daa506 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a3bb3f9a93e32b02b1813e98acf2c53725daa506 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 193029ea98f5766b962cd1e273ab362ab6cfaf2d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=193029ea98f5766b962cd1e273ab362ab6cfaf2d Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 2e07669de2736e599e87915338eb175b05ea1da3 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2e07669de2736e599e87915338eb175b05ea1da3 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 8ac061879fe0b38f563d736abd6b0bbf34e0cf76 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8ac061879fe0b38f563d736abd6b0bbf34e0cf76 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: cdeefc73ee199f2ec0847138835e05f519eb7916 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cdeefc73ee199f2ec0847138835e05f519eb7916 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: acc64aac44340dc2d0730188648322452f2d5578 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=acc64aac44340dc2d0730188648322452f2d5578 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: next Commit: 53799d68262e2452794417a468d375ed51e79803 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=53799d68262e2452794417a468d375ed51e79803 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: arm64 Commit: 02fd14673631dbebd487d1f956f1e6f4b81ef284 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=02fd14673631dbebd487d1f956f1e6f4b81ef284 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: arm64 Commit: fb252ba6758efed74d4074dc2509879e05e90e7f URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fb252ba6758efed74d4074dc2509879e05e90e7f Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: arm64 Commit: 2c57c3134adcf0e9f13d119a55e18581471ced46 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2c57c3134adcf0e9f13d119a55e18581471ced46 Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Don Mahurin : lib/cobalt/arm64: replace tsc counter
Module: xenomai-3 Branch: arm64 Commit: 34d5a4efb41b02f13ac32967ab6d4deca59bf18e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=34d5a4efb41b02f13ac32967ab6d4deca59bf18e Author: Don Mahurin Date: Wed May 13 09:36:25 2015 -0700 lib/cobalt/arm64: replace tsc counter --- lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h | 19 +++ 1 file changed, 19 insertions(+) diff --git a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h index 594c4ad..a055427 100644 --- a/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h +++ b/lib/cobalt/arch/arm64/include/asm/xenomai/tsc.h @@ -27,6 +27,8 @@ #include #include +#include +#include /* * Putting kuser_tsc_get and kinfo.counter in the same struct results @@ -39,10 +41,27 @@ struct __xn_full_tscinfo { }; extern struct __xn_full_tscinfo __xn_tscinfo; +static inline uint64_t get_counter(void) +{ +uint64_t cval; + +#ifdef __aarch64__ + asm volatile("isb; mrs %0, cntvct_el0; isb; " : "=r" (cval) :: "memory"); +#else + asm volatile("isb; mrrc p15, 1, %Q0, %R0, c14; isb" : "=r" (cval) :: "memory"); +#endif + + return cval; +} + static inline __attribute__((always_inline)) unsigned long long cobalt_read_tsc(void) { +#ifndef __aarch64__ return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter); +#else + return get_counter(); +#endif } #endif /* !_LIB_COBALT_ARM_TSC_H */ ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git