qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH-for-9.0? v2 1/4] hw/arm/smmu: Avoid using inlined functions w


From: Eric Auger
Subject: Re: [PATCH-for-9.0? v2 1/4] hw/arm/smmu: Avoid using inlined functions with external linkage again
Date: Tue, 26 Mar 2024 18:33:07 +0100
User-agent: Mozilla Thunderbird

Hi,

On 3/26/24 18:10, Philippe Mathieu-Daudé wrote:
> Similarly to commit 9de9fa5cf2 ("hw/arm/smmu-common: Avoid using
> inlined functions with external linkage"):
>
>   None of our code base require / use inlined functions with external
>   linkage. Some places use internal inlining in the hot path. These
>   two functions are certainly not in any hot path and don't justify
>   any inlining, so these are likely oversights rather than intentional.
>
> Fix:
>
>   C compiler for the host machine: clang (clang 15.0.0 "Apple clang version 
> 15.0.0 (clang-1500.3.9.4)")
>   ...
>   hw/arm/smmu-common.c:203:43: error: static function 
> 'smmu_hash_remove_by_vmid' is
>   used in an inline function with external linkage 
> [-Werror,-Wstatic-in-inline]
>       g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid, &vmid);
>                                             ^
>   include/hw/arm/smmu-common.h:197:1: note: use 'static' to give inline 
> function 'smmu_iotlb_inv_vmid' internal linkage
>   void smmu_iotlb_inv_vmid(SMMUState *s, uint16_t vmid);
>   ^
>   static
>   hw/arm/smmu-common.c:139:17: note: 'smmu_hash_remove_by_vmid' declared here
>   static gboolean smmu_hash_remove_by_vmid(gpointer key, gpointer value,
>                 ^
>
> Fixes: ccc3ee3871 ("hw/arm/smmuv3: Add CMDs related to stage-2")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Message-Id: <20240313184954.42513-2-philmd@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>

Thanks

Eric
> ---
>  hw/arm/smmu-common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
> index 4caedb4998..c4b540656c 100644
> --- a/hw/arm/smmu-common.c
> +++ b/hw/arm/smmu-common.c
> @@ -197,7 +197,7 @@ void smmu_iotlb_inv_asid(SMMUState *s, uint16_t asid)
>      g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_asid, &asid);
>  }
>  
> -inline void smmu_iotlb_inv_vmid(SMMUState *s, uint16_t vmid)
> +void smmu_iotlb_inv_vmid(SMMUState *s, uint16_t vmid)
>  {
>      trace_smmu_iotlb_inv_vmid(vmid);
>      g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid, &vmid);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]