- pci_* specialization preserved as a wrapper
* clear_current_group
- private function, just moved
To stop GCC complaining about "defined but not used", the private
function pci_vfio_get_group_no has been removed entirely.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_
There is no more reason to expose those definitions as nobody uses them.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_vfio.c | 15 +--
lib/librte_eal/linuxapp/eal/eal_vfio.h | 11 ---
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/lib
Signed-off-by: Jan Viktorin
Suggested-by: Anatoly Burakov
Acked-by: John McNamara
---
lib/librte_eal/linuxapp/eal/eal_vfio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h
b/lib/librte_eal/linuxapp/eal/eal_vfio.h
index d4532a5
The VFIO does not depend on the PCI anymore so it can be initialized out of
the PCI subsystem.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal.c | 31 ++
lib/librte_eal/linuxapp/eal/eal_pci.c | 17 +---
lib/librte_eal
The module eal_pci_vfio_mp_sync is quite generic so it shouldn't contain the
"pci" string in its name. The internal functions don't need the pci_* prefix.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/Makefile | 4 ++--
lib/lib
We can now just OR the vfio_enabled sequentially and so adding new VFIO
subsystems (vfio_platform) is possible.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c
b
Hello Shreyansh,
?
> On Monday 04 July 2016 08:06 PM, Jan Viktorin wrote:
>> On Mon, 4 Jul 2016 19:57:18 +0530
>> Shreyansh jain wrote:
>>
>> [...]
>>
>>>>>> @@ -1431,7 +1524,7 @@ >rte_eth_dev_info_get(uint8
Hi Adrien,
I am the only one in CC and only in the 00/11 patch. Is it a mistake? Or what
is the purpose?
Regards?
Jan?Viktorin
RehiveTech
Sent?from?a?mobile?device
? P?vodn? zpr?va ?
Od: Adrien Mazarguil
Odesl?no: ?ter?, 5. ?ervence 2016 12:45
Komu: dev at dpdk.org
Kopie: Jan Viktorin
P?edm?t
All devices in the rte_eal_vdev_init/uninit are always virtual devices.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/eal_common_vdev.c | 6 --
1 file changed, 6 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_vdev.c
b/lib/librte_eal/common/eal_common_vdev.c
index
rte_vdev.h).
Signed-off-by: Jan Viktorin
---
lib/librte_eal/bsdapp/eal/Makefile | 1 +
lib/librte_eal/common/Makefile | 2 +-
lib/librte_eal/common/eal_common_dev.c | 54 +---
lib/librte_eal/common/eal_common_vdev.c | 104 +++
lib
00/17] Prepare for rte_device / rte_driver
Thanks anybody for some quick review and notes.
Regards
Jan
--
Jan Viktorin (15):
eal: extract vdev infra
eal: no need to test for PMD_VDEV anymore
eal: do not call init for PMD_PDEV drivers
drivers: convert PMD_VDEV drivers to use
There is no way how to call an init on a PMD_PDEV driver as those
drivers are all PCI drivers and they do not register any rte_driver
with EAL. We can drop the loop over PMD_PDEV drivers entirely.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/eal_common_dev.c | 8
1 file
All PMD_VDEV drivers can now use rte_vdev_driver instead of the
rte_driver (which is embedded in the rte_vdev_driver).
Signed-off-by: Jan Viktorin
---
drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 16 +---
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 16 +---
drivers
These functions are virtual-device specific and they are never called
for any PCI driver (after introducing RTE_EAL_PCI_REGISTER, there is
no way to do it). All affected drivers are updated.
The prototypes are renamed to rte_vdev_init_t and rte_vdev_uninit_t.
Signed-off-by: Jan Viktorin
All devices register themselfs by calling a kind of RTE_EAL_*_REGISTER.
The PMD_REGISTER_DRIVER is not used anymore.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_dev.h | 12
1 file changed, 12 deletions(-)
diff --git a/lib/librte_eal/common/include/rte_dev.h
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_common.h | 16
1 file changed, 16 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_common.h
b/lib/librte_eal/common/include/rte_common.h
index 332f2a4..a9b6792 100644
--- a/lib/librte_eal/common
There is no need to determine a PMD type any more. The PMD_VDEV devices
has its own list of drivers. And all PMD_PDEV are PCI devices using
a different way of registering themselfs.
Signed-off-by: Jan Viktorin
---
drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 1 -
drivers/crypto/aesni_mb
Further refactoring and generalization of PCI infrastructure will
require access to the rte_dev.h contents.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/include/rte_pci.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_eal/common/include/rte_pci.h
b/lib/librte_eal
There is no need to have a custom memory resource representation for
each infrastructure (PCI, ...) as it would always have the same members.
Signed-off-by: Jan Viktorin
---
drivers/net/szedata2/rte_eth_szedata2.c | 4 ++--
lib/librte_eal/common/include/rte_dev.h | 9 +
lib
Signed-off-by: Jan Viktorin
---
app/test/test_pci.c | 10 +++---
app/test/virtual_pmd.c | 2 +-
drivers/crypto/qat/rte_qat_cryptodev.c | 4 +++-
drivers/net/bnx2x/bnx2x_ethdev.c| 8 ++--
drivers/net/cxgbe/cxgbe_ethdev.c| 4
To register both vdev and pci drivers into the list of all rte_driver,
we have to call rte_eal_driver_register explicitly.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/eal_common_pci.c | 2 ++
lib/librte_eal/common/eal_common_vdev.c | 2 ++
2 files changed, 4 insertions(+)
diff --git
Signed-off-by: Jan Viktorin
---
lib/librte_eal/common/eal_common_dev.c | 13 +
lib/librte_eal/common/include/rte_dev.h | 31 +++
2 files changed, 44 insertions(+)
diff --git a/lib/librte_eal/common/eal_common_dev.c
b/lib/librte_eal/common
Signed-off-by: Jan Viktorin
---
app/test/virtual_pmd.c | 4 ++--
drivers/net/fm10k/fm10k_ethdev.c| 6 +++---
drivers/net/virtio/virtio_pci.c | 2 +-
lib/librte_cryptodev/rte_cryptodev.c| 2 +-
lib/librte_eal/common/eal_common_pci.c | 14
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib/librte_eal/linuxapp/eal/eal_pci.c
index 6f1a28a..ab08a16 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci.c
+++ b/lib
On Mon, 11 Jul 2016 18:59:48 +0530
Shreyansh jain wrote:
> Hi Jan,
>
> Some comments.
>
> On Saturday 09 July 2016 12:39 AM, Jan Viktorin wrote:
> > Move all PMD_VDEV-specific code into a separate module and header
> > file to not polute the generic code anymore.
On Tue, 12 Jul 2016 14:15:17 +0530
Shreyansh jain wrote:
> Hi Jan,
>
> On Monday 04 July 2016 08:06 PM, Jan Viktorin wrote:
> > On Mon, 4 Jul 2016 19:57:18 +0530
> > Shreyansh jain wrote:
> >
> > [...]
> >
> >>>>> @@ -1431,
i drivers.
>
> Suggested-by: Jan Viktorin
> Signed-off-by: David Marchand
> Signed-off-by: Shreyansh Jain
> ---
[...]
> +#define RTE_INIT(func) \
> +static void __attribute__((constructor, used)) func(void)
> +
> #ifdef __cplusplus
> }
> #endif
> diff --git a/lib
latter is misleadingly indented
as if it is guarded by the ?if?
if (ret < 0) {
Fixes: 404bd6bfe360 ("net/virtio-user: fix return value not checked")
Signed-off-by: Jan Viktorin
---
drivers/net/virtio/virtio_user_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 delet
On Wed, 13 Jul 2016 11:20:43 +0200
Jan Viktorin wrote:
> Hello Shreyansh,
>
> On Tue, 12 Jul 2016 11:31:10 +0530
> Shreyansh Jain wrote:
>
> > Introduce a RTE_INIT macro used to mark an init function as a constructor.
> > Current eal macros have been converted
On Wed, 13 Jul 2016 11:27:18 +0200
Maxime Coquelin wrote:
> Hi Jan,
>
> On 07/13/2016 11:24 AM, Jan Viktorin wrote:
> > GCC 6 is complaining and seems to be correct here.
> >
> > virtio_user_ethdev.c:345:2: error:
> > this ?if? clause does not guard..
On Wed, 13 Jul 2016 11:27:18 +0200
Maxime Coquelin wrote:
> Hi Jan,
>
> On 07/13/2016 11:24 AM, Jan Viktorin wrote:
> > GCC 6 is complaining and seems to be correct here.
> >
> > virtio_user_ethdev.c:345:2: error:
> > this ?if? clause does not guard..
On Thu, 14 Jul 2016 10:57:55 +0530
Shreyansh jain wrote:
> Hi Jan,
>
> On Wednesday 13 July 2016 11:04 PM, Jan Viktorin wrote:
> > On Wed, 13 Jul 2016 11:20:43 +0200
> > Jan Viktorin wrote:
> >
> >> Hello Shreyansh,
> >>
> >> On Tue,
On Tue, 12 Jul 2016 11:31:22 +0530
Shreyansh Jain wrote:
> Now that hotplug has been moved to eal, there is no reason to keep the device
> type in this layer.
>
> Signed-off-by: David Marchand
> Signed-off-by: Shreyansh Jain
> ---
> app/test/virtual_pmd.c| 2 +-
> drivers
On Tue, 12 Jul 2016 11:31:20 +0530
Shreyansh Jain wrote:
> Hotplug which deals with resources should come from the layer that already
> handles them, i.e. EAL.
>
> For both attach and detach operations, 'name' is used to select the bus
> that will handle the request.
>
> Signed-off-by: David Ma
On Tue, 12 Jul 2016 11:31:21 +0530
Shreyansh Jain wrote:
> Remove bus logic from ethdev hotplug by using eal for this.
>
> Current api is preserved:
> - the last port that has been created is tracked to return it to the
> application when attaching,
> - the internal device name is reused when
On Tue, 12 Jul 2016 11:31:17 +0530
Shreyansh Jain wrote:
> eal is a better place than crypto / ethdev for naming resources.
s/for naming/to name/
What is meant by "resources" here?
> Add a helper in eal and make use of it in crypto / ethdev.
>
> Signed-off-by: David Marchand
> Signed-off-by:
/librte_eal/linuxapp/eal/eal_pci.c
> @@ -417,6 +417,19 @@ pci_scan_one(const char *dirname, uint16_t domain,
> uint8_t bus,
> return 0;
> }
>
> +int
> +pci_update_device(const struct rte_pci_addr *addr)
> +{
> + char filename[PATH_MAX];
> +
> +
Hello Damjan,
thank you for the patch. It makes sense to me.
Next time, please CC the appropriate maintainers.
(See the MAINTAINERS file in the root of the DPDK source tree.)
In the subject after "spinlock:" you should start with a lower case
letter, so "move constructor..."
On Thu, 14 Jul 2016
On Fri, 15 Jul 2016 15:09:58 +0530
Shreyansh jain wrote:
> On Thursday 14 July 2016 10:25 PM, Jan Viktorin wrote:
> > On Tue, 12 Jul 2016 11:31:17 +0530
> > Shreyansh Jain wrote:
> >
> >> eal is a better place than crypto / ethdev for naming resources.
On Fri, 15 Jul 2016 16:06:25 +0530
Shreyansh jain wrote:
> On Thursday 14 July 2016 10:21 PM, Jan Viktorin wrote:
> > On Tue, 12 Jul 2016 11:31:21 +0530
> > Shreyansh Jain wrote:
> >
> >> Remove bus logic from ethdev hotplug by using eal for this.
>
On Fri, 15 Jul 2016 11:56:38 +0200
Thomas Monjalon wrote:
> 2016-07-15 15:09, Shreyansh jain:
> > On Thursday 14 July 2016 10:25 PM, Jan Viktorin wrote:
> > > What is meant by "resources" here?
> >
> > This has historic context (from earlier version
On Fri, 15 Jul 2016 15:19:14 +0200
Thomas Monjalon wrote:
> 2016-07-08 21:09, Jan Viktorin:
> > Hello,
> >
> > based on the discussions with Shreyansh, I propose a patchset with
> > the important EAL changes. It is incomplete and I suppose to extend
> >
library filename as every other libraries.
>
> Signed-off-by: Thomas Monjalon
>
Acked-by: Jan Viktorin
will be
> removed in the next release (v16.11).
>
> Signed-off-by: Yuanhan Liu
> Acked-by: Ciara Loftus
> Acked-by: Thomas Monjalon
> Acked-by: Rich Lane
Acked-by: Jan Viktorin
K objects (ring/mempool) allocated by EAL
>
> As nobody seems interested, it is time to remove this code which
> makes EAL improvements harder.
>
> Signed-off-by: Thomas Monjalon
> Acked-by: David Marchand
> Acked-by: Maxime Coquelin
Acked-by: Jan Viktorin
On Thu, 28 Jul 2016 15:06:10 +0530
Shreyansh Jain wrote:
> Hi Jan,
>
> On Friday 15 July 2016 04:18 PM, Shreyansh jain wrote:
> > On Thursday 14 July 2016 09:27 PM, Jan Viktorin wrote:
[...]
> >>>>> (drv).name = RTE_STR(nm);
> >>>
&g
On Tue, 31 May 2016 22:40:59 +0200
Olivier MATZ wrote:
> Hi,
>
> On 05/31/2016 03:47 PM, Hunt, David wrote:
> > On 5/31/2016 1:06 PM, Jan Viktorin wrote:
> >> On Tue, 31 May 2016 10:09:42 +0100
> >> "Hunt, David" wrote:
> >>
> &g
Hello David,
the rename s/handler/ops/ has a lot of residues. Sorry for that :). I tried to
mark most of them. Otherwise, I couldn't see many more serious issues for now.
Just, note the s/pool/priv/ rename suggestion.
On Wed, 1 Jun 2016 17:19:54 +0100
David Hunt wrote:
> Until now, the object
On Thu, 2 Jun 2016 12:23:41 +0100
"Hunt, David" wrote:
> On 6/1/2016 6:54 PM, Jan Viktorin wrote:
> >
> > mp->populated_size--;
> > @@ -383,13 +349,16 @@ rte_mempool_populate_phys(struct rte_mempool *mp,
> > char *vaddr,
> > unsi
Hello,
sorry for top-posting. I vote for passing rte_mempool instead of void *. This
is what I've already pointed at, a kind of type-safety...? Passing uint64_t
just hides the problem. Another way is to name the union and pass it as eg.
union rte_mempool_priv * to the callbacks.
Jan?Vik
ALLOC set (which would
> use the configured custom handler)
> 3. rte_mempool_create_empty() with MEMPOOL_F_PKT_ALLOC __not__ set followed
> by a call to rte_mempool_set_ops_byname() (would allow several
> different custom
> handlers to be used in one application
>
> Does
On Fri, 10 Jun 2016 09:29:44 +0200
Olivier Matz wrote:
> Hi,
>
> On 06/09/2016 03:09 PM, Jan Viktorin wrote:
> >>> My suggestion is to have an additional flag,
> >>> 'MEMPOOL_F_PKT_ALLOC', which, if specified, would:
> >>>
* state that tile and ppc_64 are not supported in patch 0002
* avoid moving functions test_pci_setup and test_pci_cleanup in patch 0008
Jan Viktorin (10):
app/test: introduce resources for tests
mk: define objcopy-specific target and arch
app/test: support resources externally linked
app/test
tests of simple resources is included and added into
the group_1.
Signed-off-by: Jan Viktorin
---
v3:
* fixed doc comments
---
app/test/Makefile | 2 +
app/test/autotest_data.py | 6 +++
app/test/resource.c | 66 +++
app/test/resource.h | 98
The program objcopy uses non-standard conventions to name the
target and arch. Define the values for supported architecturesi
(tile and ppc_64 are missing).
Signed-off-by: Jan Viktorin
---
v4:
* fixed commit message (removed FIXME)
---
mk/arch/arm/rte.vars.mk | 5 +
mk/arch/arm64
end_;
(extern const char siz_;)
A unit test that packs the resource.c source file is included.
Signed-off-by: Jan Viktorin
---
v4
* fixed trailing semicolon in REGISTER_LINKED_RESOURCE
---
app/test/Makefile| 19 +++
app/test/resource.h | 10 ++
app/test
A resource can be written into the target filesystem by calling
resource_fwrite or resource_fwrite_file. Such file can be created
before a test is started and removed after the test finishes.
Signed-off-by: Jan Viktorin
---
app/test/resource.c | 35 +++
app
patch introduces functions resource_untar and resource_rm_by_tar
to perform those tasks. An example of using those functions is included
as a test.
A new dependency is required to build the app/test: libarchive.
Signed-off-by: Jan Viktorin
---
app/test/Makefile| 9 +++
app/test/resource.c
The test unregisters all drivers before start. The drivers were stored
into a fixed-sized array. This is inflexible. This patch change this to
utilize a linked list for the same purpose.
Signed-off-by: Jan Viktorin
---
v3:
* fixed commit message
* used "backup" to de
Signed-off-by: Jan Viktorin
---
app/test/test_pci.c | 47 ++-
1 file changed, 34 insertions(+), 13 deletions(-)
diff --git a/app/test/test_pci.c b/app/test/test_pci.c
index 8b7c8bb..50078a0 100644
--- a/app/test/test_pci.c
+++ b/app/test/test_pci.c
The current test_pci is just a single test case that tests the
blacklisting of devices. Rename it to test_pci_blacklist and call it
from the test_pci. The setup and cleanup are moved out of the
test_pci_blacklist entirely to cover all other tests.
Signed-off-by: Jan Viktorin
---
v4
* the
now possible to create a fake
sysfs hierarchy for testing.
Signed-off-by: Jan Viktorin
---
v3:
* changed subject
* test_pci_sysfs has been slightly modified to be more understandable
* fixed whitespace in *version.map files
v4:
* fixed checkpatch whitespace issues
---
app/test/Makefile
Dumping of devices in a unittest is useless. Instead, test whether
the test has been set up well - i.e. there are no devices.
Signed-off-by: Jan Viktorin
---
app/test/test_pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/test/test_pci.c b/app/test/test_pci.c
index
+0200
Jan Viktorin wrote:
> Hello,
>
> the fourth version with cosmetic changes according to the short IRC
> discussion.
> Note, we are adding the libarchive dependency by this patch set.
>
> ---
> v1:
> * included 5 patches improving the PCI tests
> * fixed using
t and the SoC infra is not so ready yet.
[1] http://comments.gmane.org/gmane.comp.networking.dpdk.devel/30913
Regards
Jan
---
v2:
* fixed missing ifdef VFIO_PRESENT - broke builds with VFIO disabled
* fixed include of eal_private.h (A. Burakov)
* fixed lost viable code (A. Burakov)
* fixed typo
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
index 10266f8..257162b 100644
--- a/lib/librte_eal/linuxapp/eal
The common VFIO definitions should be separated from the PCI-specific parts.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_init.h | 28
lib/librte_eal/linuxapp/eal/eal_vfio.h | 28
2 files changed, 28 insertions
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 7 ---
lib/librte_eal/linuxapp/eal/eal_vfio.h | 7 +++
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
We make the iommu_types public temporarily here until the depending stuff is
refactored. The iommu_types and dma_map functions will be changed to be private
inside the eal_vfio module later.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/Makefile | 1 +
lib/librte_eal
The pci_vfio_set_iommu_type is not PCI-specific and it is a private function
of the eal_pci_vfio.c. We just rename the function and make it available even
for non-PCI devices.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 25 +
lib
The pci_vfio_has_supported_extensions is not PCI-specific and it is a private
function of the eal_pci_vfio.c. We just rename the function and make it
available even for non-PCI devices.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 36
The constants are not PCI-specific. Move them into the eal_vfio.h.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_init.h | 7 ---
lib/librte_eal/linuxapp/eal/eal_vfio.h | 6 ++
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/lib/librte_eal
The pci_vfio_get_container_fd is not PCI-specific. Move the implementation to
the eal_vfio.c as vfio_get_container_fd. No other code seems to call this
function.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_init.h | 1 -
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 38 +-
lib/librte_eal/linuxapp/eal/eal_vfio.c | 43 ++
lib/librte_eal/linuxapp/eal/eal_vfio.h | 7 +
3 files changed, 51 insertions(+), 37 deletions(-)
diff
- pci_* specialization preserved as a wrapper
* clear_current_group
- private function, just moved
To stop GCC complaining about "defined but not used", the private
function pci_vfio_get_group_no has been removed entirely.
Signed-off-by: Jan Viktorin
---
v2
* viable code was not lost in 1
The setup logic access the global vfio_cfg variable that will be moved in the
following commits. We need to separate all accesses to this variable to a
general code.
Signed-off-by: Jan Viktorin
---
v2
* fixed lost viable code (A. Burakov)
---
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 85
Signed-off-by: Jan Viktorin
Suggested-by: Anatoly Burakov
---
lib/librte_eal/linuxapp/eal/eal_vfio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h
b/lib/librte_eal/linuxapp/eal/eal_vfio.h
index d4532a5..4ca0fa3 100644
--- a/lib
There is no more reason to expose those definitions as nobody uses them.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal_vfio.c | 15 +--
lib/librte_eal/linuxapp/eal/eal_vfio.h | 11 ---
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/lib
The module eal_pci_vfio_mp_sync is quite generic so it shouldn't contain the
"pci" string in its name. The internal functions don't need the pci_* prefix.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/Makefile | 4 ++--
lib/lib
The VFIO does not depend on the PCI anymore so it can be initialized out of
the PCI subsystem.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal.c | 31 ++
lib/librte_eal/linuxapp/eal/eal_pci.c | 17 +---
lib/librte_eal
We can now just OR the vfio_enabled sequentially and so adding new VFIO
subsystems (vfio_platform) is possible.
Signed-off-by: Jan Viktorin
---
lib/librte_eal/linuxapp/eal/eal.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c
b
t at optimising the memccpy's, so I feel
> that with the current benchmark results, it would better just to remove
> the assembly versions, and use the libc version for the initial release
> on ARMv8.
> Then, in the future, the ARMv8 experts are free to submit an optimised
> v
v7), I would agree.
>
>
>
> > +
> > +static inline int rte_atomic16_test_and_set(rte_atomic16_t *v)
> > +{
> > + return rte_atomic16_cmpset((volatile uint16_t *)&v->cnt, 0, 1);
> > +}
--snip--
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
> dmb(ishst);
> }
>
> static inline void rte_rmb(void)
> {
> dmb(ishld);
I cannot see this option in the doc for ARMv7
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0588b/CIHGHHIE.html).
> }
>
> For armv8, it make sense to have above def
RVv8, I should have split the hardware capabilities flags into 32-but
> and 64-bit versions. I'll do that in the next patch.
> Thanks,
> Dave.
Should I split the rte_atomic.h and rte_cpuflags.h then?
Jan
>
>
>
>
>
--
Jan Viktorin E-mail: Viktorin at RehiveTech.com
System Architect Web:www.RehiveTech.com
RehiveTech
Brno, Czech Republic
: 2
BogoMIPS: 3.07
processor : 3
BogoMIPS: 3.07
Features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc05
CPU revision: 1
Hardware: ODROIDC
Revision
one. Something similar could happen for
> the ARMv8 patch set. We just want to end up with the best implementation
> possible. :)
>
It was looking like we can share a lot of common code for both
architectures. I didn't know how much different are the cpuflags.
IMHO, it'd be
On Mon, 2 Nov 2015 19:48:40 +0530
Jerin Jacob wrote:
> Signed-off-by: Jerin Jacob
> ---
> app/test-acl/main.c | 4 +
> lib/librte_acl/Makefile | 5 +
> lib/librte_acl/acl.h | 4 +
> lib/librte_acl/acl_run_neon.c | 46 +++
> lib/librte_acl/acl_run_neon.h | 290
On Mon, 2 Nov 2015 21:59:12 +0530
Jerin Jacob wrote:
> On Mon, Nov 02, 2015 at 03:49:17PM +, Hunt, David wrote:
> > On 02/11/2015 15:36, Jan Viktorin wrote:
> > >On Mon, 2 Nov 2015 15:26:19 +
> > --snip--
> > >It was looking like we can sh
On Mon, 2 Nov 2015 21:49:54 +0530
Jerin Jacob wrote:
> On Mon, Nov 02, 2015 at 04:39:37PM +0100, Jan Viktorin wrote:
> > On Mon, 2 Nov 2015 19:48:40 +0530
> > Jerin Jacob wrote:
> >
> > > Signed-off-by: Jerin Jacob
> > > ---
> > > app/test-ac
: claim responsibility for ARMv7 (2015-11-02 23:34:14 +0100)
---
Jan Viktorin (7):
eal/arm: implement rdtsc by PMU or clock_gettime
eal/arm: use vector memcpy only when NEON is enabled
eal/arm: detect arm architecture in cpu flags
eal/arm: rwlock support for ARM
eal/arm: add very incomplete
From: Vlastimil Kosar
This patch adds architecture specific atomic operation file
for ARM architecture. The RTE_FORCE_INTRINSICS=y is required.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v1 -> v2:
* improve rte_wmb()
* use __atomic_* or __sync_*? (may affect the requi
From: Vlastimil Kosar
This patch adds architecture specific byte order operations
for ARM. The architecture supports both big and little endian.
It requires RTE_FORCE_INTRINSICS=y.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v4: fix passing params to asm volatile for
From: Vlastimil Kosar
ARM architecture doesn't have a suitable source of CPU cycles. This
patch uses clock_gettime instead. The implementation should be improved
in the future.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v5: prepare for applying ARMv8
---
.../c
Enable to choose a preferred way to read timer based on the
configuration entry CONFIG_RTE_ARM_EAL_RDTSC_USE_PMU.
It requires a kernel module that is not included to work.
Based on the patch by David Hunt and Armuta Zende:
lib: added support for armv7 architecture
Signed-off-by: Jan Viktorin
From: Vlastimil Kosar
This patch adds architecture specific prefetch operations
for ARM architecture. It utilizes the pld instruction that
starts filling the appropriate cache line without blocking.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v4:
* checkpatch does not like
From: Vlastimil Kosar
This patch adds spinlock operations for ARM architecture.
We do not support HTM in spinlocks on ARM. Setting of the
RTE_FORCE_INTRINSICS=y is required.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v6: use builtin intrinsics implementation
: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v4:
* fix whitespace issues reported by checkpatch
* fix passing params to asm volatile for checkpatch
v5: prepare for applying ARMv8
---
.../common/include/arch/arm/rte_memcpy.h | 38 +++
.../common/include/arch/arm/rte_memcpy_32.h
The GCC can be configured to avoid using NEON extensions.
For that purpose, we provide just the memcpy implementation
of the rte_memcpy.
Based on the patch by David Hunt and Armuta Zende:
lib: added support for armv7 architecture
Signed-off-by: Jan Viktorin
Signed-off-by: Amruta Zende
From: Vlastimil Kosar
This implementation is based on IBM POWER version of
rte_cpuflags. We use software emulation of HW capability
registers, because those are usually not directly accessible
from userspace on ARM.
Signed-off-by: Vlastimil Kosar
Signed-off-by: Jan Viktorin
---
v6: separate
301 - 400 of 624 matches
Mail list logo