[PATCH 1/3] x86/apic: Drop atomic accessors

Andrew Cooper posted 3 patches 11 months, 3 weeks ago
[PATCH 1/3] x86/apic: Drop atomic accessors
Posted by Andrew Cooper 11 months, 3 weeks ago
The last users were dropped in commit 413e92e9bf13 ("x86/apic: Drop
workarounds for Pentium/82489DX erratum").

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/include/asm/apic.h | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
index f7ad7b20dd80..288b4933eb38 100644
--- a/xen/arch/x86/include/asm/apic.h
+++ b/xen/arch/x86/include/asm/apic.h
@@ -54,11 +54,6 @@ static __inline void apic_mem_write(unsigned long reg, u32 v)
 	*((volatile u32 *)(APIC_BASE+reg)) = v;
 }
 
-static __inline void apic_mem_write_atomic(unsigned long reg, u32 v)
-{
-	(void)xchg((volatile u32 *)(APIC_BASE+reg), v);
-}
-
 static __inline u32 apic_mem_read(unsigned long reg)
 {
 	return *((volatile u32 *)(APIC_BASE+reg));
@@ -97,14 +92,6 @@ static __inline void apic_write(unsigned long reg, u32 v)
         apic_mem_write(reg, v);
 }
 
-static __inline void apic_write_atomic(unsigned long reg, u32 v)
-{
-    if ( x2apic_enabled )
-        apic_wrmsr(reg, v);
-    else
-        apic_mem_write_atomic(reg, v);
-}
-
 static __inline u32 apic_read(unsigned long reg)
 {
     if ( x2apic_enabled )
-- 
2.30.2


Re: [PATCH 1/3] x86/apic: Drop atomic accessors
Posted by Stefano Stabellini 11 months, 3 weeks ago
On Wed, 22 Nov 2023, Andrew Cooper wrote:
> The last users were dropped in commit 413e92e9bf13 ("x86/apic: Drop
> workarounds for Pentium/82489DX erratum").
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  xen/arch/x86/include/asm/apic.h | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
> index f7ad7b20dd80..288b4933eb38 100644
> --- a/xen/arch/x86/include/asm/apic.h
> +++ b/xen/arch/x86/include/asm/apic.h
> @@ -54,11 +54,6 @@ static __inline void apic_mem_write(unsigned long reg, u32 v)
>  	*((volatile u32 *)(APIC_BASE+reg)) = v;
>  }
>  
> -static __inline void apic_mem_write_atomic(unsigned long reg, u32 v)
> -{
> -	(void)xchg((volatile u32 *)(APIC_BASE+reg), v);
> -}
> -
>  static __inline u32 apic_mem_read(unsigned long reg)
>  {
>  	return *((volatile u32 *)(APIC_BASE+reg));
> @@ -97,14 +92,6 @@ static __inline void apic_write(unsigned long reg, u32 v)
>          apic_mem_write(reg, v);
>  }
>  
> -static __inline void apic_write_atomic(unsigned long reg, u32 v)
> -{
> -    if ( x2apic_enabled )
> -        apic_wrmsr(reg, v);
> -    else
> -        apic_mem_write_atomic(reg, v);
> -}
> -
>  static __inline u32 apic_read(unsigned long reg)
>  {
>      if ( x2apic_enabled )
> -- 
> 2.30.2
> 
>