summaryrefslogtreecommitdiffstats
path: root/c/src/lib
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-05-11 08:46:33 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-05-11 08:46:33 +0000
commit3560b4faa3a7947ff4e10759edb9e63bc321bfc1 (patch)
treeaf00660e3dce75f222885fd22367e52d6deb42cb /c/src/lib
parent2011-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-3560b4faa3a7947ff4e10759edb9e63bc321bfc1.tar.bz2
2011-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/powerpc-utility.h: Added ppc_fsl_system_version*() functions.
Diffstat (limited to 'c/src/lib')
-rw-r--r--c/src/lib/libcpu/powerpc/ChangeLog5
-rw-r--r--c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h35
2 files changed, 40 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog
index 9acad4c73f..5ebb54c354 100644
--- a/c/src/lib/libcpu/powerpc/ChangeLog
+++ b/c/src/lib/libcpu/powerpc/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * shared/include/powerpc-utility.h: Added ppc_fsl_system_version*()
+ functions.
+
2011-03-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/cpuIdent.h: Fixed warnings.
diff --git a/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h b/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h
index a52c6551a5..e4d75ab11d 100644
--- a/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h
+++ b/c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h
@@ -771,6 +771,41 @@ static inline void ppc_set_processor_id(uint32_t val)
PPC_SET_SPECIAL_PURPOSE_REGISTER(BOOKE_PIR, val);
}
+static inline uint32_t ppc_fsl_system_version(void)
+{
+ return PPC_SPECIAL_PURPOSE_REGISTER(FSL_EIS_SVR);
+}
+
+static inline uint32_t ppc_fsl_system_version_cid(uint32_t svr)
+{
+ return (svr >> 28) & 0xf;
+}
+
+static inline uint32_t ppc_fsl_system_version_sid(uint32_t svr)
+{
+ return (svr >> 16) & 0xfff;
+}
+
+static inline uint32_t ppc_fsl_system_version_proc(uint32_t svr)
+{
+ return (svr >> 12) & 0xf;
+}
+
+static inline uint32_t ppc_fsl_system_version_mfg(uint32_t svr)
+{
+ return (svr >> 8) & 0xf;
+}
+
+static inline uint32_t ppc_fsl_system_version_mjrev(uint32_t svr)
+{
+ return (svr >> 4) & 0xf;
+}
+
+static inline uint32_t ppc_fsl_system_version_mnrev(uint32_t svr)
+{
+ return (svr >> 0) & 0xf;
+}
+
void ppc_code_copy(void *dest, const void *src, size_t n);
#endif /* ifndef ASM */