aboutsummaryrefslogtreecommitdiff
path: root/linux-user/hexagon
diff options
context:
space:
mode:
authorTaylor Simpson <tsimpson@quicinc.com>2023-04-27 15:40:49 -0700
committerTaylor Simpson <tsimpson@quicinc.com>2023-05-18 12:40:51 -0700
commitfc2622f660fea5355565a6734c74f68e65953ac8 (patch)
tree3b1785dd760b52ee4b00bcd9969c5647003cc277 /linux-user/hexagon
parent278238505d28d292927bff7683f39fb4fbca7fd1 (diff)
downloadqemu-fc2622f660fea5355565a6734c74f68e65953ac8.zip
qemu-fc2622f660fea5355565a6734c74f68e65953ac8.tar.gz
qemu-fc2622f660fea5355565a6734c74f68e65953ac8.tar.bz2
Hexagon (target/hexagon) Add support for v68/v69/v71/v73
Add support for the ELF flags Move target/hexagon/cpu.[ch] to be v73 Change the compiler flag used by "make check-tcg" The decbin instruction is removed in Hexagon v73, so check the version before trying to compile the instruction. Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> Reviewed-by: Anton Johansson <anjo@rev.ng> Message-Id: <20230427224057.3766963-2-tsimpson@quicinc.com>
Diffstat (limited to 'linux-user/hexagon')
-rw-r--r--linux-user/hexagon/target_elf.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/linux-user/hexagon/target_elf.h b/linux-user/hexagon/target_elf.h
index b4e9f40..a0271a0 100644
--- a/linux-user/hexagon/target_elf.h
+++ b/linux-user/hexagon/target_elf.h
@@ -1,5 +1,5 @@
/*
- * Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
+ * Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
static inline const char *cpu_get_model(uint32_t eflags)
{
- /* For now, treat anything newer than v5 as a v67 */
+ /* For now, treat anything newer than v5 as a v73 */
/* FIXME - Disable instructions that are newer than the specified arch */
if (eflags == 0x04 || /* v5 */
eflags == 0x05 || /* v55 */
@@ -30,9 +30,14 @@ static inline const char *cpu_get_model(uint32_t eflags)
eflags == 0x65 || /* v65 */
eflags == 0x66 || /* v66 */
eflags == 0x67 || /* v67 */
- eflags == 0x8067 /* v67t */
+ eflags == 0x8067 || /* v67t */
+ eflags == 0x68 || /* v68 */
+ eflags == 0x69 || /* v69 */
+ eflags == 0x71 || /* v71 */
+ eflags == 0x8071 || /* v71t */
+ eflags == 0x73 /* v73 */
) {
- return "v67";
+ return "v73";
}
return "unknown";
}