master
c 44 lines 869 Bytes
Raw
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 #include "qemu/osdep.h"
4 #include "qemu.h"
5 #include "loader.h"
6
7
8 const char *get_elf_cpu_model(uint32_t eflags)
9 {
10 static char buf[32];
11 int err;
12
13 switch (eflags) {
14 case 0x04:
15 return "v5";
16 case 0x05:
17 return "v55";
18 case 0x60:
19 return "v60";
20 case 0x61:
21 return "v61";
22 case 0x62:
23 return "v62";
24 case 0x65:
25 return "v65";
26 case 0x66:
27 return "v66";
28 case 0x67:
29 case 0x8067: /* v67t */
30 return "v67";
31 case 0x68:
32 return "v68";
33 case 0x69:
34 return "v69";
35 case 0x71:
36 case 0x8071: /* v71t */
37 return "v71";
38 case 0x73:
39 return "v73";
40 }
41
42 err = snprintf(buf, sizeof(buf), "unknown (0x%x)", eflags);
43 return err >= 0 && err < sizeof(buf) ? buf : "unknown";
44 }