[v2,16/38] x86/apic: Use u32 for [gs]et_apic_id()
Commit Message
APIC IDs are used with random data types u16, u32, int, unsigned int,
unsigned long.
Make it all consistently use u32 because that reflects the hardware
register width.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/x86/include/asm/apic.h | 14 ++------------
arch/x86/kernel/apic/apic_flat_64.c | 4 ++--
arch/x86/kernel/apic/apic_noop.c | 2 +-
arch/x86/kernel/apic/apic_numachip.c | 8 ++++----
arch/x86/kernel/apic/bigsmp_32.c | 2 +-
arch/x86/kernel/apic/local.h | 4 ++--
arch/x86/kernel/apic/probe_32.c | 10 ++++++++++
arch/x86/kernel/apic/x2apic_phys.c | 4 ++--
arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
arch/x86/xen/apic.c | 4 ++--
10 files changed, 27 insertions(+), 27 deletions(-)
Comments
Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
On Fri, Jul 28, 2023 at 02:13:02PM +0200, Thomas Gleixner wrote:
> APIC IDs are used with random data types u16, u32, int, unsigned int,
> unsigned long.
>
> Make it all consistently use u32 because that reflects the hardware
> register width.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> arch/x86/include/asm/apic.h | 14 ++------------
> arch/x86/kernel/apic/apic_flat_64.c | 4 ++--
> arch/x86/kernel/apic/apic_noop.c | 2 +-
> arch/x86/kernel/apic/apic_numachip.c | 8 ++++----
> arch/x86/kernel/apic/bigsmp_32.c | 2 +-
> arch/x86/kernel/apic/local.h | 4 ++--
> arch/x86/kernel/apic/probe_32.c | 10 ++++++++++
> arch/x86/kernel/apic/x2apic_phys.c | 4 ++--
> arch/x86/kernel/apic/x2apic_uv_x.c | 2 +-
> arch/x86/xen/apic.c | 4 ++--
> 10 files changed, 27 insertions(+), 27 deletions(-)
>
> --- a/arch/x86/include/asm/apic.h
> +++ b/arch/x86/include/asm/apic.h
> @@ -298,8 +298,8 @@ struct apic {
> u32 (*cpu_present_to_apicid)(int mps_cpu);
> u32 (*phys_pkg_id)(u32 cpuid_apic, int index_msb);
>
> - u32 (*get_apic_id)(unsigned long x);
> - u32 (*set_apic_id)(unsigned int id);
> + u32 (*get_apic_id)(u32 id);
> + u32 (*set_apic_id)(u32 apicid);
>
> /* wakeup_secondary_cpu */
> int (*wakeup_secondary_cpu)(int apicid, unsigned long start_eip);
> @@ -493,16 +493,6 @@ static inline bool lapic_vector_set_in_i
> return !!(irr & (1U << (vector % 32)));
> }
>
> -static inline unsigned default_get_apic_id(unsigned long x)
> -{
> - unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
> -
> - if (APIC_XAPIC(ver) || boot_cpu_has(X86_FEATURE_EXTD_APICID))
> - return (x >> 24) & 0xFF;
> - else
> - return (x >> 24) & 0x0F;
> -}
> -
> /*
> * Warm reset vector position:
> */
> --- a/arch/x86/kernel/apic/apic_flat_64.c
> +++ b/arch/x86/kernel/apic/apic_flat_64.c
> @@ -56,12 +56,12 @@ flat_send_IPI_mask_allbutself(const stru
> _flat_send_IPI_mask(mask, vector);
> }
>
> -static unsigned int flat_get_apic_id(unsigned long x)
> +static u32 flat_get_apic_id(u32 x)
> {
> return (x >> 24) & 0xFF;
> }
>
> -static u32 set_apic_id(unsigned int id)
> +static u32 set_apic_id(u32 id)
> {
> return (id & 0xFF) << 24;
> }
> --- a/arch/x86/kernel/apic/apic_noop.c
> +++ b/arch/x86/kernel/apic/apic_noop.c
> @@ -30,7 +30,7 @@ static void noop_apic_icr_write(u32 low,
> static int noop_wakeup_secondary_cpu(int apicid, unsigned long start_eip) { return -1; }
> static u64 noop_apic_icr_read(void) { return 0; }
> static u32 noop_phys_pkg_id(u32 cpuid_apic, int index_msb) { return 0; }
> -static unsigned int noop_get_apic_id(unsigned long x) { return 0; }
> +static u32 noop_get_apic_id(u32 apicid) { return 0; }
> static void noop_apic_eoi(void) { }
>
> static u32 noop_apic_read(u32 reg)
> --- a/arch/x86/kernel/apic/apic_numachip.c
> +++ b/arch/x86/kernel/apic/apic_numachip.c
> @@ -25,7 +25,7 @@ static const struct apic apic_numachip1;
> static const struct apic apic_numachip2;
> static void (*numachip_apic_icr_write)(int apicid, unsigned int val) __read_mostly;
>
> -static unsigned int numachip1_get_apic_id(unsigned long x)
> +static u32 numachip1_get_apic_id(u32 x)
> {
> unsigned long value;
> unsigned int id = (x >> 24) & 0xff;
> @@ -38,12 +38,12 @@ static unsigned int numachip1_get_apic_i
> return id;
> }
>
> -static u32 numachip1_set_apic_id(unsigned int id)
> +static u32 numachip1_set_apic_id(u32 id)
> {
> return (id & 0xff) << 24;
> }
>
> -static unsigned int numachip2_get_apic_id(unsigned long x)
> +static u32 numachip2_get_apic_id(u32 x)
> {
> u64 mcfg;
>
> @@ -51,7 +51,7 @@ static unsigned int numachip2_get_apic_i
> return ((mcfg >> (28 - 8)) & 0xfff00) | (x >> 24);
> }
>
> -static u32 numachip2_set_apic_id(unsigned int id)
> +static u32 numachip2_set_apic_id(u32 id)
> {
> return id << 24;
> }
> --- a/arch/x86/kernel/apic/bigsmp_32.c
> +++ b/arch/x86/kernel/apic/bigsmp_32.c
> @@ -13,7 +13,7 @@
>
> #include "local.h"
>
> -static unsigned bigsmp_get_apic_id(unsigned long x)
> +static u32 bigsmp_get_apic_id(u32 x)
> {
> return (x >> 24) & 0xFF;
> }
> --- a/arch/x86/kernel/apic/local.h
> +++ b/arch/x86/kernel/apic/local.h
> @@ -15,8 +15,8 @@
>
> /* X2APIC */
> void __x2apic_send_IPI_dest(unsigned int apicid, int vector, unsigned int dest);
> -unsigned int x2apic_get_apic_id(unsigned long id);
> -u32 x2apic_set_apic_id(unsigned int id);
> +u32 x2apic_get_apic_id(u32 id);
> +u32 x2apic_set_apic_id(u32 id);
> u32 x2apic_phys_pkg_id(u32 initial_apicid, int index_msb);
>
> void x2apic_send_IPI_all(int vector);
> --- a/arch/x86/kernel/apic/probe_32.c
> +++ b/arch/x86/kernel/apic/probe_32.c
> @@ -23,6 +23,16 @@ static u32 default_phys_pkg_id(u32 cpuid
> return cpuid_apic >> index_msb;
> }
>
> +static u32 default_get_apic_id(u32 x)
> +{
> + unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
> +
> + if (APIC_XAPIC(ver) || boot_cpu_has(X86_FEATURE_EXTD_APICID))
> + return (x >> 24) & 0xFF;
> + else
> + return (x >> 24) & 0x0F;
> +}
> +
> /* should be called last. */
> static int probe_default(void)
> {
> --- a/arch/x86/kernel/apic/x2apic_phys.c
> +++ b/arch/x86/kernel/apic/x2apic_phys.c
> @@ -124,12 +124,12 @@ static int x2apic_phys_probe(void)
> return apic == &apic_x2apic_phys;
> }
>
> -unsigned int x2apic_get_apic_id(unsigned long id)
> +u32 x2apic_get_apic_id(u32 id)
> {
> return id;
> }
>
> -u32 x2apic_set_apic_id(unsigned int id)
> +u32 x2apic_set_apic_id(u32 id)
> {
> return id;
> }
> --- a/arch/x86/kernel/apic/x2apic_uv_x.c
> +++ b/arch/x86/kernel/apic/x2apic_uv_x.c
> @@ -780,7 +780,7 @@ static void uv_send_IPI_all(int vector)
> uv_send_IPI_mask(cpu_online_mask, vector);
> }
>
> -static u32 set_apic_id(unsigned int id)
> +static u32 set_apic_id(u32 id)
> {
> return id;
> }
> --- a/arch/x86/xen/apic.c
> +++ b/arch/x86/xen/apic.c
> @@ -33,13 +33,13 @@ static unsigned int xen_io_apic_read(uns
> return 0xfd;
> }
>
> -static u32 xen_set_apic_id(unsigned int x)
> +static u32 xen_set_apic_id(u32 x)
> {
> WARN_ON(1);
> return x;
> }
>
> -static unsigned int xen_get_apic_id(unsigned long x)
> +static u32 xen_get_apic_id(u32 x)
> {
> return ((x)>>24) & 0xFFu;
> }
>
@@ -298,8 +298,8 @@ struct apic {
u32 (*cpu_present_to_apicid)(int mps_cpu);
u32 (*phys_pkg_id)(u32 cpuid_apic, int index_msb);
- u32 (*get_apic_id)(unsigned long x);
- u32 (*set_apic_id)(unsigned int id);
+ u32 (*get_apic_id)(u32 id);
+ u32 (*set_apic_id)(u32 apicid);
/* wakeup_secondary_cpu */
int (*wakeup_secondary_cpu)(int apicid, unsigned long start_eip);
@@ -493,16 +493,6 @@ static inline bool lapic_vector_set_in_i
return !!(irr & (1U << (vector % 32)));
}
-static inline unsigned default_get_apic_id(unsigned long x)
-{
- unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
-
- if (APIC_XAPIC(ver) || boot_cpu_has(X86_FEATURE_EXTD_APICID))
- return (x >> 24) & 0xFF;
- else
- return (x >> 24) & 0x0F;
-}
-
/*
* Warm reset vector position:
*/
@@ -56,12 +56,12 @@ flat_send_IPI_mask_allbutself(const stru
_flat_send_IPI_mask(mask, vector);
}
-static unsigned int flat_get_apic_id(unsigned long x)
+static u32 flat_get_apic_id(u32 x)
{
return (x >> 24) & 0xFF;
}
-static u32 set_apic_id(unsigned int id)
+static u32 set_apic_id(u32 id)
{
return (id & 0xFF) << 24;
}
@@ -30,7 +30,7 @@ static void noop_apic_icr_write(u32 low,
static int noop_wakeup_secondary_cpu(int apicid, unsigned long start_eip) { return -1; }
static u64 noop_apic_icr_read(void) { return 0; }
static u32 noop_phys_pkg_id(u32 cpuid_apic, int index_msb) { return 0; }
-static unsigned int noop_get_apic_id(unsigned long x) { return 0; }
+static u32 noop_get_apic_id(u32 apicid) { return 0; }
static void noop_apic_eoi(void) { }
static u32 noop_apic_read(u32 reg)
@@ -25,7 +25,7 @@ static const struct apic apic_numachip1;
static const struct apic apic_numachip2;
static void (*numachip_apic_icr_write)(int apicid, unsigned int val) __read_mostly;
-static unsigned int numachip1_get_apic_id(unsigned long x)
+static u32 numachip1_get_apic_id(u32 x)
{
unsigned long value;
unsigned int id = (x >> 24) & 0xff;
@@ -38,12 +38,12 @@ static unsigned int numachip1_get_apic_i
return id;
}
-static u32 numachip1_set_apic_id(unsigned int id)
+static u32 numachip1_set_apic_id(u32 id)
{
return (id & 0xff) << 24;
}
-static unsigned int numachip2_get_apic_id(unsigned long x)
+static u32 numachip2_get_apic_id(u32 x)
{
u64 mcfg;
@@ -51,7 +51,7 @@ static unsigned int numachip2_get_apic_i
return ((mcfg >> (28 - 8)) & 0xfff00) | (x >> 24);
}
-static u32 numachip2_set_apic_id(unsigned int id)
+static u32 numachip2_set_apic_id(u32 id)
{
return id << 24;
}
@@ -13,7 +13,7 @@
#include "local.h"
-static unsigned bigsmp_get_apic_id(unsigned long x)
+static u32 bigsmp_get_apic_id(u32 x)
{
return (x >> 24) & 0xFF;
}
@@ -15,8 +15,8 @@
/* X2APIC */
void __x2apic_send_IPI_dest(unsigned int apicid, int vector, unsigned int dest);
-unsigned int x2apic_get_apic_id(unsigned long id);
-u32 x2apic_set_apic_id(unsigned int id);
+u32 x2apic_get_apic_id(u32 id);
+u32 x2apic_set_apic_id(u32 id);
u32 x2apic_phys_pkg_id(u32 initial_apicid, int index_msb);
void x2apic_send_IPI_all(int vector);
@@ -23,6 +23,16 @@ static u32 default_phys_pkg_id(u32 cpuid
return cpuid_apic >> index_msb;
}
+static u32 default_get_apic_id(u32 x)
+{
+ unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
+
+ if (APIC_XAPIC(ver) || boot_cpu_has(X86_FEATURE_EXTD_APICID))
+ return (x >> 24) & 0xFF;
+ else
+ return (x >> 24) & 0x0F;
+}
+
/* should be called last. */
static int probe_default(void)
{
@@ -124,12 +124,12 @@ static int x2apic_phys_probe(void)
return apic == &apic_x2apic_phys;
}
-unsigned int x2apic_get_apic_id(unsigned long id)
+u32 x2apic_get_apic_id(u32 id)
{
return id;
}
-u32 x2apic_set_apic_id(unsigned int id)
+u32 x2apic_set_apic_id(u32 id)
{
return id;
}
@@ -780,7 +780,7 @@ static void uv_send_IPI_all(int vector)
uv_send_IPI_mask(cpu_online_mask, vector);
}
-static u32 set_apic_id(unsigned int id)
+static u32 set_apic_id(u32 id)
{
return id;
}
@@ -33,13 +33,13 @@ static unsigned int xen_io_apic_read(uns
return 0xfd;
}
-static u32 xen_set_apic_id(unsigned int x)
+static u32 xen_set_apic_id(u32 x)
{
WARN_ON(1);
return x;
}
-static unsigned int xen_get_apic_id(unsigned long x)
+static u32 xen_get_apic_id(u32 x)
{
return ((x)>>24) & 0xFFu;
}