Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/asm/apic.h
Line
Count
Source (jump to first uncovered line)
1
#ifndef __ASM_APIC_H
2
#define __ASM_APIC_H
3
4
#include <asm/apicdef.h>
5
#include <asm/fixmap.h>
6
#include <asm/msr.h>
7
8
186
#define Dprintk(x...) do {} while (0)
9
10
/*
11
 * Debugging macros
12
 */
13
1
#define APIC_QUIET   0
14
0
#define APIC_VERBOSE 1
15
0
#define APIC_DEBUG   2
16
17
0
#define SET_APIC_LOGICAL_ID(x)  (((x)<<24))
18
19
#define IO_APIC_REDIR_VECTOR_MASK 0x000FF
20
#define IO_APIC_REDIR_DEST_LOGICAL  0x00800
21
#define IO_APIC_REDIR_DEST_PHYSICAL 0x00000
22
23
/* Possible APIC states */
24
enum apic_mode {
25
    APIC_MODE_INVALID,  /* Not set yet */
26
    APIC_MODE_DISABLED, /* If uniprocessor, or MP in uniprocessor mode */
27
    APIC_MODE_XAPIC,    /* xAPIC mode - default upon chipset reset */
28
    APIC_MODE_X2APIC    /* x2APIC mode - common for large MP machines */
29
};
30
31
extern u8 apic_verbosity;
32
extern bool x2apic_enabled;
33
extern bool directed_eoi_enabled;
34
35
void check_x2apic_preenabled(void);
36
void x2apic_bsp_setup(void);
37
void x2apic_ap_setup(void);
38
const struct genapic *apic_x2apic_probe(void);
39
40
/*
41
 * Define the default level of output to be very little
42
 * This can be turned up by using apic=verbose for more
43
 * information and apic=debug for _lots_ of information.
44
 * apic_verbosity is defined in apic.c
45
 */
46
79
#define apic_printk(v, s, a...) do {       \
47
79
    if ((v) <= apic_verbosity) \
48
0
      printk(s, ##a);    \
49
79
  } while (0)
50
51
52
/*
53
 * Basic functions accessing APICs.
54
 */
55
56
static __inline void apic_mem_write(unsigned long reg, u32 v)
57
0
{
58
0
  *((volatile u32 *)(APIC_BASE+reg)) = v;
59
0
}
Unexecuted instantiation: iommu.c:apic_mem_write
Unexecuted instantiation: intremap.c:apic_mem_write
Unexecuted instantiation: quirks.c:apic_mem_write
Unexecuted instantiation: iommu_init.c:apic_mem_write
Unexecuted instantiation: apic.c:apic_mem_write
Unexecuted instantiation: crash.c:apic_mem_write
Unexecuted instantiation: i8259.c:apic_mem_write
Unexecuted instantiation: io_apic.c:apic_mem_write
Unexecuted instantiation: msi.c:apic_mem_write
Unexecuted instantiation: irq.c:apic_mem_write
Unexecuted instantiation: mpparse.c:apic_mem_write
Unexecuted instantiation: nmi.c:apic_mem_write
Unexecuted instantiation: setup.c:apic_mem_write
Unexecuted instantiation: shutdown.c:apic_mem_write
Unexecuted instantiation: smp.c:apic_mem_write
Unexecuted instantiation: smpboot.c:apic_mem_write
Unexecuted instantiation: traps.c:apic_mem_write
Unexecuted instantiation: hpet.c:apic_mem_write
Unexecuted instantiation: lib.c:apic_mem_write
Unexecuted instantiation: power.c:apic_mem_write
Unexecuted instantiation: cpu_idle.c:apic_mem_write
Unexecuted instantiation: amd.c:apic_mem_write
Unexecuted instantiation: common.c:apic_mem_write
Unexecuted instantiation: intel.c:apic_mem_write
Unexecuted instantiation: vpmu.c:apic_mem_write
Unexecuted instantiation: vpmu_amd.c:apic_mem_write
Unexecuted instantiation: vpmu_intel.c:apic_mem_write
Unexecuted instantiation: mce.c:apic_mem_write
Unexecuted instantiation: mce_intel.c:apic_mem_write
Unexecuted instantiation: x2apic.c:apic_mem_write
Unexecuted instantiation: delivery.c:apic_mem_write
Unexecuted instantiation: probe.c:apic_mem_write
Unexecuted instantiation: hvm.c:apic_mem_write
Unexecuted instantiation: io.c:apic_mem_write
Unexecuted instantiation: viridian.c:apic_mem_write
Unexecuted instantiation: vlapic.c:apic_mem_write
Unexecuted instantiation: vpt.c:apic_mem_write
Unexecuted instantiation: svm.c:apic_mem_write
Unexecuted instantiation: vmcs.c:apic_mem_write
Unexecuted instantiation: vmx.c:apic_mem_write
Unexecuted instantiation: nmi_int.c:apic_mem_write
Unexecuted instantiation: op_model_p4.c:apic_mem_write
Unexecuted instantiation: op_model_ppro.c:apic_mem_write
Unexecuted instantiation: op_model_athlon.c:apic_mem_write
Unexecuted instantiation: emul-gate-op.c:apic_mem_write
Unexecuted instantiation: emul-inv-op.c:apic_mem_write
Unexecuted instantiation: emul-priv-op.c:apic_mem_write
Unexecuted instantiation: acpi_mmcfg.c:apic_mem_write
60
61
static __inline void apic_mem_write_atomic(unsigned long reg, u32 v)
62
0
{
63
0
  (void)xchg((volatile u32 *)(APIC_BASE+reg), v);
64
0
}
Unexecuted instantiation: vpmu.c:apic_mem_write_atomic
Unexecuted instantiation: iommu.c:apic_mem_write_atomic
Unexecuted instantiation: intremap.c:apic_mem_write_atomic
Unexecuted instantiation: quirks.c:apic_mem_write_atomic
Unexecuted instantiation: iommu_init.c:apic_mem_write_atomic
Unexecuted instantiation: apic.c:apic_mem_write_atomic
Unexecuted instantiation: crash.c:apic_mem_write_atomic
Unexecuted instantiation: i8259.c:apic_mem_write_atomic
Unexecuted instantiation: io_apic.c:apic_mem_write_atomic
Unexecuted instantiation: msi.c:apic_mem_write_atomic
Unexecuted instantiation: irq.c:apic_mem_write_atomic
Unexecuted instantiation: mpparse.c:apic_mem_write_atomic
Unexecuted instantiation: nmi.c:apic_mem_write_atomic
Unexecuted instantiation: setup.c:apic_mem_write_atomic
Unexecuted instantiation: shutdown.c:apic_mem_write_atomic
Unexecuted instantiation: smp.c:apic_mem_write_atomic
Unexecuted instantiation: smpboot.c:apic_mem_write_atomic
Unexecuted instantiation: traps.c:apic_mem_write_atomic
Unexecuted instantiation: hpet.c:apic_mem_write_atomic
Unexecuted instantiation: lib.c:apic_mem_write_atomic
Unexecuted instantiation: power.c:apic_mem_write_atomic
Unexecuted instantiation: cpu_idle.c:apic_mem_write_atomic
Unexecuted instantiation: amd.c:apic_mem_write_atomic
Unexecuted instantiation: common.c:apic_mem_write_atomic
Unexecuted instantiation: intel.c:apic_mem_write_atomic
Unexecuted instantiation: vpmu_amd.c:apic_mem_write_atomic
Unexecuted instantiation: vpmu_intel.c:apic_mem_write_atomic
Unexecuted instantiation: mce.c:apic_mem_write_atomic
Unexecuted instantiation: mce_intel.c:apic_mem_write_atomic
Unexecuted instantiation: x2apic.c:apic_mem_write_atomic
Unexecuted instantiation: delivery.c:apic_mem_write_atomic
Unexecuted instantiation: probe.c:apic_mem_write_atomic
Unexecuted instantiation: hvm.c:apic_mem_write_atomic
Unexecuted instantiation: io.c:apic_mem_write_atomic
Unexecuted instantiation: viridian.c:apic_mem_write_atomic
Unexecuted instantiation: vlapic.c:apic_mem_write_atomic
Unexecuted instantiation: vpt.c:apic_mem_write_atomic
Unexecuted instantiation: svm.c:apic_mem_write_atomic
Unexecuted instantiation: vmcs.c:apic_mem_write_atomic
Unexecuted instantiation: vmx.c:apic_mem_write_atomic
Unexecuted instantiation: nmi_int.c:apic_mem_write_atomic
Unexecuted instantiation: op_model_p4.c:apic_mem_write_atomic
Unexecuted instantiation: op_model_ppro.c:apic_mem_write_atomic
Unexecuted instantiation: op_model_athlon.c:apic_mem_write_atomic
Unexecuted instantiation: emul-gate-op.c:apic_mem_write_atomic
Unexecuted instantiation: emul-inv-op.c:apic_mem_write_atomic
Unexecuted instantiation: emul-priv-op.c:apic_mem_write_atomic
Unexecuted instantiation: acpi_mmcfg.c:apic_mem_write_atomic
65
66
static __inline u32 apic_mem_read(unsigned long reg)
67
15
{
68
15
  return *((volatile u32 *)(APIC_BASE+reg));
69
15
}
Unexecuted instantiation: iommu.c:apic_mem_read
Unexecuted instantiation: emul-priv-op.c:apic_mem_read
Unexecuted instantiation: emul-inv-op.c:apic_mem_read
Unexecuted instantiation: emul-gate-op.c:apic_mem_read
Unexecuted instantiation: op_model_athlon.c:apic_mem_read
Unexecuted instantiation: op_model_ppro.c:apic_mem_read
Unexecuted instantiation: op_model_p4.c:apic_mem_read
Unexecuted instantiation: nmi_int.c:apic_mem_read
Unexecuted instantiation: vmx.c:apic_mem_read
Unexecuted instantiation: vmcs.c:apic_mem_read
Unexecuted instantiation: svm.c:apic_mem_read
Unexecuted instantiation: vpt.c:apic_mem_read
Unexecuted instantiation: vlapic.c:apic_mem_read
Unexecuted instantiation: viridian.c:apic_mem_read
Unexecuted instantiation: io.c:apic_mem_read
Unexecuted instantiation: hvm.c:apic_mem_read
Unexecuted instantiation: probe.c:apic_mem_read
Unexecuted instantiation: delivery.c:apic_mem_read
x2apic.c:apic_mem_read
Line
Count
Source
67
1
{
68
1
  return *((volatile u32 *)(APIC_BASE+reg));
69
1
}
Unexecuted instantiation: mce_intel.c:apic_mem_read
Unexecuted instantiation: mce.c:apic_mem_read
Unexecuted instantiation: vpmu_intel.c:apic_mem_read
Unexecuted instantiation: vpmu_amd.c:apic_mem_read
Unexecuted instantiation: vpmu.c:apic_mem_read
Unexecuted instantiation: intel.c:apic_mem_read
Unexecuted instantiation: common.c:apic_mem_read
Unexecuted instantiation: amd.c:apic_mem_read
Unexecuted instantiation: cpu_idle.c:apic_mem_read
Unexecuted instantiation: power.c:apic_mem_read
Unexecuted instantiation: lib.c:apic_mem_read
Unexecuted instantiation: hpet.c:apic_mem_read
Unexecuted instantiation: traps.c:apic_mem_read
Unexecuted instantiation: smpboot.c:apic_mem_read
Unexecuted instantiation: smp.c:apic_mem_read
Unexecuted instantiation: shutdown.c:apic_mem_read
Unexecuted instantiation: setup.c:apic_mem_read
Unexecuted instantiation: nmi.c:apic_mem_read
mpparse.c:apic_mem_read
Line
Count
Source
67
13
{
68
13
  return *((volatile u32 *)(APIC_BASE+reg));
69
13
}
Unexecuted instantiation: irq.c:apic_mem_read
Unexecuted instantiation: msi.c:apic_mem_read
Unexecuted instantiation: io_apic.c:apic_mem_read
Unexecuted instantiation: i8259.c:apic_mem_read
Unexecuted instantiation: crash.c:apic_mem_read
apic.c:apic_mem_read
Line
Count
Source
67
1
{
68
1
  return *((volatile u32 *)(APIC_BASE+reg));
69
1
}
Unexecuted instantiation: iommu_init.c:apic_mem_read
Unexecuted instantiation: quirks.c:apic_mem_read
Unexecuted instantiation: intremap.c:apic_mem_read
Unexecuted instantiation: acpi_mmcfg.c:apic_mem_read
70
71
/* NOTE: in x2APIC mode, we should use apic_icr_write()/apic_icr_read() to
72
 * access the 64-bit ICR register.
73
 */
74
75
static __inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
76
2.28M
{
77
2.29M
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
2.30M
        reg == APIC_LVR)
79
0
        return;
80
2.28M
81
2.28M
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
2.28M
}
Unexecuted instantiation: acpi_mmcfg.c:apic_wrmsr
Unexecuted instantiation: iommu.c:apic_wrmsr
Unexecuted instantiation: intremap.c:apic_wrmsr
Unexecuted instantiation: quirks.c:apic_wrmsr
Unexecuted instantiation: iommu_init.c:apic_wrmsr
apic.c:apic_wrmsr
Line
Count
Source
76
25.9k
{
77
26.0k
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
26.0k
        reg == APIC_LVR)
79
0
        return;
80
25.9k
81
25.9k
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
25.9k
}
Unexecuted instantiation: crash.c:apic_wrmsr
Unexecuted instantiation: i8259.c:apic_wrmsr
io_apic.c:apic_wrmsr
Line
Count
Source
76
9.36k
{
77
9.36k
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
9.36k
        reg == APIC_LVR)
79
0
        return;
80
9.36k
81
9.36k
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
9.36k
}
msi.c:apic_wrmsr
Line
Count
Source
76
3.84k
{
77
3.84k
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
3.84k
        reg == APIC_LVR)
79
0
        return;
80
3.84k
81
3.84k
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
3.84k
}
irq.c:apic_wrmsr
Line
Count
Source
76
1
{
77
1
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
1
        reg == APIC_LVR)
79
0
        return;
80
1
81
1
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
1
}
Unexecuted instantiation: mpparse.c:apic_wrmsr
Unexecuted instantiation: nmi.c:apic_wrmsr
Unexecuted instantiation: setup.c:apic_wrmsr
Unexecuted instantiation: shutdown.c:apic_wrmsr
smp.c:apic_wrmsr
Line
Count
Source
76
1.99M
{
77
2.00M
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
2.01M
        reg == APIC_LVR)
79
0
        return;
80
1.99M
81
1.99M
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
1.99M
}
smpboot.c:apic_wrmsr
Line
Count
Source
76
88
{
77
88
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
88
        reg == APIC_LVR)
79
0
        return;
80
88
81
88
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
88
}
Unexecuted instantiation: traps.c:apic_wrmsr
Unexecuted instantiation: hpet.c:apic_wrmsr
Unexecuted instantiation: lib.c:apic_wrmsr
Unexecuted instantiation: power.c:apic_wrmsr
Unexecuted instantiation: cpu_idle.c:apic_wrmsr
Unexecuted instantiation: amd.c:apic_wrmsr
Unexecuted instantiation: common.c:apic_wrmsr
Unexecuted instantiation: intel.c:apic_wrmsr
Unexecuted instantiation: vpmu.c:apic_wrmsr
Unexecuted instantiation: vpmu_amd.c:apic_wrmsr
Unexecuted instantiation: vpmu_intel.c:apic_wrmsr
Unexecuted instantiation: mce.c:apic_wrmsr
mce_intel.c:apic_wrmsr
Line
Count
Source
76
48
{
77
48
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
48
        reg == APIC_LVR)
79
0
        return;
80
48
81
48
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
48
}
x2apic.c:apic_wrmsr
Line
Count
Source
76
254k
{
77
254k
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
254k
        reg == APIC_LVR)
79
0
        return;
80
254k
81
254k
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
254k
}
Unexecuted instantiation: delivery.c:apic_wrmsr
Unexecuted instantiation: probe.c:apic_wrmsr
Unexecuted instantiation: hvm.c:apic_wrmsr
Unexecuted instantiation: io.c:apic_wrmsr
Unexecuted instantiation: viridian.c:apic_wrmsr
Unexecuted instantiation: vlapic.c:apic_wrmsr
Unexecuted instantiation: vpt.c:apic_wrmsr
Unexecuted instantiation: svm.c:apic_wrmsr
Unexecuted instantiation: vmcs.c:apic_wrmsr
vmx.c:apic_wrmsr
Line
Count
Source
76
70
{
77
70
    if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
78
70
        reg == APIC_LVR)
79
0
        return;
80
70
81
70
    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
82
70
}
Unexecuted instantiation: nmi_int.c:apic_wrmsr
Unexecuted instantiation: op_model_p4.c:apic_wrmsr
Unexecuted instantiation: op_model_ppro.c:apic_wrmsr
Unexecuted instantiation: op_model_athlon.c:apic_wrmsr
Unexecuted instantiation: emul-gate-op.c:apic_wrmsr
Unexecuted instantiation: emul-inv-op.c:apic_wrmsr
Unexecuted instantiation: emul-priv-op.c:apic_wrmsr
83
84
static __inline uint64_t apic_rdmsr(unsigned long reg)
85
643
{
86
643
    uint64_t msr_content;
87
643
88
643
    if (reg == APIC_DFR)
89
0
        return -1u;
90
643
91
643
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
643
    return msr_content;
93
643
}
Unexecuted instantiation: intremap.c:apic_rdmsr
Unexecuted instantiation: emul-priv-op.c:apic_rdmsr
Unexecuted instantiation: emul-inv-op.c:apic_rdmsr
Unexecuted instantiation: emul-gate-op.c:apic_rdmsr
Unexecuted instantiation: op_model_athlon.c:apic_rdmsr
Unexecuted instantiation: op_model_ppro.c:apic_rdmsr
Unexecuted instantiation: op_model_p4.c:apic_rdmsr
Unexecuted instantiation: nmi_int.c:apic_rdmsr
Unexecuted instantiation: vmx.c:apic_rdmsr
Unexecuted instantiation: vmcs.c:apic_rdmsr
Unexecuted instantiation: svm.c:apic_rdmsr
Unexecuted instantiation: vpt.c:apic_rdmsr
Unexecuted instantiation: vlapic.c:apic_rdmsr
Unexecuted instantiation: viridian.c:apic_rdmsr
Unexecuted instantiation: io.c:apic_rdmsr
Unexecuted instantiation: hvm.c:apic_rdmsr
Unexecuted instantiation: probe.c:apic_rdmsr
Unexecuted instantiation: delivery.c:apic_rdmsr
x2apic.c:apic_rdmsr
Line
Count
Source
85
12
{
86
12
    uint64_t msr_content;
87
12
88
12
    if (reg == APIC_DFR)
89
0
        return -1u;
90
12
91
12
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
12
    return msr_content;
93
12
}
mce_intel.c:apic_rdmsr
Line
Count
Source
85
25
{
86
25
    uint64_t msr_content;
87
25
88
25
    if (reg == APIC_DFR)
89
0
        return -1u;
90
25
91
25
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
25
    return msr_content;
93
25
}
Unexecuted instantiation: mce.c:apic_rdmsr
Unexecuted instantiation: vpmu_intel.c:apic_rdmsr
Unexecuted instantiation: vpmu_amd.c:apic_rdmsr
Unexecuted instantiation: vpmu.c:apic_rdmsr
Unexecuted instantiation: iommu.c:apic_rdmsr
Unexecuted instantiation: intel.c:apic_rdmsr
common.c:apic_rdmsr
Line
Count
Source
85
48
{
86
48
    uint64_t msr_content;
87
48
88
48
    if (reg == APIC_DFR)
89
0
        return -1u;
90
48
91
48
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
48
    return msr_content;
93
48
}
Unexecuted instantiation: amd.c:apic_rdmsr
Unexecuted instantiation: cpu_idle.c:apic_rdmsr
Unexecuted instantiation: power.c:apic_rdmsr
Unexecuted instantiation: lib.c:apic_rdmsr
Unexecuted instantiation: hpet.c:apic_rdmsr
Unexecuted instantiation: traps.c:apic_rdmsr
smpboot.c:apic_rdmsr
Line
Count
Source
85
56
{
86
56
    uint64_t msr_content;
87
56
88
56
    if (reg == APIC_DFR)
89
0
        return -1u;
90
56
91
56
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
56
    return msr_content;
93
56
}
Unexecuted instantiation: smp.c:apic_rdmsr
Unexecuted instantiation: shutdown.c:apic_rdmsr
Unexecuted instantiation: setup.c:apic_rdmsr
Unexecuted instantiation: nmi.c:apic_rdmsr
Unexecuted instantiation: mpparse.c:apic_rdmsr
irq.c:apic_rdmsr
Line
Count
Source
85
1
{
86
1
    uint64_t msr_content;
87
1
88
1
    if (reg == APIC_DFR)
89
0
        return -1u;
90
1
91
1
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
1
    return msr_content;
93
1
}
Unexecuted instantiation: msi.c:apic_rdmsr
io_apic.c:apic_rdmsr
Line
Count
Source
85
299
{
86
299
    uint64_t msr_content;
87
299
88
299
    if (reg == APIC_DFR)
89
0
        return -1u;
90
299
91
299
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
299
    return msr_content;
93
299
}
Unexecuted instantiation: i8259.c:apic_rdmsr
Unexecuted instantiation: crash.c:apic_rdmsr
apic.c:apic_rdmsr
Line
Count
Source
85
202
{
86
202
    uint64_t msr_content;
87
202
88
202
    if (reg == APIC_DFR)
89
0
        return -1u;
90
202
91
202
    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
92
202
    return msr_content;
93
202
}
Unexecuted instantiation: iommu_init.c:apic_rdmsr
Unexecuted instantiation: quirks.c:apic_rdmsr
Unexecuted instantiation: acpi_mmcfg.c:apic_rdmsr
94
95
static __inline void apic_write(unsigned long reg, u32 v)
96
2.00M
{
97
2.00M
98
2.00M
    if ( x2apic_enabled )
99
2.03M
        apic_wrmsr(reg, v);
100
2.00M
    else
101
18.4E
        apic_mem_write(reg, v);
102
2.00M
}
Unexecuted instantiation: acpi_mmcfg.c:apic_write
Unexecuted instantiation: emul-priv-op.c:apic_write
Unexecuted instantiation: emul-inv-op.c:apic_write
Unexecuted instantiation: emul-gate-op.c:apic_write
Unexecuted instantiation: op_model_athlon.c:apic_write
Unexecuted instantiation: op_model_ppro.c:apic_write
Unexecuted instantiation: op_model_p4.c:apic_write
Unexecuted instantiation: nmi_int.c:apic_write
vmx.c:apic_write
Line
Count
Source
96
70
{
97
70
98
70
    if ( x2apic_enabled )
99
70
        apic_wrmsr(reg, v);
100
70
    else
101
0
        apic_mem_write(reg, v);
102
70
}
Unexecuted instantiation: vmcs.c:apic_write
Unexecuted instantiation: svm.c:apic_write
Unexecuted instantiation: vpt.c:apic_write
Unexecuted instantiation: vlapic.c:apic_write
Unexecuted instantiation: viridian.c:apic_write
Unexecuted instantiation: io.c:apic_write
Unexecuted instantiation: hvm.c:apic_write
Unexecuted instantiation: probe.c:apic_write
Unexecuted instantiation: delivery.c:apic_write
Unexecuted instantiation: x2apic.c:apic_write
mce_intel.c:apic_write
Line
Count
Source
96
48
{
97
48
98
48
    if ( x2apic_enabled )
99
48
        apic_wrmsr(reg, v);
100
48
    else
101
0
        apic_mem_write(reg, v);
102
48
}
Unexecuted instantiation: mce.c:apic_write
Unexecuted instantiation: vpmu_intel.c:apic_write
Unexecuted instantiation: vpmu_amd.c:apic_write
Unexecuted instantiation: vpmu.c:apic_write
Unexecuted instantiation: intel.c:apic_write
Unexecuted instantiation: common.c:apic_write
Unexecuted instantiation: amd.c:apic_write
Unexecuted instantiation: cpu_idle.c:apic_write
Unexecuted instantiation: power.c:apic_write
Unexecuted instantiation: lib.c:apic_write
Unexecuted instantiation: hpet.c:apic_write
Unexecuted instantiation: traps.c:apic_write
smpboot.c:apic_write
Line
Count
Source
96
55
{
97
55
98
55
    if ( x2apic_enabled )
99
55
        apic_wrmsr(reg, v);
100
55
    else
101
0
        apic_mem_write(reg, v);
102
55
}
smp.c:apic_write
Line
Count
Source
96
1.96M
{
97
1.96M
98
1.96M
    if ( x2apic_enabled )
99
1.99M
        apic_wrmsr(reg, v);
100
1.96M
    else
101
18.4E
        apic_mem_write(reg, v);
102
1.96M
}
Unexecuted instantiation: shutdown.c:apic_write
Unexecuted instantiation: setup.c:apic_write
Unexecuted instantiation: nmi.c:apic_write
Unexecuted instantiation: mpparse.c:apic_write
irq.c:apic_write
Line
Count
Source
96
1
{
97
1
98
1
    if ( x2apic_enabled )
99
1
        apic_wrmsr(reg, v);
100
1
    else
101
0
        apic_mem_write(reg, v);
102
1
}
msi.c:apic_write
Line
Count
Source
96
3.84k
{
97
3.84k
98
3.84k
    if ( x2apic_enabled )
99
3.84k
        apic_wrmsr(reg, v);
100
3.84k
    else
101
0
        apic_mem_write(reg, v);
102
3.84k
}
io_apic.c:apic_write
Line
Count
Source
96
9.36k
{
97
9.36k
98
9.36k
    if ( x2apic_enabled )
99
9.36k
        apic_wrmsr(reg, v);
100
9.36k
    else
101
0
        apic_mem_write(reg, v);
102
9.36k
}
Unexecuted instantiation: i8259.c:apic_write
Unexecuted instantiation: crash.c:apic_write
apic.c:apic_write
Line
Count
Source
96
25.9k
{
97
25.9k
98
25.9k
    if ( x2apic_enabled )
99
25.9k
        apic_wrmsr(reg, v);
100
25.9k
    else
101
18.4E
        apic_mem_write(reg, v);
102
25.9k
}
Unexecuted instantiation: iommu_init.c:apic_write
Unexecuted instantiation: quirks.c:apic_write
Unexecuted instantiation: intremap.c:apic_write
Unexecuted instantiation: iommu.c:apic_write
103
104
static __inline void apic_write_atomic(unsigned long reg, u32 v)
105
0
{
106
0
    if ( x2apic_enabled )
107
0
        apic_wrmsr(reg, v);
108
0
    else
109
0
        apic_mem_write_atomic(reg, v);
110
0
}
Unexecuted instantiation: iommu.c:apic_write_atomic
Unexecuted instantiation: acpi_mmcfg.c:apic_write_atomic
Unexecuted instantiation: intremap.c:apic_write_atomic
Unexecuted instantiation: quirks.c:apic_write_atomic
Unexecuted instantiation: iommu_init.c:apic_write_atomic
Unexecuted instantiation: apic.c:apic_write_atomic
Unexecuted instantiation: crash.c:apic_write_atomic
Unexecuted instantiation: i8259.c:apic_write_atomic
Unexecuted instantiation: io_apic.c:apic_write_atomic
Unexecuted instantiation: msi.c:apic_write_atomic
Unexecuted instantiation: irq.c:apic_write_atomic
Unexecuted instantiation: mpparse.c:apic_write_atomic
Unexecuted instantiation: nmi.c:apic_write_atomic
Unexecuted instantiation: setup.c:apic_write_atomic
Unexecuted instantiation: shutdown.c:apic_write_atomic
Unexecuted instantiation: smp.c:apic_write_atomic
Unexecuted instantiation: smpboot.c:apic_write_atomic
Unexecuted instantiation: traps.c:apic_write_atomic
Unexecuted instantiation: hpet.c:apic_write_atomic
Unexecuted instantiation: lib.c:apic_write_atomic
Unexecuted instantiation: power.c:apic_write_atomic
Unexecuted instantiation: cpu_idle.c:apic_write_atomic
Unexecuted instantiation: amd.c:apic_write_atomic
Unexecuted instantiation: common.c:apic_write_atomic
Unexecuted instantiation: intel.c:apic_write_atomic
Unexecuted instantiation: vpmu.c:apic_write_atomic
Unexecuted instantiation: vpmu_amd.c:apic_write_atomic
Unexecuted instantiation: vpmu_intel.c:apic_write_atomic
Unexecuted instantiation: mce.c:apic_write_atomic
Unexecuted instantiation: mce_intel.c:apic_write_atomic
Unexecuted instantiation: x2apic.c:apic_write_atomic
Unexecuted instantiation: delivery.c:apic_write_atomic
Unexecuted instantiation: probe.c:apic_write_atomic
Unexecuted instantiation: hvm.c:apic_write_atomic
Unexecuted instantiation: io.c:apic_write_atomic
Unexecuted instantiation: viridian.c:apic_write_atomic
Unexecuted instantiation: vlapic.c:apic_write_atomic
Unexecuted instantiation: vpt.c:apic_write_atomic
Unexecuted instantiation: svm.c:apic_write_atomic
Unexecuted instantiation: vmcs.c:apic_write_atomic
Unexecuted instantiation: vmx.c:apic_write_atomic
Unexecuted instantiation: nmi_int.c:apic_write_atomic
Unexecuted instantiation: op_model_p4.c:apic_write_atomic
Unexecuted instantiation: op_model_ppro.c:apic_write_atomic
Unexecuted instantiation: op_model_athlon.c:apic_write_atomic
Unexecuted instantiation: emul-gate-op.c:apic_write_atomic
Unexecuted instantiation: emul-inv-op.c:apic_write_atomic
Unexecuted instantiation: emul-priv-op.c:apic_write_atomic
111
112
static __inline u32 apic_read(unsigned long reg)
113
658
{
114
658
    if ( x2apic_enabled )
115
643
        return apic_rdmsr(reg);
116
658
    else
117
15
        return apic_mem_read(reg);
118
658
}
Unexecuted instantiation: acpi_mmcfg.c:apic_read
Unexecuted instantiation: emul-priv-op.c:apic_read
Unexecuted instantiation: emul-inv-op.c:apic_read
Unexecuted instantiation: emul-gate-op.c:apic_read
Unexecuted instantiation: op_model_athlon.c:apic_read
Unexecuted instantiation: op_model_ppro.c:apic_read
Unexecuted instantiation: op_model_p4.c:apic_read
Unexecuted instantiation: nmi_int.c:apic_read
Unexecuted instantiation: vmx.c:apic_read
Unexecuted instantiation: vmcs.c:apic_read
Unexecuted instantiation: svm.c:apic_read
Unexecuted instantiation: vpt.c:apic_read
Unexecuted instantiation: vlapic.c:apic_read
Unexecuted instantiation: viridian.c:apic_read
Unexecuted instantiation: io.c:apic_read
Unexecuted instantiation: hvm.c:apic_read
Unexecuted instantiation: probe.c:apic_read
Unexecuted instantiation: delivery.c:apic_read
x2apic.c:apic_read
Line
Count
Source
113
13
{
114
13
    if ( x2apic_enabled )
115
12
        return apic_rdmsr(reg);
116
13
    else
117
1
        return apic_mem_read(reg);
118
13
}
mce_intel.c:apic_read
Line
Count
Source
113
25
{
114
25
    if ( x2apic_enabled )
115
25
        return apic_rdmsr(reg);
116
25
    else
117
0
        return apic_mem_read(reg);
118
25
}
Unexecuted instantiation: mce.c:apic_read
Unexecuted instantiation: vpmu_intel.c:apic_read
Unexecuted instantiation: vpmu_amd.c:apic_read
Unexecuted instantiation: vpmu.c:apic_read
Unexecuted instantiation: intel.c:apic_read
common.c:apic_read
Line
Count
Source
113
48
{
114
48
    if ( x2apic_enabled )
115
48
        return apic_rdmsr(reg);
116
48
    else
117
0
        return apic_mem_read(reg);
118
48
}
Unexecuted instantiation: amd.c:apic_read
Unexecuted instantiation: cpu_idle.c:apic_read
Unexecuted instantiation: power.c:apic_read
Unexecuted instantiation: lib.c:apic_read
Unexecuted instantiation: hpet.c:apic_read
Unexecuted instantiation: traps.c:apic_read
smpboot.c:apic_read
Line
Count
Source
113
56
{
114
56
    if ( x2apic_enabled )
115
56
        return apic_rdmsr(reg);
116
56
    else
117
0
        return apic_mem_read(reg);
118
56
}
Unexecuted instantiation: smp.c:apic_read
Unexecuted instantiation: shutdown.c:apic_read
Unexecuted instantiation: setup.c:apic_read
Unexecuted instantiation: nmi.c:apic_read
mpparse.c:apic_read
Line
Count
Source
113
13
{
114
13
    if ( x2apic_enabled )
115
0
        return apic_rdmsr(reg);
116
13
    else
117
13
        return apic_mem_read(reg);
118
13
}
irq.c:apic_read
Line
Count
Source
113
1
{
114
1
    if ( x2apic_enabled )
115
1
        return apic_rdmsr(reg);
116
1
    else
117
0
        return apic_mem_read(reg);
118
1
}
Unexecuted instantiation: msi.c:apic_read
io_apic.c:apic_read
Line
Count
Source
113
299
{
114
299
    if ( x2apic_enabled )
115
299
        return apic_rdmsr(reg);
116
299
    else
117
0
        return apic_mem_read(reg);
118
299
}
Unexecuted instantiation: i8259.c:apic_read
Unexecuted instantiation: crash.c:apic_read
apic.c:apic_read
Line
Count
Source
113
203
{
114
203
    if ( x2apic_enabled )
115
202
        return apic_rdmsr(reg);
116
203
    else
117
1
        return apic_mem_read(reg);
118
203
}
Unexecuted instantiation: iommu_init.c:apic_read
Unexecuted instantiation: quirks.c:apic_read
Unexecuted instantiation: intremap.c:apic_read
Unexecuted instantiation: iommu.c:apic_read
119
120
static __inline u64 apic_icr_read(void)
121
0
{
122
0
    u32 lo, hi;
123
0
124
0
    if ( x2apic_enabled )
125
0
        return apic_rdmsr(APIC_ICR);
126
0
    else
127
0
    {
128
0
        lo = apic_mem_read(APIC_ICR);
129
0
        hi = apic_mem_read(APIC_ICR2);
130
0
    }
131
0
    
132
0
    return ((u64)lo) | (((u64)hi) << 32);
133
0
}
Unexecuted instantiation: iommu.c:apic_icr_read
Unexecuted instantiation: intremap.c:apic_icr_read
Unexecuted instantiation: quirks.c:apic_icr_read
Unexecuted instantiation: iommu_init.c:apic_icr_read
Unexecuted instantiation: apic.c:apic_icr_read
Unexecuted instantiation: crash.c:apic_icr_read
Unexecuted instantiation: i8259.c:apic_icr_read
Unexecuted instantiation: io_apic.c:apic_icr_read
Unexecuted instantiation: msi.c:apic_icr_read
Unexecuted instantiation: irq.c:apic_icr_read
Unexecuted instantiation: mpparse.c:apic_icr_read
Unexecuted instantiation: nmi.c:apic_icr_read
Unexecuted instantiation: setup.c:apic_icr_read
Unexecuted instantiation: shutdown.c:apic_icr_read
Unexecuted instantiation: smp.c:apic_icr_read
Unexecuted instantiation: smpboot.c:apic_icr_read
Unexecuted instantiation: traps.c:apic_icr_read
Unexecuted instantiation: hpet.c:apic_icr_read
Unexecuted instantiation: lib.c:apic_icr_read
Unexecuted instantiation: power.c:apic_icr_read
Unexecuted instantiation: cpu_idle.c:apic_icr_read
Unexecuted instantiation: amd.c:apic_icr_read
Unexecuted instantiation: common.c:apic_icr_read
Unexecuted instantiation: intel.c:apic_icr_read
Unexecuted instantiation: vpmu.c:apic_icr_read
Unexecuted instantiation: vpmu_amd.c:apic_icr_read
Unexecuted instantiation: vpmu_intel.c:apic_icr_read
Unexecuted instantiation: mce.c:apic_icr_read
Unexecuted instantiation: mce_intel.c:apic_icr_read
Unexecuted instantiation: x2apic.c:apic_icr_read
Unexecuted instantiation: delivery.c:apic_icr_read
Unexecuted instantiation: probe.c:apic_icr_read
Unexecuted instantiation: hvm.c:apic_icr_read
Unexecuted instantiation: io.c:apic_icr_read
Unexecuted instantiation: viridian.c:apic_icr_read
Unexecuted instantiation: vlapic.c:apic_icr_read
Unexecuted instantiation: vpt.c:apic_icr_read
Unexecuted instantiation: svm.c:apic_icr_read
Unexecuted instantiation: vmcs.c:apic_icr_read
Unexecuted instantiation: vmx.c:apic_icr_read
Unexecuted instantiation: nmi_int.c:apic_icr_read
Unexecuted instantiation: op_model_p4.c:apic_icr_read
Unexecuted instantiation: op_model_ppro.c:apic_icr_read
Unexecuted instantiation: op_model_athlon.c:apic_icr_read
Unexecuted instantiation: emul-gate-op.c:apic_icr_read
Unexecuted instantiation: emul-inv-op.c:apic_icr_read
Unexecuted instantiation: emul-priv-op.c:apic_icr_read
Unexecuted instantiation: acpi_mmcfg.c:apic_icr_read
134
135
static __inline void apic_icr_write(u32 low, u32 dest)
136
33
{
137
33
    if ( x2apic_enabled )
138
33
        apic_wrmsr(APIC_ICR, low | ((uint64_t)dest << 32));
139
33
    else
140
0
    {
141
0
        apic_mem_write(APIC_ICR2, dest << 24);
142
0
        apic_mem_write(APIC_ICR, low);
143
0
    }
144
33
}
Unexecuted instantiation: iommu.c:apic_icr_write
Unexecuted instantiation: intremap.c:apic_icr_write
Unexecuted instantiation: quirks.c:apic_icr_write
Unexecuted instantiation: iommu_init.c:apic_icr_write
Unexecuted instantiation: apic.c:apic_icr_write
Unexecuted instantiation: crash.c:apic_icr_write
Unexecuted instantiation: i8259.c:apic_icr_write
Unexecuted instantiation: io_apic.c:apic_icr_write
Unexecuted instantiation: msi.c:apic_icr_write
Unexecuted instantiation: irq.c:apic_icr_write
Unexecuted instantiation: mpparse.c:apic_icr_write
Unexecuted instantiation: nmi.c:apic_icr_write
Unexecuted instantiation: setup.c:apic_icr_write
Unexecuted instantiation: shutdown.c:apic_icr_write
Unexecuted instantiation: smp.c:apic_icr_write
smpboot.c:apic_icr_write
Line
Count
Source
136
33
{
137
33
    if ( x2apic_enabled )
138
33
        apic_wrmsr(APIC_ICR, low | ((uint64_t)dest << 32));
139
33
    else
140
0
    {
141
0
        apic_mem_write(APIC_ICR2, dest << 24);
142
0
        apic_mem_write(APIC_ICR, low);
143
0
    }
144
33
}
Unexecuted instantiation: traps.c:apic_icr_write
Unexecuted instantiation: hpet.c:apic_icr_write
Unexecuted instantiation: lib.c:apic_icr_write
Unexecuted instantiation: power.c:apic_icr_write
Unexecuted instantiation: cpu_idle.c:apic_icr_write
Unexecuted instantiation: amd.c:apic_icr_write
Unexecuted instantiation: common.c:apic_icr_write
Unexecuted instantiation: intel.c:apic_icr_write
Unexecuted instantiation: vpmu.c:apic_icr_write
Unexecuted instantiation: vpmu_amd.c:apic_icr_write
Unexecuted instantiation: vpmu_intel.c:apic_icr_write
Unexecuted instantiation: mce.c:apic_icr_write
Unexecuted instantiation: mce_intel.c:apic_icr_write
Unexecuted instantiation: x2apic.c:apic_icr_write
Unexecuted instantiation: delivery.c:apic_icr_write
Unexecuted instantiation: probe.c:apic_icr_write
Unexecuted instantiation: hvm.c:apic_icr_write
Unexecuted instantiation: io.c:apic_icr_write
Unexecuted instantiation: viridian.c:apic_icr_write
Unexecuted instantiation: vlapic.c:apic_icr_write
Unexecuted instantiation: vpt.c:apic_icr_write
Unexecuted instantiation: svm.c:apic_icr_write
Unexecuted instantiation: vmcs.c:apic_icr_write
Unexecuted instantiation: vmx.c:apic_icr_write
Unexecuted instantiation: nmi_int.c:apic_icr_write
Unexecuted instantiation: op_model_p4.c:apic_icr_write
Unexecuted instantiation: op_model_ppro.c:apic_icr_write
Unexecuted instantiation: op_model_athlon.c:apic_icr_write
Unexecuted instantiation: emul-gate-op.c:apic_icr_write
Unexecuted instantiation: emul-inv-op.c:apic_icr_write
Unexecuted instantiation: emul-priv-op.c:apic_icr_write
Unexecuted instantiation: acpi_mmcfg.c:apic_icr_write
145
146
static __inline bool_t apic_isr_read(u8 vector)
147
0
{
148
0
    return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
149
0
            (vector & 0x1f)) & 1;
150
0
}
Unexecuted instantiation: iommu.c:apic_isr_read
Unexecuted instantiation: intremap.c:apic_isr_read
Unexecuted instantiation: quirks.c:apic_isr_read
Unexecuted instantiation: iommu_init.c:apic_isr_read
Unexecuted instantiation: apic.c:apic_isr_read
Unexecuted instantiation: crash.c:apic_isr_read
Unexecuted instantiation: i8259.c:apic_isr_read
Unexecuted instantiation: io_apic.c:apic_isr_read
Unexecuted instantiation: msi.c:apic_isr_read
Unexecuted instantiation: irq.c:apic_isr_read
Unexecuted instantiation: mpparse.c:apic_isr_read
Unexecuted instantiation: nmi.c:apic_isr_read
Unexecuted instantiation: setup.c:apic_isr_read
Unexecuted instantiation: shutdown.c:apic_isr_read
Unexecuted instantiation: smp.c:apic_isr_read
Unexecuted instantiation: smpboot.c:apic_isr_read
Unexecuted instantiation: traps.c:apic_isr_read
Unexecuted instantiation: hpet.c:apic_isr_read
Unexecuted instantiation: lib.c:apic_isr_read
Unexecuted instantiation: power.c:apic_isr_read
Unexecuted instantiation: cpu_idle.c:apic_isr_read
Unexecuted instantiation: amd.c:apic_isr_read
Unexecuted instantiation: common.c:apic_isr_read
Unexecuted instantiation: intel.c:apic_isr_read
Unexecuted instantiation: vpmu.c:apic_isr_read
Unexecuted instantiation: vpmu_amd.c:apic_isr_read
Unexecuted instantiation: vpmu_intel.c:apic_isr_read
Unexecuted instantiation: mce.c:apic_isr_read
Unexecuted instantiation: mce_intel.c:apic_isr_read
Unexecuted instantiation: x2apic.c:apic_isr_read
Unexecuted instantiation: delivery.c:apic_isr_read
Unexecuted instantiation: probe.c:apic_isr_read
Unexecuted instantiation: hvm.c:apic_isr_read
Unexecuted instantiation: io.c:apic_isr_read
Unexecuted instantiation: viridian.c:apic_isr_read
Unexecuted instantiation: vlapic.c:apic_isr_read
Unexecuted instantiation: vpt.c:apic_isr_read
Unexecuted instantiation: svm.c:apic_isr_read
Unexecuted instantiation: vmcs.c:apic_isr_read
Unexecuted instantiation: vmx.c:apic_isr_read
Unexecuted instantiation: nmi_int.c:apic_isr_read
Unexecuted instantiation: op_model_p4.c:apic_isr_read
Unexecuted instantiation: op_model_ppro.c:apic_isr_read
Unexecuted instantiation: op_model_athlon.c:apic_isr_read
Unexecuted instantiation: emul-gate-op.c:apic_isr_read
Unexecuted instantiation: emul-inv-op.c:apic_isr_read
Unexecuted instantiation: acpi_mmcfg.c:apic_isr_read
Unexecuted instantiation: emul-priv-op.c:apic_isr_read
151
152
static __inline u32 get_apic_id(void) /* Get the physical APIC id */
153
63
{
154
63
    u32 id = apic_read(APIC_ID);
155
61
    return x2apic_enabled ? id : GET_xAPIC_ID(id);
156
63
}
Unexecuted instantiation: vpmu.c:get_apic_id
Unexecuted instantiation: iommu.c:get_apic_id
Unexecuted instantiation: emul-priv-op.c:get_apic_id
Unexecuted instantiation: emul-inv-op.c:get_apic_id
Unexecuted instantiation: emul-gate-op.c:get_apic_id
Unexecuted instantiation: op_model_athlon.c:get_apic_id
Unexecuted instantiation: op_model_ppro.c:get_apic_id
Unexecuted instantiation: op_model_p4.c:get_apic_id
Unexecuted instantiation: nmi_int.c:get_apic_id
Unexecuted instantiation: vmx.c:get_apic_id
Unexecuted instantiation: vmcs.c:get_apic_id
Unexecuted instantiation: svm.c:get_apic_id
Unexecuted instantiation: vpt.c:get_apic_id
Unexecuted instantiation: vlapic.c:get_apic_id
Unexecuted instantiation: viridian.c:get_apic_id
Unexecuted instantiation: io.c:get_apic_id
Unexecuted instantiation: hvm.c:get_apic_id
Unexecuted instantiation: probe.c:get_apic_id
Unexecuted instantiation: delivery.c:get_apic_id
Unexecuted instantiation: x2apic.c:get_apic_id
Unexecuted instantiation: mce_intel.c:get_apic_id
Unexecuted instantiation: mce.c:get_apic_id
Unexecuted instantiation: vpmu_intel.c:get_apic_id
Unexecuted instantiation: vpmu_amd.c:get_apic_id
Unexecuted instantiation: acpi_mmcfg.c:get_apic_id
Unexecuted instantiation: intel.c:get_apic_id
common.c:get_apic_id
Line
Count
Source
153
48
{
154
48
    u32 id = apic_read(APIC_ID);
155
48
    return x2apic_enabled ? id : GET_xAPIC_ID(id);
156
48
}
Unexecuted instantiation: amd.c:get_apic_id
Unexecuted instantiation: cpu_idle.c:get_apic_id
Unexecuted instantiation: power.c:get_apic_id
Unexecuted instantiation: lib.c:get_apic_id
Unexecuted instantiation: hpet.c:get_apic_id
Unexecuted instantiation: traps.c:get_apic_id
smpboot.c:get_apic_id
Line
Count
Source
153
1
{
154
1
    u32 id = apic_read(APIC_ID);
155
1
    return x2apic_enabled ? id : GET_xAPIC_ID(id);
156
1
}
Unexecuted instantiation: smp.c:get_apic_id
Unexecuted instantiation: shutdown.c:get_apic_id
Unexecuted instantiation: setup.c:get_apic_id
Unexecuted instantiation: nmi.c:get_apic_id
mpparse.c:get_apic_id
Line
Count
Source
153
1
{
154
1
    u32 id = apic_read(APIC_ID);
155
1
    return x2apic_enabled ? id : GET_xAPIC_ID(id);
156
1
}
Unexecuted instantiation: irq.c:get_apic_id
Unexecuted instantiation: msi.c:get_apic_id
Unexecuted instantiation: io_apic.c:get_apic_id
Unexecuted instantiation: i8259.c:get_apic_id
Unexecuted instantiation: crash.c:get_apic_id
apic.c:get_apic_id
Line
Count
Source
153
13
{
154
13
    u32 id = apic_read(APIC_ID);
155
12
    return x2apic_enabled ? id : GET_xAPIC_ID(id);
156
13
}
Unexecuted instantiation: iommu_init.c:get_apic_id
Unexecuted instantiation: quirks.c:get_apic_id
Unexecuted instantiation: intremap.c:get_apic_id
157
158
void apic_wait_icr_idle(void);
159
160
int get_physical_broadcast(void);
161
162
static inline void ack_APIC_irq(void)
163
1.99M
{
164
1.99M
  /* Docs say use 0 for future compatibility */
165
1.99M
  apic_write(APIC_EOI, 0);
166
1.99M
}
Unexecuted instantiation: intremap.c:ack_APIC_irq
Unexecuted instantiation: iommu.c:ack_APIC_irq
Unexecuted instantiation: emul-priv-op.c:ack_APIC_irq
Unexecuted instantiation: emul-inv-op.c:ack_APIC_irq
Unexecuted instantiation: emul-gate-op.c:ack_APIC_irq
Unexecuted instantiation: op_model_athlon.c:ack_APIC_irq
Unexecuted instantiation: op_model_ppro.c:ack_APIC_irq
Unexecuted instantiation: op_model_p4.c:ack_APIC_irq
Unexecuted instantiation: nmi_int.c:ack_APIC_irq
vmx.c:ack_APIC_irq
Line
Count
Source
163
70
{
164
70
  /* Docs say use 0 for future compatibility */
165
70
  apic_write(APIC_EOI, 0);
166
70
}
Unexecuted instantiation: vmcs.c:ack_APIC_irq
Unexecuted instantiation: svm.c:ack_APIC_irq
Unexecuted instantiation: vpt.c:ack_APIC_irq
Unexecuted instantiation: vlapic.c:ack_APIC_irq
Unexecuted instantiation: viridian.c:ack_APIC_irq
Unexecuted instantiation: io.c:ack_APIC_irq
Unexecuted instantiation: hvm.c:ack_APIC_irq
Unexecuted instantiation: probe.c:ack_APIC_irq
Unexecuted instantiation: delivery.c:ack_APIC_irq
Unexecuted instantiation: x2apic.c:ack_APIC_irq
Unexecuted instantiation: mce_intel.c:ack_APIC_irq
Unexecuted instantiation: mce.c:ack_APIC_irq
Unexecuted instantiation: vpmu_intel.c:ack_APIC_irq
Unexecuted instantiation: vpmu_amd.c:ack_APIC_irq
Unexecuted instantiation: vpmu.c:ack_APIC_irq
Unexecuted instantiation: intel.c:ack_APIC_irq
Unexecuted instantiation: common.c:ack_APIC_irq
Unexecuted instantiation: amd.c:ack_APIC_irq
Unexecuted instantiation: cpu_idle.c:ack_APIC_irq
Unexecuted instantiation: power.c:ack_APIC_irq
Unexecuted instantiation: lib.c:ack_APIC_irq
Unexecuted instantiation: hpet.c:ack_APIC_irq
Unexecuted instantiation: traps.c:ack_APIC_irq
Unexecuted instantiation: smpboot.c:ack_APIC_irq
smp.c:ack_APIC_irq
Line
Count
Source
163
1.95M
{
164
1.95M
  /* Docs say use 0 for future compatibility */
165
1.95M
  apic_write(APIC_EOI, 0);
166
1.95M
}
Unexecuted instantiation: shutdown.c:ack_APIC_irq
Unexecuted instantiation: setup.c:ack_APIC_irq
Unexecuted instantiation: nmi.c:ack_APIC_irq
Unexecuted instantiation: mpparse.c:ack_APIC_irq
irq.c:ack_APIC_irq
Line
Count
Source
163
1
{
164
1
  /* Docs say use 0 for future compatibility */
165
1
  apic_write(APIC_EOI, 0);
166
1
}
msi.c:ack_APIC_irq
Line
Count
Source
163
3.84k
{
164
3.84k
  /* Docs say use 0 for future compatibility */
165
3.84k
  apic_write(APIC_EOI, 0);
166
3.84k
}
io_apic.c:ack_APIC_irq
Line
Count
Source
163
9.36k
{
164
9.36k
  /* Docs say use 0 for future compatibility */
165
9.36k
  apic_write(APIC_EOI, 0);
166
9.36k
}
Unexecuted instantiation: i8259.c:ack_APIC_irq
Unexecuted instantiation: crash.c:ack_APIC_irq
apic.c:ack_APIC_irq
Line
Count
Source
163
25.8k
{
164
25.8k
  /* Docs say use 0 for future compatibility */
165
25.8k
  apic_write(APIC_EOI, 0);
166
25.8k
}
Unexecuted instantiation: iommu_init.c:ack_APIC_irq
Unexecuted instantiation: quirks.c:ack_APIC_irq
Unexecuted instantiation: acpi_mmcfg.c:ack_APIC_irq
167
168
extern int get_maxlvt(void);
169
extern void clear_local_APIC(void);
170
extern void connect_bsp_APIC (void);
171
extern void disconnect_bsp_APIC (int virt_wire_setup);
172
extern void disable_local_APIC (void);
173
extern int verify_local_APIC (void);
174
extern void cache_APIC_registers (void);
175
extern void sync_Arb_IDs (void);
176
extern void init_bsp_APIC (void);
177
extern void setup_local_APIC (void);
178
extern void init_apic_mappings (void);
179
extern void smp_local_timer_interrupt (struct cpu_user_regs *regs);
180
extern void setup_boot_APIC_clock (void);
181
extern void setup_secondary_APIC_clock (void);
182
extern void setup_apic_nmi_watchdog (void);
183
extern void disable_lapic_nmi_watchdog(void);
184
extern int reserve_lapic_nmi(void);
185
extern void release_lapic_nmi(void);
186
extern void self_nmi(void);
187
extern void disable_timer_nmi_watchdog(void);
188
extern void enable_timer_nmi_watchdog(void);
189
extern bool nmi_watchdog_tick(const struct cpu_user_regs *regs);
190
extern int APIC_init_uniprocessor (void);
191
extern void disable_APIC_timer(void);
192
extern void enable_APIC_timer(void);
193
extern int lapic_suspend(void);
194
extern int lapic_resume(void);
195
extern void record_boot_APIC_mode(void);
196
extern enum apic_mode current_local_apic_mode(void);
197
extern void check_for_unexpected_msi(unsigned int vector);
198
199
extern void check_nmi_watchdog(void);
200
201
extern unsigned int nmi_watchdog;
202
0
#define NMI_NONE  0
203
0
#define NMI_IO_APIC 1
204
13
#define NMI_LOCAL_APIC  2
205
206
#endif /* __ASM_APIC_H */