All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] config/arm: add ability to express arch extensions
@ 2021-05-05 12:14 pbhagavatula
  2021-05-05 12:27 ` Jerin Jacob
  2021-05-10 13:13 ` Thomas Monjalon
  0 siblings, 2 replies; 20+ messages in thread
From: pbhagavatula @ 2021-05-05 12:14 UTC (permalink / raw)
  To: jerinj, juraj.linkes, Jan Viktorin, Ruifeng Wang, Bruce Richardson
  Cc: dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

The ARM architecture allows SoCs to have extensions in addition
to base profiles such as Large System Extension (LSE), CRC etc.

Add ability to declare SoC specific extensions.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---

 More details about ARM extensions
 https://developer.arm.com/documentation/102378/0200

 config/arm/meson.build | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 22cd81319..8aa961e5b 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -230,6 +230,7 @@ soc_cn10k = {
         ['RTE_MAX_LCORE', 24],
         ['RTE_MAX_NUMA_NODES', 1]
     ],
+    'extensions' : ['lse', 'crc'],
     'part_number': '0xd49',
     'numa': false
 }
@@ -387,6 +388,7 @@ else
     endif

     soc_flags = []
+    soc_extensions = []
     if soc_config.has_key('not_supported')
         error('SoC @0@ not supported.'.format(soc))
     elif soc_config != {}
@@ -394,6 +396,7 @@ else
         implementer_config = implementers[implementer_id]
         part_number = soc_config['part_number']
         soc_flags = soc_config.get('flags', [])
+        soc_extensions = soc_config.get('extensions', [])
         if not soc_config.get('numa', true)
             has_libnuma = 0
         endif
@@ -431,6 +434,11 @@ else
     # apply supported machine args
     machine_args = [] # Clear previous machine args
     foreach flag: part_number_config['machine_args']
+        if flag.startswith('-march') and soc_extensions.length() != 0
+            foreach ex: soc_extensions
+                flag += '+' + ex
+            endforeach
+        endif
         if cc.has_argument(flag)
             machine_args += flag
         endif
--
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-07-29 18:24 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-05 12:14 [dpdk-dev] [PATCH] config/arm: add ability to express arch extensions pbhagavatula
2021-05-05 12:27 ` Jerin Jacob
2021-05-10 13:13 ` Thomas Monjalon
2021-05-10 17:05   ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2021-05-10 17:20     ` Honnappa Nagarahalli
2021-05-10 17:48       ` Pavan Nikhilesh Bhagavatula
2021-05-10 21:09         ` Honnappa Nagarahalli
2021-05-10 21:28           ` Honnappa Nagarahalli
2021-05-11  8:57             ` Pavan Nikhilesh Bhagavatula
2021-05-11 17:08               ` Honnappa Nagarahalli
2021-05-11 18:50                 ` Pavan Nikhilesh Bhagavatula
2021-05-11 19:42                   ` Honnappa Nagarahalli
2021-05-12  9:17                     ` Pavan Nikhilesh Bhagavatula
2021-05-12  9:31                       ` Bruce Richardson
2021-05-14 11:45                         ` Juraj Linkeš
2021-05-18 13:20                           ` Honnappa Nagarahalli
2021-07-24  8:51                             ` Thomas Monjalon
2021-07-27 13:04                               ` Juraj Linkeš
2021-07-29 18:24                                 ` Pavan Nikhilesh Bhagavatula
2021-05-14 11:19                       ` Juraj Linkeš

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.