From 848007c068c85b74ddd3ed72b1e4facb84da055f Mon Sep 17 00:00:00 2001 From: Phong Pham Date: Sun, 7 May 2017 14:08:17 -0700 Subject: Add support for IBM PowerPC 750 chip. Closes #3015. --- .../lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c | 2 ++ c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c | 3 +++ c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h | 1 + 3 files changed, 6 insertions(+) mode change 100644 => 100755 c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c mode change 100644 => 100755 c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c mode change 100644 => 100755 c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h (limited to 'c/src/lib') 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 old mode 100644 new mode 100755 index c99f33d354..46508abcdf --- 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 old mode 100644 new mode 100755 index d80d03b558..ad3fec2293 --- 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 old mode 100644 new mode 100755 index 1af5ac03c2..e051deba92 --- 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, -- cgit v1.2.3