Commit 5d376b8f authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

x86/apic: Use u32 for check_apicid_used()



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 and move the default implementation to local.h as there are
no users outside the apic directory.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarJuergen Gross <jgross@suse.com>
Tested-by: default avatarSohil Mehta <sohil.mehta@intel.com>
Tested-by: default avatarMichael Kelley <mikelley@microsoft.com>
Tested-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: default avatarZhang Rui <rui.zhang@intel.com>
Reviewed-by: default avatarArjan van de Ven <arjan@linux.intel.com>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20230814085112.981956102@linutronix.de
parent 4705243d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -292,7 +292,7 @@ struct apic {
	int	(*acpi_madt_oem_check)(char *oem_id, char *oem_table_id);
	bool	(*apic_id_registered)(void);

	bool	(*check_apicid_used)(physid_mask_t *map, int apicid);
	bool	(*check_apicid_used)(physid_mask_t *map, u32 apicid);
	void	(*init_apic_ldr)(void);
	void	(*ioapic_phys_id_map)(physid_mask_t *phys_map, physid_mask_t *retmap);
	int	(*cpu_present_to_apicid)(int mps_cpu);
@@ -538,7 +538,6 @@ extern int default_apic_id_valid(u32 apicid);
extern u32 apic_default_calc_apicid(unsigned int cpu);
extern u32 apic_flat_calc_apicid(unsigned int cpu);

extern bool default_check_apicid_used(physid_mask_t *map, int apicid);
extern void default_ioapic_phys_id_map(physid_mask_t *phys_map, physid_mask_t *retmap);
extern int default_cpu_present_to_apicid(int mps_cpu);

+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ u32 apic_flat_calc_apicid(unsigned int cpu)
	return 1U << cpu;
}

bool default_check_apicid_used(physid_mask_t *map, int apicid)
bool default_check_apicid_used(physid_mask_t *map, u32 apicid)
{
	return physid_isset(apicid, *map);
}
+0 −2
Original line number Diff line number Diff line
@@ -158,8 +158,6 @@ static struct apic apic_physflat __ro_after_init = {

	.disable_esr			= 0,

	.check_apicid_used		= NULL,
	.ioapic_phys_id_map		= NULL,
	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
	.phys_pkg_id			= flat_phys_pkg_id,

+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@

#include <asm/apic.h>

#include "local.h"

static void noop_send_IPI(int cpu, int vector) { }
static void noop_send_IPI_mask(const struct cpumask *cpumask, int vector) { }
static void noop_send_IPI_mask_allbutself(const struct cpumask *cpumask, int vector) { }
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ static unsigned bigsmp_get_apic_id(unsigned long x)
	return (x >> 24) & 0xFF;
}

static bool bigsmp_check_apicid_used(physid_mask_t *map, int apicid)
static bool bigsmp_check_apicid_used(physid_mask_t *map, u32 apicid)
{
	return false;
}
Loading