summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhong Pham <phamp@ddc-web.com>2017-05-07 14:08:17 -0700
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-05-29 08:04:43 +0200
commit848007c068c85b74ddd3ed72b1e4facb84da055f (patch)
treeb602dd04d00e28c5db2d318e52d9e4791f32b46a
parentada: Remove task notepad support (diff)
downloadrtems-848007c068c85b74ddd3ed72b1e4facb84da055f.tar.bz2
Add support for IBM PowerPC 750 chip.
Closes #3015.
-rwxr-xr-x[-rw-r--r--]c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c2
-rwxr-xr-x[-rw-r--r--]c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c3
-rwxr-xr-x[-rw-r--r--]c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
index c99f33d354..46508abcdf 100644..100755
--- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
+++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
@@ -137,6 +137,7 @@ static const ppc_exc_categories mpc_604_altivec_category_table = {
static const ppc_exc_categories mpc_750_category_table = {
PPC_BASIC_VECS,
+ [ASM_60X_PERFMON_VECTOR] = PPC_EXC_CLASSIC,
[ASM_60X_SYSMGMT_VECTOR] = PPC_EXC_CLASSIC | PPC_EXC_ASYNC,
[ASM_60X_ADDR_VECTOR] = PPC_EXC_CLASSIC,
[ASM_60X_ITM_VECTOR] = PPC_EXC_CLASSIC,
@@ -265,6 +266,7 @@ const ppc_exc_categories *ppc_exc_categories_for_cpu(ppc_cpu_id_t cpu)
switch (cpu) {
case PPC_7400:
case PPC_750:
+ case PPC_750_IBM:
return &mpc_750_category_table;
case PPC_7455:
case PPC_7457:
diff --git a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c
index d80d03b558..ad3fec2293 100644..100755
--- a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c
+++ b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c
@@ -38,6 +38,7 @@ const char *get_ppc_cpu_type_name(ppc_cpu_id_t cpu)
case PPC_603ev: return "MPC603ev";
case PPC_604: return "MPC604";
case PPC_750: return "MPC750";
+ case PPC_750_IBM: return "IBM PPC750";
case PPC_7400: return "MPC7400";
case PPC_7455: return "MPC7455";
case PPC_7457: return "MPC7457";
@@ -113,6 +114,7 @@ ppc_cpu_id_t get_ppc_cpu_type(void)
case PPC_604:
case PPC_604r:
case PPC_750:
+ case PPC_750_IBM:
case PPC_7400:
case PPC_7455:
case PPC_7457:
@@ -165,6 +167,7 @@ ppc_cpu_id_t get_ppc_cpu_type(void)
case PPC_604e:
case PPC_604r:
case PPC_750:
+ case PPC_750_IBM:
current_ppc_features.has_hw_ptbl_lkup = 1;
case PPC_8260:
case PPC_8245:
diff --git a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h
index 1af5ac03c2..e051deba92 100644..100755
--- a/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h
+++ b/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h
@@ -30,6 +30,7 @@ typedef enum
PPC_603e = 0x6,
PPC_603ev = 0x7,
PPC_750 = 0x8,
+ PPC_750_IBM = 0x7000,
PPC_604e = 0x9,
PPC_604r = 0xA,
PPC_7400 = 0xC,