[1/2] config/arm: fix Hisilicon kunpeng920 SoC build

Message ID 1612356396-21309-2-git-send-email-oulijun@huawei.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series meson build fixes for hns3 |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Lijun Ou Feb. 3, 2021, 12:46 p.m. UTC
  From: Chengchang Tang <tangchengchang@huawei.com>

Because of the '9ca2f16' have merged, the current hns3
pmd driver can not be directly complied on the kunpeng920
server board. Therefore, we need to fix the meson build.
Besides, add kunpeng 920 SoC meson cross compile target.

Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
---
 config/arm/arm64_kunpeng920_linux_gcc               | 19 +++++++++++++++++++
 config/arm/meson.build                              | 20 ++++++++++++++++++++
 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst |  4 ++++
 3 files changed, 43 insertions(+)
 create mode 100644 config/arm/arm64_kunpeng920_linux_gcc
  

Comments

Thomas Monjalon Feb. 10, 2021, 9:41 a.m. UTC | #1
03/02/2021 13:46, Lijun Ou:
> From: Chengchang Tang <tangchengchang@huawei.com>
> 
> Because of the '9ca2f16' have merged, the current hns3
> pmd driver can not be directly complied on the kunpeng920
> server board. Therefore, we need to fix the meson build.
> Besides, add kunpeng 920 SoC meson cross compile target.
> 
> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")

Why do you think this patch is fixing the one above?
It looks just a new config, not a fix. Am I missing something?
  
Lijun Ou Feb. 24, 2021, 1:34 a.m. UTC | #2
在 2021/2/10 17:41, Thomas Monjalon 写道:
> 03/02/2021 13:46, Lijun Ou:
>> From: Chengchang Tang <tangchengchang@huawei.com>
>>
>> Because of the '9ca2f16' have merged, the current hns3
>> pmd driver can not be directly complied on the kunpeng920
>> server board. Therefore, we need to fix the meson build.
>> Besides, add kunpeng 920 SoC meson cross compile target.
>>
>> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
> 
> Why do you think this patch is fixing the one above?
> It looks just a new config, not a fix. Am I missing something?
> 
I'm sorry to see you so late. In the meantime, we are celebrating the 
Spring Festival. This patch fixes the problem. If the patch is not 
added, the latest version cannot be directly compiled on the Kunpeng 930 
server board.In addition, the cross compilation configuration file is added.
> 
> .
>
  
Thomas Monjalon Feb. 24, 2021, 7:41 a.m. UTC | #3
24/02/2021 02:34, oulijun:
> 
> 在 2021/2/10 17:41, Thomas Monjalon 写道:
> > 03/02/2021 13:46, Lijun Ou:
> >> From: Chengchang Tang <tangchengchang@huawei.com>
> >>
> >> Because of the '9ca2f16' have merged, the current hns3
> >> pmd driver can not be directly complied on the kunpeng920
> >> server board. Therefore, we need to fix the meson build.
> >> Besides, add kunpeng 920 SoC meson cross compile target.
> >>
> >> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
> > 
> > Why do you think this patch is fixing the one above?
> > It looks just a new config, not a fix. Am I missing something?
> > 
> I'm sorry to see you so late. In the meantime, we are celebrating the 
> Spring Festival. This patch fixes the problem. If the patch is not 
> added, the latest version cannot be directly compiled on the Kunpeng 930 
> server board.In addition, the cross compilation configuration file is added.

Please can you explain what was removed which breaks your compilation?
  
Lijun Ou Feb. 24, 2021, 9:17 a.m. UTC | #4
在 2021/2/24 15:41, Thomas Monjalon 写道:
> 24/02/2021 02:34, oulijun:
>>
>> 在 2021/2/10 17:41, Thomas Monjalon 写道:
>>> 03/02/2021 13:46, Lijun Ou:
>>>> From: Chengchang Tang <tangchengchang@huawei.com>
>>>>
>>>> Because of the '9ca2f16' have merged, the current hns3
>>>> pmd driver can not be directly complied on the kunpeng920
>>>> server board. Therefore, we need to fix the meson build.
>>>> Besides, add kunpeng 920 SoC meson cross compile target.
>>>>
>>>> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
>>>
>>> Why do you think this patch is fixing the one above?
>>> It looks just a new config, not a fix. Am I missing something?
>>>
>> I'm sorry to see you so late. In the meantime, we are celebrating the
>> Spring Festival. This patch fixes the problem. If the patch is not
>> added, the latest version cannot be directly compiled on the Kunpeng 930
>> server board.In addition, the cross compilation configuration file is added.
> 
> Please can you explain what was removed which breaks your compilation?
> 
I understand that implementation_id is identified in 9ca2f16. If the 
configuration file does not contain implementation_id, it will be 
displayed as unsupported.

The error as follows:
config/arm/meson.build:227:2: ERROR: Problem encountered: Unsupported 
Arm implementer: 0x48. Please add support for it or use the generic 
(-Dmachine=generic) build.

Besides, we use the -Dmachine=generic, the bug is not resolved.
the cmd as:
  meson build or meson -Dmachine=generic build
> 
> .
>
  
Thomas Monjalon Feb. 24, 2021, 10:24 a.m. UTC | #5
24/02/2021 10:17, oulijun:
> 
> 在 2021/2/24 15:41, Thomas Monjalon 写道:
> > 24/02/2021 02:34, oulijun:
> >>
> >> 在 2021/2/10 17:41, Thomas Monjalon 写道:
> >>> 03/02/2021 13:46, Lijun Ou:
> >>>> From: Chengchang Tang <tangchengchang@huawei.com>
> >>>>
> >>>> Because of the '9ca2f16' have merged, the current hns3
> >>>> pmd driver can not be directly complied on the kunpeng920
> >>>> server board. Therefore, we need to fix the meson build.
> >>>> Besides, add kunpeng 920 SoC meson cross compile target.
> >>>>
> >>>> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
> >>>
> >>> Why do you think this patch is fixing the one above?
> >>> It looks just a new config, not a fix. Am I missing something?
> >>>
> >> I'm sorry to see you so late. In the meantime, we are celebrating the
> >> Spring Festival. This patch fixes the problem. If the patch is not
> >> added, the latest version cannot be directly compiled on the Kunpeng 930
> >> server board.In addition, the cross compilation configuration file is added.
> > 
> > Please can you explain what was removed which breaks your compilation?
> > 
> I understand that implementation_id is identified in 9ca2f16. If the 
> configuration file does not contain implementation_id, it will be 
> displayed as unsupported.
> 
> The error as follows:
> config/arm/meson.build:227:2: ERROR: Problem encountered: Unsupported 
> Arm implementer: 0x48. Please add support for it or use the generic 
> (-Dmachine=generic) build.
> 
> Besides, we use the -Dmachine=generic, the bug is not resolved.
> the cmd as:
>   meson build or meson -Dmachine=generic build

What is the result of a generic build?
  
Juraj Linkeš Feb. 24, 2021, 11:55 a.m. UTC | #6
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> Sent: Wednesday, February 24, 2021 8:42 AM
> To: oulijun <oulijun@huawei.com>
> Cc: ferruh.yigit@intel.com; dev@dpdk.org; linuxarm@openeuler.org
> Subject: Re: [dpdk-dev] [PATCH 1/2] config/arm: fix Hisilicon kunpeng920 SoC
> build
> 
> 24/02/2021 02:34, oulijun:
> >
> > 在 2021/2/10 17:41, Thomas Monjalon 写道:
> > > 03/02/2021 13:46, Lijun Ou:
> > >> From: Chengchang Tang <tangchengchang@huawei.com>
> > >>
> > >> Because of the '9ca2f16' have merged, the current hns3 pmd driver
> > >> can not be directly complied on the kunpeng920 server board.
> > >> Therefore, we need to fix the meson build.
> > >> Besides, add kunpeng 920 SoC meson cross compile target.
> > >>
> > >> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
> > >
> > > Why do you think this patch is fixing the one above?
> > > It looks just a new config, not a fix. Am I missing something?
> > >
> > I'm sorry to see you so late. In the meantime, we are celebrating the
> > Spring Festival. This patch fixes the problem. If the patch is not
> > added, the latest version cannot be directly compiled on the Kunpeng
> > 930 server board.In addition, the cross compilation configuration file is added.
> 
> Please can you explain what was removed which breaks your compilation?
> 
> 

I can explain what's changed and why we changed it.

The previous behavior was that when an uknown implementer was found (when we're building on an uknown build machine) we fell back to a generic build.
The current behavior is we raise an error when building on an unknown build machine and inform the user about the generic build (there's an error in the message, it should be -Dmachine=default instead of -Dmachine=generic). Lijun came across this scenario, so he wants to add an implementer, but it is not a fix, rather an addition that we wanted to encourage when we changed the behavior. The change in behavior also has an additional benefit in that it notifies the user that meson is not doing a tailored build for the build machine and the only permissible build is the generic one.
  
Thomas Monjalon Feb. 24, 2021, 12:09 p.m. UTC | #7
24/02/2021 12:55, Juraj Linkeš:
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> > 24/02/2021 02:34, oulijun:
> > >
> > > 在 2021/2/10 17:41, Thomas Monjalon 写道:
> > > > 03/02/2021 13:46, Lijun Ou:
> > > >> From: Chengchang Tang <tangchengchang@huawei.com>
> > > >>
> > > >> Because of the '9ca2f16' have merged, the current hns3 pmd driver
> > > >> can not be directly complied on the kunpeng920 server board.
> > > >> Therefore, we need to fix the meson build.
> > > >> Besides, add kunpeng 920 SoC meson cross compile target.
> > > >>
> > > >> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
> > > >
> > > > Why do you think this patch is fixing the one above?
> > > > It looks just a new config, not a fix. Am I missing something?
> > > >
> > > I'm sorry to see you so late. In the meantime, we are celebrating the
> > > Spring Festival. This patch fixes the problem. If the patch is not
> > > added, the latest version cannot be directly compiled on the Kunpeng
> > > 930 server board.In addition, the cross compilation configuration file is added.
> > 
> > Please can you explain what was removed which breaks your compilation?
> > 
> 
> I can explain what's changed and why we changed it.
> 
> The previous behavior was that when an uknown implementer was found (when we're building on an uknown build machine) we fell back to a generic build.
> The current behavior is we raise an error when building on an unknown build machine and inform the user about the generic build (there's an error in the message, it should be -Dmachine=default instead of -Dmachine=generic). Lijun came across this scenario, so he wants to add an implementer, but it is not a fix, rather an addition that we wanted to encourage when we changed the behavior. The change in behavior also has an additional benefit in that it notifies the user that meson is not doing a tailored build for the build machine and the only permissible build is the generic one.

There were already many fixes for that rework.
Please check if there are other missing updates.
  
Juraj Linkeš March 1, 2021, 10:46 a.m. UTC | #8
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, February 24, 2021 1:10 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: oulijun <oulijun@huawei.com>; ferruh.yigit@intel.com; dev@dpdk.org;
> linuxarm@openeuler.org
> Subject: Re: [dpdk-dev] [PATCH 1/2] config/arm: fix Hisilicon kunpeng920 SoC
> build
> 
> 24/02/2021 12:55, Juraj Linkeš:
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> > > 24/02/2021 02:34, oulijun:
> > > >
> > > > 在 2021/2/10 17:41, Thomas Monjalon 写道:
> > > > > 03/02/2021 13:46, Lijun Ou:
> > > > >> From: Chengchang Tang <tangchengchang@huawei.com>
> > > > >>
> > > > >> Because of the '9ca2f16' have merged, the current hns3 pmd
> > > > >> driver can not be directly complied on the kunpeng920 server board.
> > > > >> Therefore, we need to fix the meson build.
> > > > >> Besides, add kunpeng 920 SoC meson cross compile target.
> > > > >>
> > > > >> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
> > > > >
> > > > > Why do you think this patch is fixing the one above?
> > > > > It looks just a new config, not a fix. Am I missing something?
> > > > >
> > > > I'm sorry to see you so late. In the meantime, we are celebrating
> > > > the Spring Festival. This patch fixes the problem. If the patch is
> > > > not added, the latest version cannot be directly compiled on the
> > > > Kunpeng
> > > > 930 server board.In addition, the cross compilation configuration file is
> added.
> > >
> > > Please can you explain what was removed which breaks your compilation?
> > >
> >
> > I can explain what's changed and why we changed it.
> >
> > The previous behavior was that when an uknown implementer was found
> (when we're building on an uknown build machine) we fell back to a generic
> build.
> > The current behavior is we raise an error when building on an unknown build
> machine and inform the user about the generic build (there's an error in the
> message, it should be -Dmachine=default instead of -Dmachine=generic). Lijun
> came across this scenario, so he wants to add an implementer, but it is not a fix,
> rather an addition that we wanted to encourage when we changed the
> behavior. The change in behavior also has an additional benefit in that it notifies
> the user that meson is not doing a tailored build for the build machine and the
> only permissible build is the generic one.
> 
> There were already many fixes for that rework.
> Please check if there are other missing updates.
> 

This is actually the first mistake that my testing missed. I tested that the message is properly emitted, but I didn't test the message after we extracted the default->generic rename patch. As a side note, we could address this issue with http://patches.dpdk.org/project/dpdk/patch/1613657555-17683-1-git-send-email-juraj.linkes@pantheon.tech/ - then we can leave the message in place as is (with -Dmachine=generic).

I went through all of the patches again but I didn't find anything that needs addressing.

As far as I'm aware, there were two other fixes for the series. One was a failure of communication (the native margs fix - I implemented what we thought we agreed on) and the other is not really a fix, just the addition of one implementer configuration (I removed the implementer because we didn't have its configuration). The clang cross-compile fixes are related, but those are the problem with that series, not the rework series.

> 
>
  
Lijun Ou March 5, 2021, 1:36 a.m. UTC | #9
在 2021/3/1 18:46, Juraj Linkeš 写道:
> 
> 
>> -----Original Message-----
>> From: Thomas Monjalon <thomas@monjalon.net>
>> Sent: Wednesday, February 24, 2021 1:10 PM
>> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
>> Cc: oulijun <oulijun@huawei.com>; ferruh.yigit@intel.com; dev@dpdk.org;
>> linuxarm@openeuler.org
>> Subject: Re: [dpdk-dev] [PATCH 1/2] config/arm: fix Hisilicon kunpeng920 SoC
>> build
>>
>> 24/02/2021 12:55, Juraj Linkeš:
>>> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
>>>> 24/02/2021 02:34, oulijun:
>>>>>
>>>>> 在 2021/2/10 17:41, Thomas Monjalon 写道:
>>>>>> 03/02/2021 13:46, Lijun Ou:
>>>>>>> From: Chengchang Tang <tangchengchang@huawei.com>
>>>>>>>
>>>>>>> Because of the '9ca2f16' have merged, the current hns3 pmd
>>>>>>> driver can not be directly complied on the kunpeng920 server board.
>>>>>>> Therefore, we need to fix the meson build.
>>>>>>> Besides, add kunpeng 920 SoC meson cross compile target.
>>>>>>>
>>>>>>> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
>>>>>>
>>>>>> Why do you think this patch is fixing the one above?
>>>>>> It looks just a new config, not a fix. Am I missing something?
>>>>>>
>>>>> I'm sorry to see you so late. In the meantime, we are celebrating
>>>>> the Spring Festival. This patch fixes the problem. If the patch is
>>>>> not added, the latest version cannot be directly compiled on the
>>>>> Kunpeng
>>>>> 930 server board.In addition, the cross compilation configuration file is
>> added.
>>>>
>>>> Please can you explain what was removed which breaks your compilation?
>>>>
>>>
>>> I can explain what's changed and why we changed it.
>>>
>>> The previous behavior was that when an uknown implementer was found
>> (when we're building on an uknown build machine) we fell back to a generic
>> build.
>>> The current behavior is we raise an error when building on an unknown build
>> machine and inform the user about the generic build (there's an error in the
>> message, it should be -Dmachine=default instead of -Dmachine=generic). Lijun
>> came across this scenario, so he wants to add an implementer, but it is not a fix,
>> rather an addition that we wanted to encourage when we changed the
>> behavior. The change in behavior also has an additional benefit in that it notifies
>> the user that meson is not doing a tailored build for the build machine and the
>> only permissible build is the generic one.
>>
>> There were already many fixes for that rework.
>> Please check if there are other missing updates.
>>
> 
> This is actually the first mistake that my testing missed. I tested that the message is properly emitted, but I didn't test the message after we extracted the default->generic rename patch. As a side note, we could address this issue with http://patches.dpdk.org/project/dpdk/patch/1613657555-17683-1-git-send-email-juraj.linkes@pantheon.tech/ - then we can leave the message in place as is (with -Dmachine=generic).
> 
> I went through all of the patches again but I didn't find anything that needs addressing.
> 
> As far as I'm aware, there were two other fixes for the series. One was a failure of communication (the native margs fix - I implemented what we thought we agreed on) and the other is not really a fix, just the addition of one implementer configuration (I removed the implementer because we didn't have its configuration). The clang cross-compile fixes are related, but those are the problem with that series, not the rework series.
> 
Hi,
   the patch 
http://patches.dpdk.org/project/dpdk/patch/1613657555-17683-1-git-send-email-juraj.linkes@pantheon.tech/
will this patch be incorporated? We have realized this problem and fixed 
it in the internal version.
>>
>>
>
  
humin (Q) March 22, 2021, 1:01 a.m. UTC | #10
Hi, all,
	any comments for this patch?
	Hope for your reply.
	Thanks.


在 2021/3/5 9:36, oulijun 写道:
> 
> 
> 在 2021/3/1 18:46, Juraj Linkeš 写道:
>>
>>
>>> -----Original Message-----
>>> From: Thomas Monjalon <thomas@monjalon.net>
>>> Sent: Wednesday, February 24, 2021 1:10 PM
>>> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
>>> Cc: oulijun <oulijun@huawei.com>; ferruh.yigit@intel.com; dev@dpdk.org;
>>> linuxarm@openeuler.org
>>> Subject: Re: [dpdk-dev] [PATCH 1/2] config/arm: fix Hisilicon 
>>> kunpeng920 SoC
>>> build
>>>
>>> 24/02/2021 12:55, Juraj Linkeš:
>>>> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
>>>>> 24/02/2021 02:34, oulijun:
>>>>>>
>>>>>> 在 2021/2/10 17:41, Thomas Monjalon 写道:
>>>>>>> 03/02/2021 13:46, Lijun Ou:
>>>>>>>> From: Chengchang Tang <tangchengchang@huawei.com>
>>>>>>>>
>>>>>>>> Because of the '9ca2f16' have merged, the current hns3 pmd
>>>>>>>> driver can not be directly complied on the kunpeng920 server board.
>>>>>>>> Therefore, we need to fix the meson build.
>>>>>>>> Besides, add kunpeng 920 SoC meson cross compile target.
>>>>>>>>
>>>>>>>> Fixes: 9ca2f16faa7f ("config/arm: isolate generic build")
>>>>>>>
>>>>>>> Why do you think this patch is fixing the one above?
>>>>>>> It looks just a new config, not a fix. Am I missing something?
>>>>>>>
>>>>>> I'm sorry to see you so late. In the meantime, we are celebrating
>>>>>> the Spring Festival. This patch fixes the problem. If the patch is
>>>>>> not added, the latest version cannot be directly compiled on the
>>>>>> Kunpeng
>>>>>> 930 server board.In addition, the cross compilation configuration 
>>>>>> file is
>>> added.
>>>>>
>>>>> Please can you explain what was removed which breaks your compilation?
>>>>>
>>>>
>>>> I can explain what's changed and why we changed it.
>>>>
>>>> The previous behavior was that when an uknown implementer was found
>>> (when we're building on an uknown build machine) we fell back to a 
>>> generic
>>> build.
>>>> The current behavior is we raise an error when building on an 
>>>> unknown build
>>> machine and inform the user about the generic build (there's an error 
>>> in the
>>> message, it should be -Dmachine=default instead of 
>>> -Dmachine=generic). Lijun
>>> came across this scenario, so he wants to add an implementer, but it 
>>> is not a fix,
>>> rather an addition that we wanted to encourage when we changed the
>>> behavior. The change in behavior also has an additional benefit in 
>>> that it notifies
>>> the user that meson is not doing a tailored build for the build 
>>> machine and the
>>> only permissible build is the generic one.
>>>
>>> There were already many fixes for that rework.
>>> Please check if there are other missing updates.
>>>
>>
>> This is actually the first mistake that my testing missed. I tested 
>> that the message is properly emitted, but I didn't test the message 
>> after we extracted the default->generic rename patch. As a side note, 
>> we could address this issue with 
>> http://patches.dpdk.org/project/dpdk/patch/1613657555-17683-1-git-send-email-juraj.linkes@pantheon.tech/ 
>> - then we can leave the message in place as is (with -Dmachine=generic).
>>
>> I went through all of the patches again but I didn't find anything 
>> that needs addressing.
>>
>> As far as I'm aware, there were two other fixes for the series. One 
>> was a failure of communication (the native margs fix - I implemented 
>> what we thought we agreed on) and the other is not really a fix, just 
>> the addition of one implementer configuration (I removed the 
>> implementer because we didn't have its configuration). The clang 
>> cross-compile fixes are related, but those are the problem with that 
>> series, not the rework series.
>>
> Hi,
>    the patch 
> http://patches.dpdk.org/project/dpdk/patch/1613657555-17683-1-git-send-email-juraj.linkes@pantheon.tech/ 
> 
> will this patch be incorporated? We have realized this problem and fixed 
> it in the internal version.
>>>
>>>
>>
> .
  

Patch

diff --git a/config/arm/arm64_kunpeng920_linux_gcc b/config/arm/arm64_kunpeng920_linux_gcc
new file mode 100644
index 0000000..3eeb2e9
--- /dev/null
+++ b/config/arm/arm64_kunpeng920_linux_gcc
@@ -0,0 +1,19 @@ 
+[binaries]
+c = 'aarch64-linux-gnu-gcc'
+cpp = 'aarch64-linux-gnu-cpp'
+ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8-a'
+endian = 'little'
+
+[properties]
+implementer_id = '0x48'
+part_number = '0xd01'
+max_lcores = 128
+max_numa_nodes = 4
diff --git a/config/arm/meson.build b/config/arm/meson.build
index f948768..9b87f5a 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -133,6 +133,25 @@  implementer_cavium = {
 	}
 }
 
+implementer_hisilicon = {
+	'description': 'Hisilicon',
+	'flags': [
+		['RTE_USE_C11_MEM_MODEL', true],
+		['RTE_CACHE_LINE_SIZE', 128],
+		['RTE_MAX_NUMA_NODES', 4]
+	],
+	'part_number_config': {
+		'0xd01': {
+			'machine_args': ['-march=armv8.2-a+crypto',
+					 '-mtune=tsv110'],
+			'flag': [['RTE_MACHINE', '"kunpeng920"'],
+				 ['RTE_MAX_LCORE', 128],
+				 ['RTE_ARM_FEATURE_ATOMICS', true]
+			]
+		}
+	}
+}
+
 implementer_ampere = {
 	'description': 'Ampere Computing',
 	'flags': [
@@ -176,6 +195,7 @@  implementers = {
 	'generic': implementer_generic,
 	'0x41': implementer_arm,
 	'0x43': implementer_cavium,
+	'0x48': implementer_hisilicon,
 	'0x50': implementer_ampere,
 	'0x56': implementer_marvell,
 	'dpaa': implementer_dpaa
diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index faaf24b..afe4f8e 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -197,6 +197,7 @@  you may use various combinations of implementer/part number::
       'generic': Generic armv8
       '0x41':    Arm
       '0x43':    Cavium
+      '0x48':    Hisilicon
       '0x50':    Ampere Computing
       '0x56':    Marvell ARMADA
       'dpaa':    NXP DPAA
@@ -219,6 +220,9 @@  you may use various combinations of implementer/part number::
       '0xaf':    thunderx2t99
       '0xb2':    octeontx2
 
+   Supported part_numbers for 0x48:
+      '0xd01':    kunpeng920
+
    Supported part_numbers for 0x50:
       '0x0':     emag