diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-05-11 08:46:33 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-05-11 08:46:33 +0000 |
commit | 3560b4faa3a7947ff4e10759edb9e63bc321bfc1 (patch) | |
tree | af00660e3dce75f222885fd22367e52d6deb42cb | |
parent | 2011-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-3560b4faa3a7947ff4e10759edb9e63bc321bfc1.tar.bz2 |
2011-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/powerpc-utility.h: Added ppc_fsl_system_version*()
functions.
-rw-r--r-- | c/src/lib/libcpu/powerpc/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/shared/include/powerpc-utility.h | 35 |
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 */ |