[V5,4/4] cpu_map: Introduce ARM cpu models

Message ID TY2PR01MB3113973DDB36C7A5E18F451299BF0@TY2PR01MB3113.jpnprd01.prod.outlook.com
State New
Headers show
Series
  • Introduce getHost support for ARM CPU driver
Related show

Commit Message

Zhenyu Zheng May 13, 2020, 10:48 a.m.
Introduce vendors and some commonly used models
for ARM arch, these will be used for virConnectionGetCapabilities
for ARM CPUs.

Signed-off-by: Zhenyu Zheng <zheng.zhenyu@outlook.com>

---
 src/cpu_map/Makefile.inc.am       |  7 +++++++
 src/cpu_map/arm_Falkor.xml        |  6 ++++++
 src/cpu_map/arm_Kunpeng-920.xml   |  6 ++++++
 src/cpu_map/arm_ThunderX299xx.xml |  6 ++++++
 src/cpu_map/arm_cortex-a53.xml    |  6 ++++++
 src/cpu_map/arm_cortex-a57.xml    |  6 ++++++
 src/cpu_map/arm_cortex-a72.xml    |  6 ++++++
 src/cpu_map/arm_vendors.xml       | 14 ++++++++++++++
 src/cpu_map/index.xml             | 15 +++++++++++++++
 9 files changed, 72 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.20.1

Comments

Zhenyu Zheng May 13, 2020, 10:53 a.m. | #1
pipeline result for the series:
https://gitlab.com/ZhengZhenyu/libvirt/pipelines/145532824

On Wed, May 13, 2020 at 6:51 PM Zhenyu Zheng <zheng.zhenyu@outlook.com>
wrote:

> Introduce vendors and some commonly used models

> for ARM arch, these will be used for virConnectionGetCapabilities

> for ARM CPUs.

>

> Signed-off-by: Zhenyu Zheng <zheng.zhenyu@outlook.com>

> ---

>  src/cpu_map/Makefile.inc.am       |  7 +++++++

>  src/cpu_map/arm_Falkor.xml        |  6 ++++++

>  src/cpu_map/arm_Kunpeng-920.xml   |  6 ++++++

>  src/cpu_map/arm_ThunderX299xx.xml |  6 ++++++

>  src/cpu_map/arm_cortex-a53.xml    |  6 ++++++

>  src/cpu_map/arm_cortex-a57.xml    |  6 ++++++

>  src/cpu_map/arm_cortex-a72.xml    |  6 ++++++

>  src/cpu_map/arm_vendors.xml       | 14 ++++++++++++++

>  src/cpu_map/index.xml             | 15 +++++++++++++++

>  9 files changed, 72 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

>

> diff --git a/src/cpu_map/Makefile.inc.am b/src/cpu_map/Makefile.inc.am

> index be64c9a0d4..5d9190e27d 100644

> --- a/src/cpu_map/Makefile.inc.am

> +++ b/src/cpu_map/Makefile.inc.am

> @@ -2,7 +2,14 @@

>

>  cpumapdir = $(pkgdatadir)/cpu_map

>  cpumap_DATA = \

> +       cpu_map/arm_cortex-a53.xml \

> +       cpu_map/arm_cortex-a57.xml \

> +       cpu_map/arm_cortex-a72.xml \

>         cpu_map/arm_features.xml \

> +       cpu_map/arm_Kunpeng-920.xml \

> +       cpu_map/arm_ThunderX299xx.xml \

> +       cpu_map/arm_Falkor.xml \

> +       cpu_map/arm_vendors.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..b8f34bbc02

> --- /dev/null

> +++ b/src/cpu_map/arm_Falkor.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='Falkor'>

> +    <vendor name='Qualcomm'/>

> +    <pvr value='0xc00'/>

> +  </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..e06d4744fc

> --- /dev/null

> +++ b/src/cpu_map/arm_Kunpeng-920.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='Kunpeng-920'>

> +    <vendor name='HiSilicon'/>

> +    <pvr value='0xd01'/>

> +  </model>

> +</cpus>

> diff --git a/src/cpu_map/arm_ThunderX299xx.xml

> b/src/cpu_map/arm_ThunderX299xx.xml

> new file mode 100644

> index 0000000000..6c0864f601

> --- /dev/null

> +++ b/src/cpu_map/arm_ThunderX299xx.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='ThunderX2 99xx'>

> +    <vendor name='Cavium'/>

> +    <pvr value='0x0af'/>

> +  </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..3580236253

> --- /dev/null

> +++ b/src/cpu_map/arm_cortex-a53.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='cortex-a53'>

> +    <vendor name='ARM'/>

> +    <pvr value='0xd03'/>

> +  </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..3bc4324173

> --- /dev/null

> +++ b/src/cpu_map/arm_cortex-a57.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='cortex-a57'>

> +    <vendor name='ARM'/>

> +    <pvr value='0xd07'/>

> +  </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..c509a40567

> --- /dev/null

> +++ b/src/cpu_map/arm_cortex-a72.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='cortex-a72'>

> +    <vendor name='ARM'/>

> +    <pvr value='0xd08'/>

> +  </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..20646a031c 100644

> --- a/src/cpu_map/index.xml

> +++ b/src/cpu_map/index.xml

> @@ -85,6 +85,21 @@

>    </arch>

>

>    <arch name='arm'>

> +    <include filename="arm_vendors.xml"/>

>      <include filename='arm_features.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>

> --

> 2.20.1

>

>

>
<div dir="ltr">pipeline result for the series:<div><a href="https://gitlab.com/ZhengZhenyu/libvirt/pipelines/145532824">https://gitlab.com/ZhengZhenyu/libvirt/pipelines/145532824</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 13, 2020 at 6:51 PM Zhenyu Zheng &lt;<a href="mailto:zheng.zhenyu@outlook.com">zheng.zhenyu@outlook.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Introduce vendors and some commonly used models<br>
for ARM arch, these will be used for virConnectionGetCapabilities<br>
for ARM CPUs.<br>
<br>
Signed-off-by: Zhenyu Zheng &lt;<a href="mailto:zheng.zhenyu@outlook.com" target="_blank">zheng.zhenyu@outlook.com</a>&gt;<br>

---<br>
 src/cpu_map/<a href="http://Makefile.inc.am" rel="noreferrer" target="_blank">Makefile.inc.am</a>       |  7 +++++++<br>
 src/cpu_map/arm_Falkor.xml        |  6 ++++++<br>
 src/cpu_map/arm_Kunpeng-920.xml   |  6 ++++++<br>
 src/cpu_map/arm_ThunderX299xx.xml |  6 ++++++<br>
 src/cpu_map/arm_cortex-a53.xml    |  6 ++++++<br>
 src/cpu_map/arm_cortex-a57.xml    |  6 ++++++<br>
 src/cpu_map/arm_cortex-a72.xml    |  6 ++++++<br>
 src/cpu_map/arm_vendors.xml       | 14 ++++++++++++++<br>
 src/cpu_map/index.xml             | 15 +++++++++++++++<br>
 9 files changed, 72 insertions(+)<br>
 create mode 100644 src/cpu_map/arm_Falkor.xml<br>
 create mode 100644 src/cpu_map/arm_Kunpeng-920.xml<br>
 create mode 100644 src/cpu_map/arm_ThunderX299xx.xml<br>
 create mode 100644 src/cpu_map/arm_cortex-a53.xml<br>
 create mode 100644 src/cpu_map/arm_cortex-a57.xml<br>
 create mode 100644 src/cpu_map/arm_cortex-a72.xml<br>
 create mode 100644 src/cpu_map/arm_vendors.xml<br>
<br>
diff --git a/src/cpu_map/<a href="http://Makefile.inc.am" rel="noreferrer" target="_blank">Makefile.inc.am</a> b/src/cpu_map/<a href="http://Makefile.inc.am" rel="noreferrer" target="_blank">Makefile.inc.am</a><br>
index be64c9a0d4..5d9190e27d 100644<br>
--- a/src/cpu_map/<a href="http://Makefile.inc.am" rel="noreferrer" target="_blank">Makefile.inc.am</a><br>
+++ b/src/cpu_map/<a href="http://Makefile.inc.am" rel="noreferrer" target="_blank">Makefile.inc.am</a><br>
@@ -2,7 +2,14 @@<br>
<br>
 cpumapdir = $(pkgdatadir)/cpu_map<br>
 cpumap_DATA = \<br>
+       cpu_map/arm_cortex-a53.xml \<br>
+       cpu_map/arm_cortex-a57.xml \<br>
+       cpu_map/arm_cortex-a72.xml \<br>
        cpu_map/arm_features.xml \<br>
+       cpu_map/arm_Kunpeng-920.xml \<br>
+       cpu_map/arm_ThunderX299xx.xml \<br>
+       cpu_map/arm_Falkor.xml \<br>
+       cpu_map/arm_vendors.xml \<br>
        cpu_map/index.xml \<br>
        cpu_map/ppc64_vendors.xml \<br>
        cpu_map/ppc64_POWER7.xml \<br>
diff --git a/src/cpu_map/arm_Falkor.xml b/src/cpu_map/arm_Falkor.xml<br>
new file mode 100644<br>
index 0000000000..b8f34bbc02<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_Falkor.xml<br>
@@ -0,0 +1,6 @@<br>
+&lt;cpus&gt;<br>
+  &lt;model name=&#39;Falkor&#39;&gt;<br>
+    &lt;vendor name=&#39;Qualcomm&#39;/&gt;<br>
+    &lt;pvr value=&#39;0xc00&#39;/&gt;<br>
+  &lt;/model&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/arm_Kunpeng-920.xml b/src/cpu_map/arm_Kunpeng-920.xml<br>
new file mode 100644<br>
index 0000000000..e06d4744fc<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_Kunpeng-920.xml<br>
@@ -0,0 +1,6 @@<br>
+&lt;cpus&gt;<br>
+  &lt;model name=&#39;Kunpeng-920&#39;&gt;<br>
+    &lt;vendor name=&#39;HiSilicon&#39;/&gt;<br>
+    &lt;pvr value=&#39;0xd01&#39;/&gt;<br>
+  &lt;/model&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/arm_ThunderX299xx.xml b/src/cpu_map/arm_ThunderX299xx.xml<br>
new file mode 100644<br>
index 0000000000..6c0864f601<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_ThunderX299xx.xml<br>
@@ -0,0 +1,6 @@<br>
+&lt;cpus&gt;<br>
+  &lt;model name=&#39;ThunderX2 99xx&#39;&gt;<br>
+    &lt;vendor name=&#39;Cavium&#39;/&gt;<br>
+    &lt;pvr value=&#39;0x0af&#39;/&gt;<br>
+  &lt;/model&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/arm_cortex-a53.xml b/src/cpu_map/arm_cortex-a53.xml<br>
new file mode 100644<br>
index 0000000000..3580236253<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_cortex-a53.xml<br>
@@ -0,0 +1,6 @@<br>
+&lt;cpus&gt;<br>
+  &lt;model name=&#39;cortex-a53&#39;&gt;<br>
+    &lt;vendor name=&#39;ARM&#39;/&gt;<br>
+    &lt;pvr value=&#39;0xd03&#39;/&gt;<br>
+  &lt;/model&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/arm_cortex-a57.xml b/src/cpu_map/arm_cortex-a57.xml<br>
new file mode 100644<br>
index 0000000000..3bc4324173<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_cortex-a57.xml<br>
@@ -0,0 +1,6 @@<br>
+&lt;cpus&gt;<br>
+  &lt;model name=&#39;cortex-a57&#39;&gt;<br>
+    &lt;vendor name=&#39;ARM&#39;/&gt;<br>
+    &lt;pvr value=&#39;0xd07&#39;/&gt;<br>
+  &lt;/model&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/arm_cortex-a72.xml b/src/cpu_map/arm_cortex-a72.xml<br>
new file mode 100644<br>
index 0000000000..c509a40567<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_cortex-a72.xml<br>
@@ -0,0 +1,6 @@<br>
+&lt;cpus&gt;<br>
+  &lt;model name=&#39;cortex-a72&#39;&gt;<br>
+    &lt;vendor name=&#39;ARM&#39;/&gt;<br>
+    &lt;pvr value=&#39;0xd08&#39;/&gt;<br>
+  &lt;/model&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/arm_vendors.xml b/src/cpu_map/arm_vendors.xml<br>
new file mode 100644<br>
index 0000000000..703c2112b1<br>
--- /dev/null<br>
+++ b/src/cpu_map/arm_vendors.xml<br>
@@ -0,0 +1,14 @@<br>
+&lt;cpus&gt;<br>
+  &lt;vendor name=&quot;ARM&quot; value=&quot;0x41&quot;/&gt;<br>
+  &lt;vendor name=&quot;Broadcom&quot; value=&quot;0x42&quot;/&gt;<br>
+  &lt;vendor name=&quot;Cavium&quot; value=&quot;0x43&quot;/&gt;<br>
+  &lt;vendor name=&quot;DigitalEquipment&quot; value=&quot;0x44&quot;/&gt;<br>
+  &lt;vendor name=&quot;HiSilicon&quot; value=&quot;0x48&quot;/&gt;<br>
+  &lt;vendor name=&quot;Infineon&quot; value=&quot;0x49&quot;/&gt;<br>
+  &lt;vendor name=&quot;Freescale&quot; value=&quot;0x4D&quot;/&gt;<br>
+  &lt;vendor name=&quot;NVIDIA&quot; value=&quot;0x4E&quot;/&gt;<br>
+  &lt;vendor name=&quot;APM&quot; value=&quot;0x50&quot;/&gt;<br>
+  &lt;vendor name=&quot;Qualcomm&quot; value=&quot;0x51&quot;/&gt;<br>
+  &lt;vendor name=&quot;Marvell&quot; value=&quot;0x56&quot;/&gt;<br>
+  &lt;vendor name=&quot;Intel&quot; value=&quot;0x69&quot;/&gt;<br>
+&lt;/cpus&gt;<br>
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml<br>
index 50b030de29..20646a031c 100644<br>
--- a/src/cpu_map/index.xml<br>
+++ b/src/cpu_map/index.xml<br>
@@ -85,6 +85,21 @@<br>
   &lt;/arch&gt;<br>
<br>
   &lt;arch name=&#39;arm&#39;&gt;<br>
+    &lt;include filename=&quot;arm_vendors.xml&quot;/&gt;<br>
     &lt;include filename=&#39;arm_features.xml&#39;/&gt;<br>
+<br>
+    &lt;!-- ARM-based CPU models --&gt;<br>
+    &lt;include filename=&quot;arm_cortex-a53.xml&quot;/&gt;<br>
+    &lt;include filename=&quot;arm_cortex-a57.xml&quot;/&gt;<br>
+    &lt;include filename=&quot;arm_cortex-a72.xml&quot;/&gt;<br>
+<br>
+    &lt;!-- Qualcomm-based CPU models --&gt;<br>
+    &lt;include filename=&#39;arm_Falkor.xml&#39;/&gt;<br>
+<br>
+    &lt;!-- Cavium-based CPU models --&gt;<br>
+    &lt;include filename=&#39;arm_ThunderX299xx.xml&#39;/&gt;<br>
+<br>
+    &lt;!-- Hisilicon-based CPU models --&gt;<br>
+    &lt;include filename=&quot;arm_Kunpeng-920.xml&quot;/&gt;<br>
   &lt;/arch&gt;<br>
 &lt;/cpus&gt;<br>
-- <br>
2.20.1<br>
<br>
<br>
</blockquote></div>
Jiri Denemark May 15, 2020, 9:52 a.m. | #2
On Wed, May 13, 2020 at 18:48:36 +0800, Zhenyu Zheng wrote:
> Introduce vendors and some commonly used models

> for ARM arch, these will be used for virConnectionGetCapabilities

> for ARM CPUs.

> 

> Signed-off-by: Zhenyu Zheng <zheng.zhenyu@outlook.com>

> ---

>  src/cpu_map/Makefile.inc.am       |  7 +++++++

>  src/cpu_map/arm_Falkor.xml        |  6 ++++++

>  src/cpu_map/arm_Kunpeng-920.xml   |  6 ++++++

>  src/cpu_map/arm_ThunderX299xx.xml |  6 ++++++

>  src/cpu_map/arm_cortex-a53.xml    |  6 ++++++

>  src/cpu_map/arm_cortex-a57.xml    |  6 ++++++

>  src/cpu_map/arm_cortex-a72.xml    |  6 ++++++

>  src/cpu_map/arm_vendors.xml       | 14 ++++++++++++++

>  src/cpu_map/index.xml             | 15 +++++++++++++++

>  9 files changed, 72 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

> 

> diff --git a/src/cpu_map/Makefile.inc.am b/src/cpu_map/Makefile.inc.am

> index be64c9a0d4..5d9190e27d 100644

> --- a/src/cpu_map/Makefile.inc.am

> +++ b/src/cpu_map/Makefile.inc.am

> @@ -2,7 +2,14 @@

>  

>  cpumapdir = $(pkgdatadir)/cpu_map

>  cpumap_DATA = \

> +	cpu_map/arm_cortex-a53.xml \

> +	cpu_map/arm_cortex-a57.xml \

> +	cpu_map/arm_cortex-a72.xml \

>  	cpu_map/arm_features.xml \

> +	cpu_map/arm_Kunpeng-920.xml \

> +	cpu_map/arm_ThunderX299xx.xml \

> +	cpu_map/arm_Falkor.xml \

> +	cpu_map/arm_vendors.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..b8f34bbc02

> --- /dev/null

> +++ b/src/cpu_map/arm_Falkor.xml

> @@ -0,0 +1,6 @@

> +<cpus>

> +  <model name='Falkor'>

> +    <vendor name='Qualcomm'/>

> +    <pvr value='0xc00'/>

> +  </model>

> +</cpus>


Looks ok now.

Jirka

Patch

diff --git a/src/cpu_map/Makefile.inc.am b/src/cpu_map/Makefile.inc.am
index be64c9a0d4..5d9190e27d 100644
--- a/src/cpu_map/Makefile.inc.am
+++ b/src/cpu_map/Makefile.inc.am
@@ -2,7 +2,14 @@ 
 
 cpumapdir = $(pkgdatadir)/cpu_map
 cpumap_DATA = \
+	cpu_map/arm_cortex-a53.xml \
+	cpu_map/arm_cortex-a57.xml \
+	cpu_map/arm_cortex-a72.xml \
 	cpu_map/arm_features.xml \
+	cpu_map/arm_Kunpeng-920.xml \
+	cpu_map/arm_ThunderX299xx.xml \
+	cpu_map/arm_Falkor.xml \
+	cpu_map/arm_vendors.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..b8f34bbc02
--- /dev/null
+++ b/src/cpu_map/arm_Falkor.xml
@@ -0,0 +1,6 @@ 
+<cpus>
+  <model name='Falkor'>
+    <vendor name='Qualcomm'/>
+    <pvr value='0xc00'/>
+  </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..e06d4744fc
--- /dev/null
+++ b/src/cpu_map/arm_Kunpeng-920.xml
@@ -0,0 +1,6 @@ 
+<cpus>
+  <model name='Kunpeng-920'>
+    <vendor name='HiSilicon'/>
+    <pvr value='0xd01'/>
+  </model>
+</cpus>
diff --git a/src/cpu_map/arm_ThunderX299xx.xml b/src/cpu_map/arm_ThunderX299xx.xml
new file mode 100644
index 0000000000..6c0864f601
--- /dev/null
+++ b/src/cpu_map/arm_ThunderX299xx.xml
@@ -0,0 +1,6 @@ 
+<cpus>
+  <model name='ThunderX2 99xx'>
+    <vendor name='Cavium'/>
+    <pvr value='0x0af'/>
+  </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..3580236253
--- /dev/null
+++ b/src/cpu_map/arm_cortex-a53.xml
@@ -0,0 +1,6 @@ 
+<cpus>
+  <model name='cortex-a53'>
+    <vendor name='ARM'/>
+    <pvr value='0xd03'/>
+  </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..3bc4324173
--- /dev/null
+++ b/src/cpu_map/arm_cortex-a57.xml
@@ -0,0 +1,6 @@ 
+<cpus>
+  <model name='cortex-a57'>
+    <vendor name='ARM'/>
+    <pvr value='0xd07'/>
+  </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..c509a40567
--- /dev/null
+++ b/src/cpu_map/arm_cortex-a72.xml
@@ -0,0 +1,6 @@ 
+<cpus>
+  <model name='cortex-a72'>
+    <vendor name='ARM'/>
+    <pvr value='0xd08'/>
+  </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..20646a031c 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -85,6 +85,21 @@ 
   </arch>
 
   <arch name='arm'>
+    <include filename="arm_vendors.xml"/>
     <include filename='arm_features.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>