[1/5] cpu_map: Introduce arm CPU models

Message ID 20200327085220.1811-2-zheng.zhenyu@foxmail.com
State New
Headers show
Series
  • [1/5] cpu_map: Introduce arm CPU models
Related show

Commit Message

ZhengZhenyu March 27, 2020, 8:52 a.m.
From: Zhenyu Zheng <zheng.zhenyu@outlook.com>


Introduce vendors and models information for ARM arch,
these will be used for virConnectGetCapabilities on
ARM arch.

Signed-off-by: Zhenyu Zheng <zhengzhenyulixi@gmail.com>

---
 src/cpu_map/Makefile.inc.am       |  7 +++++++
 src/cpu_map/arm_Falkor.xml        | 15 +++++++++++++++
 src/cpu_map/arm_Kunpeng-920.xml   | 23 +++++++++++++++++++++++
 src/cpu_map/arm_ThunderX299xx.xml | 15 +++++++++++++++
 src/cpu_map/arm_cortex-a53.xml    | 15 +++++++++++++++
 src/cpu_map/arm_cortex-a57.xml    | 14 ++++++++++++++
 src/cpu_map/arm_cortex-a72.xml    | 14 ++++++++++++++
 src/cpu_map/arm_vendors.xml       | 14 ++++++++++++++
 src/cpu_map/index.xml             | 16 ++++++++++++++++
 9 files changed, 133 insertions(+)
 create mode 100644 src/cpu_map/arm_Falkor.xml
 create mode 100644 src/cpu_map/arm_Kunpeng-920.xml
 create mode 100644 src/cpu_map/arm_ThunderX299xx.xml
 create mode 100644 src/cpu_map/arm_cortex-a53.xml
 create mode 100644 src/cpu_map/arm_cortex-a57.xml
 create mode 100644 src/cpu_map/arm_cortex-a72.xml
 create mode 100644 src/cpu_map/arm_vendors.xml

-- 
2.26.0.windows.1

Patch

diff --git a/src/cpu_map/Makefile.inc.am b/src/cpu_map/Makefile.inc.am
index be64c9a0d4..2e987d1969 100644
--- a/src/cpu_map/Makefile.inc.am
+++ b/src/cpu_map/Makefile.inc.am
@@ -3,6 +3,13 @@ 
 cpumapdir = $(pkgdatadir)/cpu_map
 cpumap_DATA = \
 	cpu_map/arm_features.xml \
+	cpu_map/arm_vendors.xml \
+	cpu_map/arm_cortex-a53.xml \
+	cpu_map/arm_cortex-a57.xml \
+	cpu_map/arm_cortex-a72.xml \
+	cpu_map/arm_Falkor.xml \
+	cpu_map/arm_Kunpeng-920.xml \
+	cpu_map/arm_ThunderX299xx.xml \
 	cpu_map/index.xml \
 	cpu_map/ppc64_vendors.xml \
 	cpu_map/ppc64_POWER7.xml \
diff --git a/src/cpu_map/arm_Falkor.xml b/src/cpu_map/arm_Falkor.xml
new file mode 100644
index 0000000000..5a8ba53644
--- /dev/null
+++ b/src/cpu_map/arm_Falkor.xml
@@ -0,0 +1,15 @@ 
+<cpus>
+  <model name='Falkor'>
+    <vendor name='Qualcomm'/>
+    <feature name="fp"/>
+    <feature name="asimd"/>
+    <feature name="evtstrm"/>
+    <feature name="aes"/>
+    <feature name="pmull"/>
+    <feature name="sha1"/>
+    <feature name="sha2"/>
+    <feature name="crc32"/>
+    <feature name="cpuid"/>
+    <feature name="asimdrdm"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_Kunpeng-920.xml b/src/cpu_map/arm_Kunpeng-920.xml
new file mode 100644
index 0000000000..374e12cda6
--- /dev/null
+++ b/src/cpu_map/arm_Kunpeng-920.xml
@@ -0,0 +1,23 @@ 
+<cpus>
+  <model name='Kunpeng-920'>
+    <vendor name='HiSilicon'/>
+    <feature name="fp"/>
+    <feature name="asimd"/>
+    <feature name="evtstrm"/>
+    <feature name="aes"/>
+    <feature name="pmull"/>
+    <feature name="sha1"/>
+    <feature name="sha2"/>
+    <feature name="crc32"/>
+    <feature name="atomics"/>
+    <feature name="fphp"/>
+    <feature name="asimdhp"/>
+    <feature name="cpuid"/>
+    <feature name="asimdrdm"/>
+    <feature name="jscvt"/>
+    <feature name="fcma"/>
+    <feature name="dcpop"/>
+    <feature name="asimddp"/>
+    <feature name="asimdfhm"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_ThunderX299xx.xml b/src/cpu_map/arm_ThunderX299xx.xml
new file mode 100644
index 0000000000..0357273738
--- /dev/null
+++ b/src/cpu_map/arm_ThunderX299xx.xml
@@ -0,0 +1,15 @@ 
+<cpus>
+  <model name='ThunderX299xx'>
+    <vendor name='Cavium'/>
+    <feature name="fp"/>
+    <feature name="asimd"/>
+    <feature name="evtstrm"/>
+    <feature name="aes"/>
+    <feature name="pmull"/>
+    <feature name="sha1"/>
+    <feature name="sha2"/>
+    <feature name="crc32"/>
+    <feature name="cpuid"/>
+    <feature name="asimdrdm"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_cortex-a53.xml b/src/cpu_map/arm_cortex-a53.xml
new file mode 100644
index 0000000000..3375e3f67d
--- /dev/null
+++ b/src/cpu_map/arm_cortex-a53.xml
@@ -0,0 +1,15 @@ 
+<cpus>
+  <model name='cortex-a53'>
+    <vendor name='ARM'/>
+    <feature name="fp"/>
+    <feature name="asimd"/>
+    <feature name="evtstrm"/>
+    <feature name="aes"/>
+    <feature name="pmull"/>
+    <feature name="sha1"/>
+    <feature name="sha2"/>
+    <feature name="crc32"/>
+    <feature name="cpuid"/>
+    <feature name="asimdrdm"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_cortex-a57.xml b/src/cpu_map/arm_cortex-a57.xml
new file mode 100644
index 0000000000..ae9c838e99
--- /dev/null
+++ b/src/cpu_map/arm_cortex-a57.xml
@@ -0,0 +1,14 @@ 
+<cpus>
+  <model name='cortex-a57'>
+    <vendor name='ARM'/>
+    <feature name="fp"/>
+    <feature name="asimd"/>
+    <feature name="evtstrm"/>
+    <feature name="aes"/>
+    <feature name="pmull"/>
+    <feature name="sha1"/>
+    <feature name="sha2"/>
+    <feature name="crc32"/>
+    <feature name="cpuid"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_cortex-a72.xml b/src/cpu_map/arm_cortex-a72.xml
new file mode 100644
index 0000000000..5c46d32da2
--- /dev/null
+++ b/src/cpu_map/arm_cortex-a72.xml
@@ -0,0 +1,14 @@ 
+<cpus>
+  <model name='cortex-a72'>
+    <vendor name='ARM'/>
+    <feature name="fp"/>
+    <feature name="asimd"/>
+    <feature name="evtstrm"/>
+    <feature name="aes"/>
+    <feature name="pmull"/>
+    <feature name="sha1"/>
+    <feature name="sha2"/>
+    <feature name="crc32"/>
+    <feature name="cpuid"/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_vendors.xml b/src/cpu_map/arm_vendors.xml
new file mode 100644
index 0000000000..703c2112b1
--- /dev/null
+++ b/src/cpu_map/arm_vendors.xml
@@ -0,0 +1,14 @@ 
+<cpus>
+  <vendor name="ARM" value="0x41"/>
+  <vendor name="Broadcom" value="0x42"/>
+  <vendor name="Cavium" value="0x43"/>
+  <vendor name="DigitalEquipment" value="0x44"/>
+  <vendor name="HiSilicon" value="0x48"/>
+  <vendor name="Infineon" value="0x49"/>
+  <vendor name="Freescale" value="0x4D"/>
+  <vendor name="NVIDIA" value="0x4E"/>
+  <vendor name="APM" value="0x50"/>
+  <vendor name="Qualcomm" value="0x51"/>
+  <vendor name="Marvell" value="0x56"/>
+  <vendor name="Intel" value="0x69"/>
+</cpus>
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index 50b030de29..49a261f8f8 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -86,5 +86,21 @@ 
 
   <arch name='arm'>
     <include filename='arm_features.xml'/>
+    <include filename='arm_vendors.xml'/>
+
+    <!-- ARM-based CPU models -->
+    <include filename='arm_cortex-a53.xml'/>
+    <include filename='arm_cortex-a57.xml'/>
+    <include filename='arm_cortex-a72.xml'/>
+
+    <!-- Qualcomm-based CPU models -->
+    <include filename='arm_Falkor.xml'/>
+
+    <!-- Cavium-based CPU models -->
+    <include filename='arm_ThunderX299xx.xml'/>
+
+    <!-- HiSilicon-based CPU models -->
+    <include filename='arm_Kunpeng-920.xml'/>
+
   </arch>
 </cpus>