diff options
author | Phong Pham <phamp@ddc-web.com> | 2017-05-07 14:08:17 -0700 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-05-29 08:04:43 +0200 |
commit | 848007c068c85b74ddd3ed72b1e4facb84da055f (patch) | |
tree | b602dd04d00e28c5db2d318e52d9e4791f32b46a /c/src/lib/libcpu | |
parent | ada: Remove task notepad support (diff) | |
download | rtems-848007c068c85b74ddd3ed72b1e4facb84da055f.tar.bz2 |
Add support for IBM PowerPC 750 chip.
Closes #3015.
Diffstat (limited to 'c/src/lib/libcpu')
-rwxr-xr-x[-rw-r--r--] | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c | 3 | ||||
-rwxr-xr-x[-rw-r--r--] | c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h | 1 |
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, |