[PATCH v5 1/1] eal: add internal function to get base address
Thomas Monjalon
thomas at monjalon.net
Wed Feb 2 15:19:19 CET 2022
Dmitry, Anatoly,
any new comment on this v5?
18/01/2022 14:33, Srikanth Yalavarthi:
> Added an internal helper to get OS-specific EAL mapping base address
>
> This helper can be used by the drivers to program offload / accelerator
> devices, where the base address can be used as a reference address by
> the accelerator to access the host memory
>
> An address can also be represented as an offset relative to the base
> address using smaller data types
>
> Signed-off-by: Srikanth Yalavarthi <syalavarthi at marvell.com>
> ---
> lib/eal/common/eal_common_config.c | 9 +++++++++
> lib/eal/include/rte_eal.h | 9 +++++++++
> lib/eal/version.map | 1 +
> 3 files changed, 19 insertions(+)
>
> diff --git a/lib/eal/common/eal_common_config.c b/lib/eal/common/eal_common_config.c
> index 1c4c4dd585..19598cb28d 100644
> --- a/lib/eal/common/eal_common_config.c
> +++ b/lib/eal/common/eal_common_config.c
> @@ -87,3 +87,12 @@ rte_eal_has_pci(void)
> {
> return !internal_config.no_pci;
> }
> +
> +/* Get the EAL base address */
> +uint64_t
> +rte_eal_get_baseaddr(void)
> +{
> + return (internal_config.base_virtaddr != 0) ?
> + (uint64_t) internal_config.base_virtaddr :
> + eal_get_baseaddr();
> +}
> diff --git a/lib/eal/include/rte_eal.h b/lib/eal/include/rte_eal.h
> index 5a34a6acd9..29298c3c83 100644
> --- a/lib/eal/include/rte_eal.h
> +++ b/lib/eal/include/rte_eal.h
> @@ -475,6 +475,15 @@ rte_eal_mbuf_user_pool_ops(void);
> const char *
> rte_eal_get_runtime_dir(void);
>
> +/**
> + * Get the OS-specific EAL base address.
> + *
> + * @return
> + * The base address.
> + */
> +__rte_internal
> +uint64_t rte_eal_get_baseaddr(void);
> +
> #ifdef __cplusplus
> }
> #endif
> diff --git a/lib/eal/version.map b/lib/eal/version.map
> index ab28c22791..b53eeb30d7 100644
> --- a/lib/eal/version.map
> +++ b/lib/eal/version.map
> @@ -425,6 +425,7 @@ EXPERIMENTAL {
> INTERNAL {
> global:
>
> + rte_eal_get_baseaddr;
> rte_firmware_read;
> rte_intr_allow_others;
> rte_intr_cap_multiple;
>
More information about the dev
mailing list