/root/src/xen/xen/include/asm/mach-generic/mach_apic.h
Line | Count | Source (jump to first uncovered line) |
1 | | #ifndef __ASM_MACH_APIC_H |
2 | | #define __ASM_MACH_APIC_H |
3 | | |
4 | | #include <asm/apic.h> |
5 | | #include <asm/io_apic.h> |
6 | | #include <asm/genapic.h> |
7 | | #include <asm/smp.h> |
8 | | |
9 | | /* ESR was originally disabled in Linux for NUMA-Q. Do we really need to? */ |
10 | | #define esr_disable (0) |
11 | | |
12 | | /* The following are dependent on APIC delivery mode (logical vs. physical). */ |
13 | | #define INT_DELIVERY_MODE (genapic->int_delivery_mode) |
14 | | #define INT_DEST_MODE (genapic->int_dest_mode) |
15 | 64 | #define TARGET_CPUS (genapic->target_cpus()) |
16 | | #define init_apic_ldr (genapic->init_apic_ldr) |
17 | | #define clustered_apic_check (genapic->clustered_apic_check) |
18 | 65 | #define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid) |
19 | 60 | #define vector_allocation_cpumask(cpu) (genapic->vector_allocation_cpumask(cpu)) |
20 | | |
21 | | static inline void enable_apic_mode(void) |
22 | 0 | { |
23 | 0 | /* Not needed for modern ES7000 which boot in Virtual Wire mode. */ |
24 | 0 | /*es7000_sw_apic();*/ |
25 | 0 | } Unexecuted instantiation: irq.c:enable_apic_mode Unexecuted instantiation: setup.c:enable_apic_mode Unexecuted instantiation: probe.c:enable_apic_mode |
26 | | |
27 | | #define apicid_to_node(apicid) ((int)apicid_to_node[(u32)apicid]) |
28 | | |
29 | | extern u32 bios_cpu_apicid[]; |
30 | | |
31 | | static inline int multi_timer_check(int apic, int irq) |
32 | 0 | { |
33 | 0 | return 0; |
34 | 0 | } Unexecuted instantiation: probe.c:multi_timer_check Unexecuted instantiation: setup.c:multi_timer_check Unexecuted instantiation: irq.c:multi_timer_check |
35 | | |
36 | | extern void generic_apic_probe(void); |
37 | | extern void generic_bigsmp_probe(void); |
38 | | |
39 | | /* |
40 | | * The following functions based around phys_cpu_present_map are disabled in |
41 | | * some i386 Linux subarchitectures, and in x86_64 'cluster' genapic mode. I'm |
42 | | * really not sure why, since all local APICs should have distinct physical |
43 | | * IDs, and we need to know what they are. |
44 | | */ |
45 | | static inline int apic_id_registered(void) |
46 | 0 | { |
47 | 0 | return physid_isset(get_apic_id(), |
48 | 0 | phys_cpu_present_map); |
49 | 0 | } Unexecuted instantiation: setup.c:apic_id_registered Unexecuted instantiation: irq.c:apic_id_registered Unexecuted instantiation: probe.c:apic_id_registered |
50 | | |
51 | | static inline void ioapic_phys_id_map(physid_mask_t *map) |
52 | 0 | { |
53 | 0 | *map = phys_cpu_present_map; |
54 | 0 | } Unexecuted instantiation: probe.c:ioapic_phys_id_map Unexecuted instantiation: setup.c:ioapic_phys_id_map Unexecuted instantiation: irq.c:ioapic_phys_id_map |
55 | | |
56 | | static inline int check_apicid_used(const physid_mask_t *map, int apicid) |
57 | 0 | { |
58 | 0 | return physid_isset(apicid, *map); |
59 | 0 | } Unexecuted instantiation: irq.c:check_apicid_used Unexecuted instantiation: probe.c:check_apicid_used Unexecuted instantiation: setup.c:check_apicid_used |
60 | | |
61 | | static inline int check_apicid_present(int apicid) |
62 | 0 | { |
63 | 0 | return physid_isset(apicid, phys_cpu_present_map); |
64 | 0 | } Unexecuted instantiation: probe.c:check_apicid_present Unexecuted instantiation: setup.c:check_apicid_present Unexecuted instantiation: irq.c:check_apicid_present |
65 | | |
66 | | static inline void set_apicid(int phys_apicid, physid_mask_t *map) |
67 | 0 | { |
68 | 0 | physid_set(phys_apicid, *map); |
69 | 0 | } Unexecuted instantiation: irq.c:set_apicid Unexecuted instantiation: setup.c:set_apicid Unexecuted instantiation: probe.c:set_apicid |
70 | | |
71 | | #endif /* __ASM_MACH_APIC_H */ |