[PATCH v4 3/3] amd64: Port to RTEMS
Jan Sommer
jan.sommer at dlr.de
Tue Feb 18 10:21:44 UTC 2020
---
freebsd/sys/amd64/include/machine/cpufunc.h | 6 ++++++
rtemsbsd/amd64/include/machine/clock.h | 2 ++
2 files changed, 8 insertions(+)
create mode 100644 rtemsbsd/amd64/include/machine/clock.h
diff --git a/freebsd/sys/amd64/include/machine/cpufunc.h b/freebsd/sys/amd64/include/machine/cpufunc.h
index cf514cb6..d96f9702 100644
--- a/freebsd/sys/amd64/include/machine/cpufunc.h
+++ b/freebsd/sys/amd64/include/machine/cpufunc.h
@@ -164,6 +164,7 @@ enable_intr(void)
#define HAVE_INLINE_FFSL
+#ifndef __rtems__
static __inline __pure2 int
ffsl(long mask)
{
@@ -201,6 +202,7 @@ flsll(long long mask)
{
return (flsl((long)mask));
}
+#endif /* __rtems__ */
#endif /* _KERNEL */
@@ -357,6 +359,7 @@ read_rflags(void)
return (rf);
}
+#ifndef __rtems__
static __inline uint64_t
rdmsr(u_int msr)
{
@@ -365,6 +368,7 @@ rdmsr(u_int msr)
__asm __volatile("rdmsr" : "=a" (low), "=d" (high) : "c" (msr));
return (low | ((uint64_t)high << 32));
}
+#endif /* __rtems__ */
static __inline uint32_t
rdmsr32(u_int msr)
@@ -423,6 +427,7 @@ write_rflags(u_long rf)
__asm __volatile("pushq %0; popfq" : : "r" (rf));
}
+#ifndef __rtems__
static __inline void
wrmsr(u_int msr, uint64_t newval)
{
@@ -432,6 +437,7 @@ wrmsr(u_int msr, uint64_t newval)
high = newval >> 32;
__asm __volatile("wrmsr" : : "a" (low), "d" (high), "c" (msr));
}
+#endif /* __rtems__ */
static __inline void
load_cr0(u_long data)
diff --git a/rtemsbsd/amd64/include/machine/clock.h b/rtemsbsd/amd64/include/machine/clock.h
new file mode 100644
index 00000000..415e2b55
--- /dev/null
+++ b/rtemsbsd/amd64/include/machine/clock.h
@@ -0,0 +1,2 @@
+extern int tsc_is_invariant;
+extern uint64_t tsc_freq;
--
2.17.1
More information about the devel
mailing list