x86, apic: refactor ->get_apic_id() & GET_APIC_ID()
- spread out the namespace on a per driver basis - get rid of macro wrappers - small cleanups Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -3,11 +3,9 @@
|
|||||||
|
|
||||||
#define APIC_ID_MASK (0xFF<<24)
|
#define APIC_ID_MASK (0xFF<<24)
|
||||||
|
|
||||||
static inline unsigned get_apic_id(unsigned long x)
|
static inline unsigned bigsmp_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
return (((x)>>24)&0xFF);
|
return (x >> 24) & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GET_APIC_ID(x) get_apic_id(x)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -3,11 +3,9 @@
|
|||||||
|
|
||||||
#define APIC_ID_MASK (0xFF<<24)
|
#define APIC_ID_MASK (0xFF<<24)
|
||||||
|
|
||||||
static inline unsigned get_apic_id(unsigned long x)
|
static inline unsigned int es7000_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
return (((x)>>24)&0xFF);
|
return (x >> 24) & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GET_APIC_ID(x) get_apic_id(x)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -21,7 +21,7 @@ static inline const struct cpumask *default_target_cpus(void)
|
|||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
#define cpu_mask_to_apicid (apic->cpu_mask_to_apicid)
|
#define cpu_mask_to_apicid (apic->cpu_mask_to_apicid)
|
||||||
#define cpu_mask_to_apicid_and (apic->cpu_mask_to_apicid_and)
|
#define cpu_mask_to_apicid_and (apic->cpu_mask_to_apicid_and)
|
||||||
#define read_apic_id() (GET_APIC_ID(apic_read(APIC_ID)))
|
#define read_apic_id() (apic->get_apic_id(apic_read(APIC_ID)))
|
||||||
#define send_IPI_self (apic->send_IPI_self)
|
#define send_IPI_self (apic->send_IPI_self)
|
||||||
#define wakeup_secondary_cpu (apic->wakeup_cpu)
|
#define wakeup_secondary_cpu (apic->wakeup_cpu)
|
||||||
extern void default_setup_apic_routing(void);
|
extern void default_setup_apic_routing(void);
|
||||||
|
@@ -5,20 +5,20 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
#define APIC_ID_MASK (apic->apic_id_mask)
|
#define APIC_ID_MASK (apic->apic_id_mask)
|
||||||
#define GET_APIC_ID(x) (apic->get_apic_id(x))
|
|
||||||
#define SET_APIC_ID(x) (apic->set_apic_id(x))
|
#define SET_APIC_ID(x) (apic->set_apic_id(x))
|
||||||
#else
|
#else
|
||||||
#define APIC_ID_MASK (0xF<<24)
|
#define APIC_ID_MASK (0xF<<24)
|
||||||
static inline unsigned get_apic_id(unsigned long x)
|
|
||||||
|
static inline unsigned default_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
|
unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
|
||||||
|
|
||||||
if (APIC_XAPIC(ver))
|
if (APIC_XAPIC(ver))
|
||||||
return (((x)>>24)&0xFF);
|
return (x >> 24) & 0xFF;
|
||||||
else
|
else
|
||||||
return (((x)>>24)&0xF);
|
return (x >> 24) & 0x0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GET_APIC_ID(x) get_apic_id(x)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_DEFAULT_MACH_APICDEF_H */
|
#endif /* _ASM_X86_MACH_DEFAULT_MACH_APICDEF_H */
|
||||||
|
@@ -4,7 +4,6 @@
|
|||||||
#ifndef APIC_DEFINITION
|
#ifndef APIC_DEFINITION
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
#define GET_APIC_ID (apic->get_apic_id)
|
|
||||||
#define APIC_ID_MASK (apic->apic_id_mask)
|
#define APIC_ID_MASK (apic->apic_id_mask)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1,14 +1,11 @@
|
|||||||
#ifndef __ASM_NUMAQ_APICDEF_H
|
#ifndef __ASM_NUMAQ_APICDEF_H
|
||||||
#define __ASM_NUMAQ_APICDEF_H
|
#define __ASM_NUMAQ_APICDEF_H
|
||||||
|
|
||||||
|
|
||||||
#define APIC_ID_MASK (0xF<<24)
|
#define APIC_ID_MASK (0xF<<24)
|
||||||
|
|
||||||
static inline unsigned get_apic_id(unsigned long x)
|
static inline unsigned int numaq_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
return (((x)>>24)&0x0F);
|
return (x >> 24) & 0x0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GET_APIC_ID(x) get_apic_id(x)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -189,7 +189,7 @@ static inline unsigned int read_apic_id(void)
|
|||||||
|
|
||||||
reg = *(u32 *)(APIC_BASE + APIC_ID);
|
reg = *(u32 *)(APIC_BASE + APIC_ID);
|
||||||
|
|
||||||
return GET_APIC_ID(reg);
|
return apic->get_apic_id(reg);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -3,11 +3,9 @@
|
|||||||
|
|
||||||
#define APIC_ID_MASK (0xFF<<24)
|
#define APIC_ID_MASK (0xFF<<24)
|
||||||
|
|
||||||
static inline unsigned get_apic_id(unsigned long x)
|
static inline unsigned summit_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
return (x >> 24) & 0xFF;
|
return (x >> 24) & 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define GET_APIC_ID(x) get_apic_id(x)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -126,11 +126,12 @@ static void flat_send_IPI_all(int vector)
|
|||||||
__send_IPI_shortcut(APIC_DEST_ALLINC, vector, apic->dest_logical);
|
__send_IPI_shortcut(APIC_DEST_ALLINC, vector, apic->dest_logical);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int get_apic_id(unsigned long x)
|
static unsigned int flat_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
|
|
||||||
id = (((x)>>24) & 0xFFu);
|
id = (((x)>>24) & 0xFFu);
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,7 +147,7 @@ static unsigned int read_xapic_id(void)
|
|||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
|
|
||||||
id = get_apic_id(apic_read(APIC_ID));
|
id = flat_get_apic_id(apic_read(APIC_ID));
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -205,7 +206,7 @@ struct genapic apic_flat = {
|
|||||||
.phys_pkg_id = flat_phys_pkg_id,
|
.phys_pkg_id = flat_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = flat_get_apic_id,
|
||||||
.set_apic_id = set_apic_id,
|
.set_apic_id = set_apic_id,
|
||||||
.apic_id_mask = 0xFFu << 24,
|
.apic_id_mask = 0xFFu << 24,
|
||||||
|
|
||||||
@@ -349,7 +350,7 @@ struct genapic apic_physflat = {
|
|||||||
.phys_pkg_id = flat_phys_pkg_id,
|
.phys_pkg_id = flat_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = flat_get_apic_id,
|
||||||
.set_apic_id = set_apic_id,
|
.set_apic_id = set_apic_id,
|
||||||
.apic_id_mask = 0xFFu<<24,
|
.apic_id_mask = 0xFFu<<24,
|
||||||
|
|
||||||
|
@@ -141,7 +141,7 @@ static unsigned int x2apic_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
|||||||
return BAD_APICID;
|
return BAD_APICID;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int get_apic_id(unsigned long x)
|
static unsigned int x2apic_cluster_phys_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ struct genapic apic_x2apic_cluster = {
|
|||||||
.phys_pkg_id = x2apic_cluster_phys_pkg_id,
|
.phys_pkg_id = x2apic_cluster_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = x2apic_cluster_phys_get_apic_id,
|
||||||
.set_apic_id = set_apic_id,
|
.set_apic_id = set_apic_id,
|
||||||
.apic_id_mask = 0xFFFFFFFFu,
|
.apic_id_mask = 0xFFFFFFFFu,
|
||||||
|
|
||||||
|
@@ -140,7 +140,7 @@ static unsigned int x2apic_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
|||||||
return BAD_APICID;
|
return BAD_APICID;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int get_apic_id(unsigned long x)
|
static unsigned int x2apic_phys_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
|
|
||||||
@@ -203,7 +203,7 @@ struct genapic apic_x2apic_phys = {
|
|||||||
.phys_pkg_id = x2apic_phys_pkg_id,
|
.phys_pkg_id = x2apic_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = x2apic_phys_get_apic_id,
|
||||||
.set_apic_id = set_apic_id,
|
.set_apic_id = set_apic_id,
|
||||||
.apic_id_mask = 0xFFFFFFFFu,
|
.apic_id_mask = 0xFFFFFFFFu,
|
||||||
|
|
||||||
|
@@ -201,7 +201,7 @@ static unsigned int uv_cpu_mask_to_apicid_and(const struct cpumask *cpumask,
|
|||||||
return BAD_APICID;
|
return BAD_APICID;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int get_apic_id(unsigned long x)
|
static unsigned int x2apic_get_apic_id(unsigned long x)
|
||||||
{
|
{
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
|
|
||||||
@@ -223,7 +223,7 @@ static unsigned long set_apic_id(unsigned int id)
|
|||||||
static unsigned int uv_read_apic_id(void)
|
static unsigned int uv_read_apic_id(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
return get_apic_id(apic_read(APIC_ID));
|
return x2apic_get_apic_id(apic_read(APIC_ID));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int uv_phys_pkg_id(int initial_apicid, int index_msb)
|
static int uv_phys_pkg_id(int initial_apicid, int index_msb)
|
||||||
@@ -268,7 +268,7 @@ struct genapic apic_x2apic_uv_x = {
|
|||||||
.phys_pkg_id = uv_phys_pkg_id,
|
.phys_pkg_id = uv_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = x2apic_get_apic_id,
|
||||||
.set_apic_id = set_apic_id,
|
.set_apic_id = set_apic_id,
|
||||||
.apic_id_mask = 0xFFFFFFFFu,
|
.apic_id_mask = 0xFFFFFFFFu,
|
||||||
|
|
||||||
|
@@ -90,7 +90,7 @@ struct genapic apic_bigsmp = {
|
|||||||
.phys_pkg_id = bigsmp_phys_pkg_id,
|
.phys_pkg_id = bigsmp_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = bigsmp_get_apic_id,
|
||||||
.set_apic_id = NULL,
|
.set_apic_id = NULL,
|
||||||
.apic_id_mask = APIC_ID_MASK,
|
.apic_id_mask = APIC_ID_MASK,
|
||||||
|
|
||||||
|
@@ -71,7 +71,7 @@ struct genapic apic_default = {
|
|||||||
.phys_pkg_id = default_phys_pkg_id,
|
.phys_pkg_id = default_phys_pkg_id,
|
||||||
.mps_oem_check = NULL,
|
.mps_oem_check = NULL,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = default_get_apic_id,
|
||||||
.set_apic_id = NULL,
|
.set_apic_id = NULL,
|
||||||
.apic_id_mask = APIC_ID_MASK,
|
.apic_id_mask = APIC_ID_MASK,
|
||||||
|
|
||||||
|
@@ -126,7 +126,7 @@ struct genapic apic_es7000 = {
|
|||||||
.phys_pkg_id = es7000_phys_pkg_id,
|
.phys_pkg_id = es7000_phys_pkg_id,
|
||||||
.mps_oem_check = es7000_mps_oem_check,
|
.mps_oem_check = es7000_mps_oem_check,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = es7000_get_apic_id,
|
||||||
.set_apic_id = NULL,
|
.set_apic_id = NULL,
|
||||||
.apic_id_mask = APIC_ID_MASK,
|
.apic_id_mask = APIC_ID_MASK,
|
||||||
|
|
||||||
|
@@ -90,7 +90,7 @@ struct genapic apic_numaq = {
|
|||||||
.phys_pkg_id = numaq_phys_pkg_id,
|
.phys_pkg_id = numaq_phys_pkg_id,
|
||||||
.mps_oem_check = __numaq_mps_oem_check,
|
.mps_oem_check = __numaq_mps_oem_check,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = numaq_get_apic_id,
|
||||||
.set_apic_id = NULL,
|
.set_apic_id = NULL,
|
||||||
.apic_id_mask = APIC_ID_MASK,
|
.apic_id_mask = APIC_ID_MASK,
|
||||||
|
|
||||||
|
@@ -70,7 +70,7 @@ struct genapic apic_summit = {
|
|||||||
.phys_pkg_id = summit_phys_pkg_id,
|
.phys_pkg_id = summit_phys_pkg_id,
|
||||||
.mps_oem_check = summit_mps_oem_check,
|
.mps_oem_check = summit_mps_oem_check,
|
||||||
|
|
||||||
.get_apic_id = get_apic_id,
|
.get_apic_id = summit_get_apic_id,
|
||||||
.set_apic_id = NULL,
|
.set_apic_id = NULL,
|
||||||
.apic_id_mask = APIC_ID_MASK,
|
.apic_id_mask = APIC_ID_MASK,
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user