Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a27a6210 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86: refactor ->check_phys_apicid_present() subarch methods



- spread out the namespace to per driver methods

 - extend it to 64-bit as well so that we can use
   apic->check_phys_apicid_present() unconditionally

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent d83093b5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -99,13 +99,13 @@ static inline void bigsmp_setup_portio_remap(void)
{
}

static inline void enable_apic_mode(void)
static inline int bigsmp_check_phys_apicid_present(int boot_cpu_physical_apicid)
{
	return 1;
}

static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
static inline void enable_apic_mode(void)
{
	return (1);
}

/* As we are using single CPU as destination, pick only one CPU here */
+2 −2
Original line number Diff line number Diff line
@@ -126,9 +126,9 @@ static inline physid_mask_t es7000_ioapic_phys_id_map(physid_mask_t phys_map)
	return physids_promote(0xff);
}


extern unsigned int boot_cpu_physical_apicid;
static inline int check_phys_apicid_present(int cpu_physical_apicid)

static inline int es7000_check_phys_apicid_present(int cpu_physical_apicid)
{
	boot_cpu_physical_apicid = read_apic_id();
	return (1);
+1 −0
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ DECLARE_PER_CPU(int, x2apic_extra_bits);
extern void default_setup_apic_routing(void);

extern int default_cpu_present_to_apicid(int mps_cpu);
extern int default_check_phys_apicid_present(int boot_cpu_physical_apicid);
#endif

#endif /* _ASM_X86_GENAPIC_64_H */
+13 −5
Original line number Diff line number Diff line
@@ -118,13 +118,26 @@ static inline int __default_cpu_present_to_apicid(int mps_cpu)
		return BAD_APICID;
}

static inline int
__default_check_phys_apicid_present(int boot_cpu_physical_apicid)
{
	return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
}

#ifdef CONFIG_X86_32
static inline int default_cpu_present_to_apicid(int mps_cpu)
{
	return __default_cpu_present_to_apicid(mps_cpu);
}

static inline int
default_check_phys_apicid_present(int boot_cpu_physical_apicid)
{
	return __default_check_phys_apicid_present(boot_cpu_physical_apicid);
}
#else
extern int default_cpu_present_to_apicid(int mps_cpu);
extern int default_check_phys_apicid_present(int boot_cpu_physical_apicid);
#endif

static inline physid_mask_t default_apicid_to_cpu_present(int phys_apicid)
@@ -132,11 +145,6 @@ static inline physid_mask_t default_apicid_to_cpu_present(int phys_apicid)
	return physid_mask_of_physid(phys_apicid);
}

static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
{
	return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
}

static inline void enable_apic_mode(void)
{
}
+0 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@

#include <asm/genapic.h>

#define check_phys_apicid_present (apic->check_phys_apicid_present)
#define cpu_mask_to_apicid (apic->cpu_mask_to_apicid)
#define cpu_mask_to_apicid_and (apic->cpu_mask_to_apicid_and)
#define enable_apic_mode (apic->enable_apic_mode)
Loading