Commit 8571dae26f for qemu.org
commit 8571dae26f2b63c10e60aa879b3ed1a0d81bd9c8
Author: Brian Cain <brian.cain@oss.qualcomm.com>
Date: Tue Sep 8 21:01:29 2026 -0700
target/hexagon: add the v75, v79 and v81 CPU models
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 <marco.liebel@oss.qualcomm.com>
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
diff --git a/linux-user/hexagon/elfload.c b/linux-user/hexagon/elfload.c
index 3d19a711f8..440532ee41 100644
--- a/linux-user/hexagon/elfload.c
+++ b/linux-user/hexagon/elfload.c
@@ -98,6 +98,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-qom.h b/target/hexagon/cpu-qom.h
index 6e1bb04070..2bfa4d5d0f 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/target/hexagon/cpu.c b/target/hexagon/cpu.c
index 4a7b76e3bc..fb0e3caa48 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)