aboutsummaryrefslogtreecommitdiff
path: root/gdb/go32-nat.c
diff options
context:
space:
mode:
authorJinke Fan <fanjinke51@yeah.net>2019-05-15 17:34:57 +0800
committerPedro Alves <palves@redhat.com>2019-08-21 18:07:39 +0100
commit3960cb7a1bf14016b6b16d35205cdcb9dfc43c27 (patch)
treeb04a7e96ca95cfbf38c5f5054bf5d1953ce20252 /gdb/go32-nat.c
parent61f80d5dafebdb3a2cebac489803c5ce18827178 (diff)
downloadgdb-3960cb7a1bf14016b6b16d35205cdcb9dfc43c27.zip
gdb-3960cb7a1bf14016b6b16d35205cdcb9dfc43c27.tar.gz
gdb-3960cb7a1bf14016b6b16d35205cdcb9dfc43c27.tar.bz2
gdb/djgpp: Add Hygon Dhyana processor support
Chengdu Haiguang IC Design Co., Ltd (Hygon) is a Joint Venture between AMD and Haiguang Information Technology Co.,Ltd., which aims at providing high performance x86 processors for the China server market. Its first generation processor codename is Dhyana, which originates from AMD technology and shares most of the architecture with AMD's family 17h, but with different CPU Vendor ID("HygonGenuine")/Family series number(Family 18h). gdb/ChangeLog: 2019-08-21 Jinke Fan <fanjinke51@yeah.net> * go32-nat.c (go32_sysinfo): Add hygon_p.
Diffstat (limited to 'gdb/go32-nat.c')
-rw-r--r--gdb/go32-nat.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index 6a58565..81fcfe2 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -1162,6 +1162,7 @@ go32_sysinfo (const char *arg, int from_tty)
unsigned brand_idx;
int intel_p = strcmp (cpuid_vendor, "GenuineIntel") == 0;
int amd_p = strcmp (cpuid_vendor, "AuthenticAMD") == 0;
+ int hygon_p = strcmp (cpuid_vendor, "HygonGenuine") == 0;
unsigned cpu_family, cpu_model;
#if 0
@@ -1261,12 +1262,12 @@ go32_sysinfo (const char *arg, int from_tty)
}
}
xsnprintf (cpu_string, sizeof (cpu_string), "%s%s Model %d Stepping %d",
- intel_p ? "Pentium" : (amd_p ? "AMD" : "ix86"),
+ intel_p ? "Pentium" : (amd_p ? "AMD" : (hygon_p ? "Hygon" : "ix86")),
cpu_brand, cpu_model, cpuid_eax & 0xf);
printfi_filtered (31, "%s\n", cpu_string);
if (((cpuid_edx & (6 | (0x0d << 23))) != 0)
|| ((cpuid_edx & 1) == 0)
- || (amd_p && (cpuid_edx & (3 << 30)) != 0))
+ || ((amd_p || hygon_p) && (cpuid_edx & (3 << 30)) != 0))
{
puts_filtered ("CPU Features...................");
/* We only list features which might be useful in the DPMI
@@ -1285,7 +1286,7 @@ go32_sysinfo (const char *arg, int from_tty)
puts_filtered ("SSE ");
if ((cpuid_edx & (1 << 26)) != 0)
puts_filtered ("SSE2 ");
- if (amd_p)
+ if (amd_p || hygon_p)
{
if ((cpuid_edx & (1 << 31)) != 0)
puts_filtered ("3DNow! ");