Hi,
  I try to add support for Hygon Dhyana processor.
Can anyone help me and gave me some recommendations.

Related Hygon kernel patch can be found on:
http://lkml.kernel.org/r/5ce86123a7b9dad925ac583d88d2f921040e859b.1538583282.git.pu...@hygon.cn

Patch:
diff --git a/gavl/utils/cpuinfo.c b/gavl/utils/cpuinfo.c
index fce8ecb..3a59484 100644
--- a/gavl/utils/cpuinfo.c
+++ b/gavl/utils/cpuinfo.c
@@ -102,6 +102,8 @@ main(int argc, char **argv)
            model_name = "Unknown Intel CPU";
        else if (strcmp(idstr, "AuthenticAMD") == 0)
            model_name = "Unknown AMD CPU";
+       else if (strcmp(idstr, "HygonGenuine") == 0)
+           model_name = "Unknown Hygon CPU";

        regs_ext = cpuid((1<<31) + 0);
        max_ext_cpuid = regs_ext.eax;
diff --git a/gmerlerra/cpuinfo.sh b/gmerlerra/cpuinfo.sh
index f972258..8fa523d 100755
--- a/gmerlerra/cpuinfo.sh
+++ b/gmerlerra/cpuinfo.sh
@@ -150,6 +150,14 @@ case "$pvendor" in
                           ;;
                esac
                ;;
+       HygonGenuine)
+               case "$pfamily" in
+                       24) proc=k8
+                           ;;
+                       *) proc=athlon-xp
+                           ;;
+               esac
+               ;;
        GenuineIntel)
                case "$pfamily" in
                        3) proc=i386
diff --git a/gmerlin/utils/cpuinfo.c b/gmerlin/utils/cpuinfo.c
index fce8ecb..3a59484 100644
--- a/gmerlin/utils/cpuinfo.c
+++ b/gmerlin/utils/cpuinfo.c
@@ -102,6 +102,8 @@ main(int argc, char **argv)
            model_name = "Unknown Intel CPU";
        else if (strcmp(idstr, "AuthenticAMD") == 0)
            model_name = "Unknown AMD CPU";
+       else if (strcmp(idstr, "HygonGenuine") == 0)
+           model_name = "Unknown Hygon CPU";

        regs_ext = cpuid((1<<31) + 0);
        max_ext_cpuid = regs_ext.eax;
diff --git a/gmerlin_avdecoder/utils/cpuinfo.c b/gmerlin_avdecoder/utils/cpuinfo.c
index fce8ecb..3a59484 100644
--- a/gmerlin_avdecoder/utils/cpuinfo.c
+++ b/gmerlin_avdecoder/utils/cpuinfo.c
@@ -102,6 +102,8 @@ main(int argc, char **argv)
            model_name = "Unknown Intel CPU";
        else if (strcmp(idstr, "AuthenticAMD") == 0)
            model_name = "Unknown AMD CPU";
+       else if (strcmp(idstr, "HygonGenuine") == 0)
+           model_name = "Unknown Hygon CPU";

        regs_ext = cpuid((1<<31) + 0);
        max_ext_cpuid = regs_ext.eax;
diff --git a/gmerlin_effectv/utils/cpuinfo.c b/gmerlin_effectv/utils/cpuinfo.c
index fce8ecb..3a59484 100644
--- a/gmerlin_effectv/utils/cpuinfo.c
+++ b/gmerlin_effectv/utils/cpuinfo.c
@@ -102,6 +102,8 @@ main(int argc, char **argv)
            model_name = "Unknown Intel CPU";
        else if (strcmp(idstr, "AuthenticAMD") == 0)
            model_name = "Unknown AMD CPU";
+       else if (strcmp(idstr, "HygonGenuine") == 0)
+           model_name = "Unknown Hygon CPU";

        regs_ext = cpuid((1<<31) + 0);
        max_ext_cpuid = regs_ext.eax;
diff --git a/gmerlin_encoders/utils/cpuinfo.c b/gmerlin_encoders/utils/cpuinfo.c
index fce8ecb..3a59484 100644
--- a/gmerlin_encoders/utils/cpuinfo.c
+++ b/gmerlin_encoders/utils/cpuinfo.c
@@ -102,6 +102,8 @@ main(int argc, char **argv)
            model_name = "Unknown Intel CPU";
        else if (strcmp(idstr, "AuthenticAMD") == 0)
            model_name = "Unknown AMD CPU";
+       else if (strcmp(idstr, "HygonGenuine") == 0)
+           model_name = "Unknown Hygon CPU";

        regs_ext = cpuid((1<<31) + 0);
        max_ext_cpuid = regs_ext.eax;
diff --git a/gmerlin_visualizer/cpuinfo.sh b/gmerlin_visualizer/cpuinfo.sh
index e4b4e69..f05e69b 100755
--- a/gmerlin_visualizer/cpuinfo.sh
+++ b/gmerlin_visualizer/cpuinfo.sh
@@ -142,6 +142,14 @@ case "$pvendor" in
                           ;;
                esac
                ;;
+       HygonGenuine)
+               case "$pfamily" in
+                       24) proc=k8
+                           ;;
+                       *) proc=athlon-xp
+                           ;;
+               esac
+               ;;
        GenuineIntel)
                case "$pfamily" in
                        3) proc=i386
diff --git a/lemuria/cpuinfo.sh b/lemuria/cpuinfo.sh
index f972258..8fa523d 100755
--- a/lemuria/cpuinfo.sh
+++ b/lemuria/cpuinfo.sh
@@ -150,6 +150,14 @@ case "$pvendor" in
                           ;;
                esac
                ;;
+       HygonGenuine)
+               case "$pfamily" in
+                       24) proc=k8
+                           ;;
+                       *) proc=athlon-xp
+                           ;;
+               esac
+               ;;
        GenuineIntel)
                case "$pfamily" in
                        3) proc=i386
diff --git a/lemuria/lib/xaos/cpuinfo.sh b/lemuria/lib/xaos/cpuinfo.sh
index e4b4e69..f05e69b 100755
--- a/lemuria/lib/xaos/cpuinfo.sh
+++ b/lemuria/lib/xaos/cpuinfo.sh
@@ -142,6 +142,14 @@ case "$pvendor" in
                           ;;
                esac
                ;;
+       HygonGenuine)
+               case "$pfamily" in
+                       24) proc=k8
+                           ;;
+                       *) proc=athlon-xp
+                           ;;
+               esac
+               ;;
        GenuineIntel)
                case "$pfamily" in
                        3) proc=i386
diff --git a/lemuria/utils/cpuinfo.c b/lemuria/utils/cpuinfo.c
index fce8ecb..3a59484 100644
--- a/lemuria/utils/cpuinfo.c
+++ b/lemuria/utils/cpuinfo.c
@@ -102,6 +102,8 @@ main(int argc, char **argv)
            model_name = "Unknown Intel CPU";
        else if (strcmp(idstr, "AuthenticAMD") == 0)
            model_name = "Unknown AMD CPU";
+       else if (strcmp(idstr, "HygonGenuine") == 0)
+           model_name = "Unknown Hygon CPU";

        regs_ext = cpuid((1<<31) + 0);
        max_ext_cpuid = regs_ext.eax;

Best regards!
Jinke Fan.



_______________________________________________
Gmerlin-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gmerlin-general

Reply via email to