v73 is currently the newest core this target implements.

Add the v75, v79, v81 CPUs.  New instructions to follow in subsequent
commits.

Reviewed-by: Marco Liebel <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
---
 target/hexagon/cpu-qom.h     | 6 ++++++
 linux-user/hexagon/elfload.c | 6 ++++++
 target/hexagon/cpu.c         | 3 +++
 3 files changed, 15 insertions(+)

diff --git a/target/hexagon/cpu-qom.h b/target/hexagon/cpu-qom.h
index 6e1bb040704..2bfa4d5d0fc 100644
--- a/target/hexagon/cpu-qom.h
+++ b/target/hexagon/cpu-qom.h
@@ -25,6 +25,9 @@ typedef enum {
     HEX_VER_V69 = 0x69,
     HEX_VER_V71 = 0x71,
     HEX_VER_V73 = 0x73,
+    HEX_VER_V75 = 0x75,
+    HEX_VER_V79 = 0x79,
+    HEX_VER_V81 = 0x81,
     HEX_VER_ANY = 0xff,
 } HexagonVersion;
 
@@ -49,6 +52,9 @@ typedef struct {
 #define TYPE_HEXAGON_CPU_V69 HEXAGON_CPU_TYPE_NAME("v69")
 #define TYPE_HEXAGON_CPU_V71 HEXAGON_CPU_TYPE_NAME("v71")
 #define TYPE_HEXAGON_CPU_V73 HEXAGON_CPU_TYPE_NAME("v73")
+#define TYPE_HEXAGON_CPU_V75 HEXAGON_CPU_TYPE_NAME("v75")
+#define TYPE_HEXAGON_CPU_V79 HEXAGON_CPU_TYPE_NAME("v79")
+#define TYPE_HEXAGON_CPU_V81 HEXAGON_CPU_TYPE_NAME("v81")
 
 OBJECT_DECLARE_CPU_TYPE(HexagonCPU, HexagonCPUClass, HEXAGON_CPU)
 
diff --git a/linux-user/hexagon/elfload.c b/linux-user/hexagon/elfload.c
index 39b02018145..2fd45f7e38a 100644
--- a/linux-user/hexagon/elfload.c
+++ b/linux-user/hexagon/elfload.c
@@ -37,6 +37,12 @@ const char *get_elf_cpu_model(uint32_t eflags)
         return "v71";
     case 0x73:
         return "v73";
+    case 0x75:
+        return "v75";
+    case 0x79:
+        return "v79";
+    case 0x81:
+        return "v81";
     }
 
     err = snprintf(buf, sizeof(buf), "unknown (0x%x)", eflags);
diff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c
index 4a7b76e3bcc..fb0e3caa481 100644
--- a/target/hexagon/cpu.c
+++ b/target/hexagon/cpu.c
@@ -874,6 +874,9 @@ static const TypeInfo hexagon_cpu_type_infos[] = {
     DEFINE_CPU(TYPE_HEXAGON_CPU_V69,              HEX_VER_V69),
     DEFINE_CPU(TYPE_HEXAGON_CPU_V71,              HEX_VER_V71),
     DEFINE_CPU(TYPE_HEXAGON_CPU_V73,              HEX_VER_V73),
+    DEFINE_CPU(TYPE_HEXAGON_CPU_V75,              HEX_VER_V75),
+    DEFINE_CPU(TYPE_HEXAGON_CPU_V79,              HEX_VER_V79),
+    DEFINE_CPU(TYPE_HEXAGON_CPU_V81,              HEX_VER_V81),
 };
 
 DEFINE_TYPES(hexagon_cpu_type_infos)
-- 
2.34.1

Reply via email to