diff options
Diffstat (limited to 'c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c')
-rw-r--r-- | c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c index ddb7775d89..5e4a78848a 100644 --- a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c +++ b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c @@ -26,10 +26,29 @@ SPR_RO(PVR) ppc_cpu_id_t current_ppc_cpu = PPC_UNKNOWN; ppc_cpu_revision_t current_ppc_revision = 0xff; +char *get_ppc_cpu_type_name(ppc_cpu_id_t cpu) +{ + switch (cpu) { + case PPC_601: return "MPC601"; + case PPC_603: return "MPC603"; + case PPC_603ev: return "MPC603ev"; + case PPC_604: return "MPC604"; + case PPC_750: return "MPC750"; + case PPC_7400: return "MPC7400"; + case PPC_604e: return "MPC604e"; + case PPC_604r: return "MPC604r"; + case PPC_620: return "MPC620"; + case PPC_860: return "MPC860"; + case PPC_8260: return "MPC8260"; + default: + printk("Unknown CPU value of 0x%x. Please add it to <libcpu/powerpc/shared/cpu.h>\n", cpu ); + } + return "UNKNOWN"; +} + ppc_cpu_id_t get_ppc_cpu_type() { unsigned int pvr = (_read_PVR() >> 16); - current_ppc_cpu = (ppc_cpu_id_t) pvr; switch (pvr) { case PPC_601: @@ -37,19 +56,19 @@ ppc_cpu_id_t get_ppc_cpu_type() case PPC_603ev: case PPC_604: case PPC_750: + case PPC_7400: case PPC_604e: case PPC_604r: case PPC_620: case PPC_860: case PPC_8260: - current_ppc_cpu = (ppc_cpu_id_t) pvr; return current_ppc_cpu; default: printk("Unknown PVR value of 0x%x. Please add it to <libcpu/powerpc/shared/cpu.h>\n", pvr ); return PPC_UNKNOWN; } - } + ppc_cpu_revision_t get_ppc_cpu_revision() { ppc_cpu_revision_t rev = (ppc_cpu_revision_t) (_read_PVR() & 0xffff); |