Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/asm/system.h
Line
Count
Source (jump to first uncovered line)
1
#ifndef __ASM_SYSTEM_H
2
#define __ASM_SYSTEM_H
3
4
#include <xen/lib.h>
5
#include <xen/bitops.h>
6
#include <asm/processor.h>
7
8
0
#define read_sreg(name)                                         \
9
0
({  unsigned int __sel;                                         \
10
0
    asm volatile ( "mov %%" STR(name) ",%0" : "=r" (__sel) );   \
11
0
    __sel;                                                      \
12
0
})
13
14
#define wbinvd() \
15
186
    asm volatile ( "wbinvd" : : : "memory" )
16
17
#define clflush(a) \
18
5.10M
    asm volatile ( "clflush (%0)" : : "r"(a) )
19
20
#define nop() \
21
0
    asm volatile ( "nop" )
22
23
#define xchg(ptr,v) \
24
28.0k
    ((__typeof__(*(ptr)))__xchg((unsigned long)(v),(ptr),sizeof(*(ptr))))
25
26
struct __xchg_dummy { unsigned long a[100]; };
27
58.4M
#define __xg(x) ((volatile struct __xchg_dummy *)(x))
28
29
#include <asm/x86_64/system.h>
30
31
/*
32
 * Note: no "lock" prefix even on SMP: xchg always implies lock anyway
33
 * Note 2: xchg has side effect, so that attribute volatile is necessary,
34
 *   but generally the primitive is invalid, *ptr is output argument. --ANK
35
 */
36
static always_inline unsigned long __xchg(
37
    unsigned long x, volatile void *ptr, int size)
38
28.1k
{
39
28.1k
    switch ( size )
40
28.1k
    {
41
11.9k
    case 1:
42
11.9k
        asm volatile ( "xchgb %b0,%1"
43
11.9k
                       : "=q" (x)
44
11.9k
                       : "m" (*__xg(ptr)), "0" (x)
45
11.9k
                       : "memory" );
46
11.9k
        break;
47
0
    case 2:
48
0
        asm volatile ( "xchgw %w0,%1"
49
0
                       : "=r" (x)
50
0
                       : "m" (*__xg(ptr)), "0" (x)
51
0
                       : "memory" );
52
0
        break;
53
0
    case 4:
54
0
        asm volatile ( "xchgl %k0,%1"
55
0
                       : "=r" (x)
56
0
                       : "m" (*__xg(ptr)), "0" (x)
57
0
                       : "memory" );
58
0
        break;
59
16.2k
    case 8:
60
16.2k
        asm volatile ( "xchgq %0,%1"
61
16.2k
                       : "=r" (x)
62
16.2k
                       : "m" (*__xg(ptr)), "0" (x)
63
16.2k
                       : "memory" );
64
16.2k
        break;
65
28.1k
    }
66
28.1k
    return x;
67
28.1k
}
Unexecuted instantiation: core_parking.c:__xchg
Unexecuted instantiation: mmconfig-shared.c:__xchg
Unexecuted instantiation: mmconfig_64.c:__xchg
Unexecuted instantiation: mmconf-fam10h.c:__xchg
Unexecuted instantiation: acpi_mmcfg.c:__xchg
Unexecuted instantiation: ro-page-fault.c:__xchg
Unexecuted instantiation: misc-hypercalls.c:__xchg
Unexecuted instantiation: iret.c:__xchg
Unexecuted instantiation: emul-priv-op.c:__xchg
Unexecuted instantiation: emul-inv-op.c:__xchg
Unexecuted instantiation: emul-gate-op.c:__xchg
Unexecuted instantiation: descriptor-tables.c:__xchg
Unexecuted instantiation: callback.c:__xchg
Unexecuted instantiation: backtrace.c:__xchg
Unexecuted instantiation: op_model_athlon.c:__xchg
Unexecuted instantiation: op_model_ppro.c:__xchg
Unexecuted instantiation: op_model_p4.c:__xchg
Unexecuted instantiation: nmi_int.c:__xchg
Unexecuted instantiation: nested_ept.c:__xchg
Unexecuted instantiation: nested_hap.c:__xchg
Unexecuted instantiation: hap.c:__xchg
Unexecuted instantiation: multi.c:__xchg
Unexecuted instantiation: mem_sharing.c:__xchg
Unexecuted instantiation: mem_paging.c:__xchg
Unexecuted instantiation: guest_walk.c:__xchg
Unexecuted instantiation: altp2m.c:__xchg
Unexecuted instantiation: p2m-pod.c:__xchg
Unexecuted instantiation: p2m-ept.c:__xchg
Unexecuted instantiation: p2m-pt.c:__xchg
Unexecuted instantiation: p2m.c:__xchg
Unexecuted instantiation: paging.c:__xchg
Unexecuted instantiation: vvmx.c:__xchg
vmx.c:__xchg
Line
Count
Source
38
16.2k
{
39
16.2k
    switch ( size )
40
16.2k
    {
41
0
    case 1:
42
0
        asm volatile ( "xchgb %b0,%1"
43
0
                       : "=q" (x)
44
0
                       : "m" (*__xg(ptr)), "0" (x)
45
0
                       : "memory" );
46
0
        break;
47
0
    case 2:
48
0
        asm volatile ( "xchgw %w0,%1"
49
0
                       : "=r" (x)
50
0
                       : "m" (*__xg(ptr)), "0" (x)
51
0
                       : "memory" );
52
0
        break;
53
0
    case 4:
54
0
        asm volatile ( "xchgl %k0,%1"
55
0
                       : "=r" (x)
56
0
                       : "m" (*__xg(ptr)), "0" (x)
57
0
                       : "memory" );
58
0
        break;
59
16.2k
    case 8:
60
16.2k
        asm volatile ( "xchgq %0,%1"
61
16.2k
                       : "=r" (x)
62
16.2k
                       : "m" (*__xg(ptr)), "0" (x)
63
16.2k
                       : "memory" );
64
16.2k
        break;
65
16.2k
    }
66
16.2k
    return x;
67
16.2k
}
Unexecuted instantiation: vmcs.c:__xchg
Unexecuted instantiation: realmode.c:__xchg
Unexecuted instantiation: vmcb.c:__xchg
Unexecuted instantiation: svmdebug.c:__xchg
Unexecuted instantiation: svm.c:__xchg
Unexecuted instantiation: nestedsvm.c:__xchg
Unexecuted instantiation: intr.c:__xchg
Unexecuted instantiation: vpt.c:__xchg
Unexecuted instantiation: vpic.c:__xchg
Unexecuted instantiation: vmsi.c:__xchg
Unexecuted instantiation: vlapic.c:__xchg
Unexecuted instantiation: viridian.c:__xchg
Unexecuted instantiation: vioapic.c:__xchg
Unexecuted instantiation: stdvga.c:__xchg
Unexecuted instantiation: save.c:__xchg
Unexecuted instantiation: rtc.c:__xchg
Unexecuted instantiation: pmtimer.c:__xchg
Unexecuted instantiation: nestedhvm.c:__xchg
Unexecuted instantiation: mtrr.c:__xchg
Unexecuted instantiation: ioreq.c:__xchg
Unexecuted instantiation: intercept.c:__xchg
Unexecuted instantiation: i8254.c:__xchg
Unexecuted instantiation: hvm.c:__xchg
Unexecuted instantiation: emulate.c:__xchg
Unexecuted instantiation: dm.c:__xchg
Unexecuted instantiation: asid.c:__xchg
Unexecuted instantiation: probe.c:__xchg
Unexecuted instantiation: delivery.c:__xchg
Unexecuted instantiation: default.c:__xchg
Unexecuted instantiation: x2apic.c:__xchg
Unexecuted instantiation: bigsmp.c:__xchg
Unexecuted instantiation: main.c:__xchg
Unexecuted instantiation: generic.c:__xchg
Unexecuted instantiation: vmce.c:__xchg
Unexecuted instantiation: util.c:__xchg
Unexecuted instantiation: non-fatal.c:__xchg
Unexecuted instantiation: mce_intel.c:__xchg
Unexecuted instantiation: mce-apei.c:__xchg
Unexecuted instantiation: mce.c:__xchg
Unexecuted instantiation: mctelem.c:__xchg
Unexecuted instantiation: barrier.c:__xchg
Unexecuted instantiation: mcaction.c:__xchg
Unexecuted instantiation: mce_amd.c:__xchg
Unexecuted instantiation: amd_nonfatal.c:__xchg
Unexecuted instantiation: vpmu_intel.c:__xchg
Unexecuted instantiation: vpmu_amd.c:__xchg
Unexecuted instantiation: vpmu.c:__xchg
Unexecuted instantiation: mwait-idle.c:__xchg
Unexecuted instantiation: intel.c:__xchg
Unexecuted instantiation: common.c:__xchg
Unexecuted instantiation: amd.c:__xchg
Unexecuted instantiation: powernow.c:__xchg
Unexecuted instantiation: cpuidle_menu.c:__xchg
Unexecuted instantiation: cpu_idle.c:__xchg
Unexecuted instantiation: suspend.c:__xchg
Unexecuted instantiation: power.c:__xchg
Unexecuted instantiation: lib.c:__xchg
Unexecuted instantiation: xstate.c:__xchg
Unexecuted instantiation: hpet.c:__xchg
Unexecuted instantiation: tboot.c:__xchg
Unexecuted instantiation: x86_emulate.c:__xchg
Unexecuted instantiation: usercopy.c:__xchg
Unexecuted instantiation: traps.c:__xchg
Unexecuted instantiation: srat.c:__xchg
Unexecuted instantiation: smpboot.c:__xchg
Unexecuted instantiation: setup.c:__xchg
Unexecuted instantiation: psr.c:__xchg
Unexecuted instantiation: platform_hypercall.c:__xchg
Unexecuted instantiation: physdev.c:__xchg
Unexecuted instantiation: percpu.c:__xchg
Unexecuted instantiation: nmi.c:__xchg
Unexecuted instantiation: mpparse.c:__xchg
Unexecuted instantiation: mm.c:__xchg
Unexecuted instantiation: microcode.c:__xchg
Unexecuted instantiation: microcode_intel.c:__xchg
Unexecuted instantiation: microcode_amd.c:__xchg
Unexecuted instantiation: machine_kexec.c:__xchg
Unexecuted instantiation: ioport_emulate.c:__xchg
Unexecuted instantiation: msr.c:__xchg
Unexecuted instantiation: io_apic.c:__xchg
Unexecuted instantiation: i8259.c:__xchg
Unexecuted instantiation: i387.c:__xchg
Unexecuted instantiation: hypercall.c:__xchg
Unexecuted instantiation: flushtlb.c:__xchg
Unexecuted instantiation: extable.c:__xchg
Unexecuted instantiation: e820.c:__xchg
Unexecuted instantiation: domain_page.c:__xchg
Unexecuted instantiation: debug.c:__xchg
Unexecuted instantiation: crash.c:__xchg
Unexecuted instantiation: compat.c:__xchg
Unexecuted instantiation: cpuid.c:__xchg
Unexecuted instantiation: apic.c:__xchg
Unexecuted instantiation: xsm_core.c:__xchg
Unexecuted instantiation: vesa.c:__xchg
Unexecuted instantiation: vga.c:__xchg
Unexecuted instantiation: apei-io.c:__xchg
Unexecuted instantiation: apei-base.c:__xchg
Unexecuted instantiation: hest.c:__xchg
Unexecuted instantiation: erst.c:__xchg
Unexecuted instantiation: utglobal.c:__xchg
Unexecuted instantiation: tbutils.c:__xchg
Unexecuted instantiation: reboot.c:__xchg
Unexecuted instantiation: hwregs.c:__xchg
Unexecuted instantiation: pmstat.c:__xchg
Unexecuted instantiation: osl.c:__xchg
Unexecuted instantiation: numa.c:__xchg
Unexecuted instantiation: iommu_guest.c:__xchg
Unexecuted instantiation: iommu_cmd.c:__xchg
Unexecuted instantiation: iommu_intr.c:__xchg
Unexecuted instantiation: pci_amd_iommu.c:__xchg
Unexecuted instantiation: iommu_map.c:__xchg
Unexecuted instantiation: iommu_init.c:__xchg
Unexecuted instantiation: ats.c:__xchg
Unexecuted instantiation: vtd.c:__xchg
Unexecuted instantiation: quirks.c:__xchg
Unexecuted instantiation: intremap.c:__xchg
Unexecuted instantiation: qinval.c:__xchg
Unexecuted instantiation: utils.c:__xchg
Unexecuted instantiation: dmar.c:__xchg
io.c:__xchg
Line
Count
Source
38
4.14k
{
39
4.14k
    switch ( size )
40
4.14k
    {
41
4.14k
    case 1:
42
4.14k
        asm volatile ( "xchgb %b0,%1"
43
4.14k
                       : "=q" (x)
44
4.14k
                       : "m" (*__xg(ptr)), "0" (x)
45
4.14k
                       : "memory" );
46
4.14k
        break;
47
0
    case 2:
48
0
        asm volatile ( "xchgw %w0,%1"
49
0
                       : "=r" (x)
50
0
                       : "m" (*__xg(ptr)), "0" (x)
51
0
                       : "memory" );
52
0
        break;
53
0
    case 4:
54
0
        asm volatile ( "xchgl %k0,%1"
55
0
                       : "=r" (x)
56
0
                       : "m" (*__xg(ptr)), "0" (x)
57
0
                       : "memory" );
58
0
        break;
59
0
    case 8:
60
0
        asm volatile ( "xchgq %0,%1"
61
0
                       : "=r" (x)
62
0
                       : "m" (*__xg(ptr)), "0" (x)
63
0
                       : "memory" );
64
0
        break;
65
4.14k
    }
66
4.14k
    return x;
67
4.14k
}
Unexecuted instantiation: iommu.c:__xchg
Unexecuted instantiation: msix.c:__xchg
Unexecuted instantiation: msi.c:__xchg
Unexecuted instantiation: header.c:__xchg
Unexecuted instantiation: vpci.c:__xchg
Unexecuted instantiation: pci.c:__xchg
Unexecuted instantiation: utility.c:__xchg
Unexecuted instantiation: cpufreq_misc_governors.c:__xchg
Unexecuted instantiation: cpufreq_ondemand.c:__xchg
Unexecuted instantiation: cpufreq.c:__xchg
Unexecuted instantiation: serial.c:__xchg
Unexecuted instantiation: ehci-dbgp.c:__xchg
Unexecuted instantiation: ns16550.c:__xchg
Unexecuted instantiation: console.c:__xchg
Unexecuted instantiation: libelf-loader.c:__xchg
Unexecuted instantiation: llvm.c:__xchg
Unexecuted instantiation: tmem_control.c:__xchg
Unexecuted instantiation: tmem_xen.c:__xchg
Unexecuted instantiation: tmem.c:__xchg
Unexecuted instantiation: xmalloc_tlsf.c:__xchg
Unexecuted instantiation: xenoprof.c:__xchg
Unexecuted instantiation: wait.c:__xchg
Unexecuted instantiation: vsprintf.c:__xchg
Unexecuted instantiation: vmap.c:__xchg
Unexecuted instantiation: vm_event.c:__xchg
Unexecuted instantiation: virtual_region.c:__xchg
Unexecuted instantiation: trace.c:__xchg
Unexecuted instantiation: timer.c:__xchg
Unexecuted instantiation: time.c:__xchg
Unexecuted instantiation: tasklet.c:__xchg
Unexecuted instantiation: sysctl.c:__xchg
Unexecuted instantiation: symbols.c:__xchg
Unexecuted instantiation: stop_machine.c:__xchg
Unexecuted instantiation: spinlock.c:__xchg
Unexecuted instantiation: smp.c:__xchg
Unexecuted instantiation: softirq.c:__xchg
Unexecuted instantiation: shutdown.c:__xchg
Unexecuted instantiation: schedule.c:__xchg
Unexecuted instantiation: sched_null.c:__xchg
Unexecuted instantiation: sched_rt.c:__xchg
Unexecuted instantiation: sched_credit2.c:__xchg
Unexecuted instantiation: sched_credit.c:__xchg
Unexecuted instantiation: sched_arinc653.c:__xchg
Unexecuted instantiation: rwlock.c:__xchg
Unexecuted instantiation: rcupdate.c:__xchg
Unexecuted instantiation: radix-tree.c:__xchg
Unexecuted instantiation: rangeset.c:__xchg
Unexecuted instantiation: preempt.c:__xchg
Unexecuted instantiation: pdx.c:__xchg
Unexecuted instantiation: page_alloc.c:__xchg
Unexecuted instantiation: notifier.c:__xchg
Unexecuted instantiation: multicall.c:__xchg
Unexecuted instantiation: monitor.c:__xchg
Unexecuted instantiation: memory.c:__xchg
Unexecuted instantiation: mem_access.c:__xchg
Unexecuted instantiation: kimage.c:__xchg
Unexecuted instantiation: kexec.c:__xchg
Unexecuted instantiation: keyhandler.c:__xchg
Unexecuted instantiation: kernel.c:__xchg
irq.c:__xchg
Line
Count
Source
38
7.75k
{
39
7.75k
    switch ( size )
40
7.75k
    {
41
7.75k
    case 1:
42
7.75k
        asm volatile ( "xchgb %b0,%1"
43
7.75k
                       : "=q" (x)
44
7.75k
                       : "m" (*__xg(ptr)), "0" (x)
45
7.75k
                       : "memory" );
46
7.75k
        break;
47
0
    case 2:
48
0
        asm volatile ( "xchgw %w0,%1"
49
0
                       : "=r" (x)
50
0
                       : "m" (*__xg(ptr)), "0" (x)
51
0
                       : "memory" );
52
0
        break;
53
0
    case 4:
54
0
        asm volatile ( "xchgl %k0,%1"
55
0
                       : "=r" (x)
56
0
                       : "m" (*__xg(ptr)), "0" (x)
57
0
                       : "memory" );
58
0
        break;
59
0
    case 8:
60
0
        asm volatile ( "xchgq %0,%1"
61
0
                       : "=r" (x)
62
0
                       : "m" (*__xg(ptr)), "0" (x)
63
0
                       : "memory" );
64
0
        break;
65
7.75k
    }
66
7.75k
    return x;
67
7.75k
}
Unexecuted instantiation: guestcopy.c:__xchg
Unexecuted instantiation: grant_table.c:__xchg
Unexecuted instantiation: event_fifo.c:__xchg
Unexecuted instantiation: event_channel.c:__xchg
Unexecuted instantiation: event_2l.c:__xchg
Unexecuted instantiation: domain.c:__xchg
Unexecuted instantiation: domctl.c:__xchg
Unexecuted instantiation: cpupool.c:__xchg
Unexecuted instantiation: cpu.c:__xchg
68
69
/*
70
 * Atomic compare and exchange.  Compare OLD with MEM, if identical,
71
 * store NEW in MEM.  Return the initial value in MEM.  Success is
72
 * indicated by comparing RETURN with OLD.
73
 */
74
75
static always_inline unsigned long __cmpxchg(
76
    volatile void *ptr, unsigned long old, unsigned long new, int size)
77
4.48M
{
78
4.48M
    unsigned long prev;
79
4.48M
    switch ( size )
80
4.48M
    {
81
946
    case 1:
82
946
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
946
                       : "=a" (prev)
84
946
                       : "q" (new), "m" (*__xg(ptr)),
85
946
                       "0" (old)
86
946
                       : "memory" );
87
946
        return prev;
88
400
    case 2:
89
400
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
400
                       : "=a" (prev)
91
400
                       : "r" (new), "m" (*__xg(ptr)),
92
400
                       "0" (old)
93
400
                       : "memory" );
94
400
        return prev;
95
561k
    case 4:
96
561k
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
561k
                       : "=a" (prev)
98
561k
                       : "r" (new), "m" (*__xg(ptr)),
99
561k
                       "0" (old)
100
561k
                       : "memory" );
101
561k
        return prev;
102
3.92M
    case 8:
103
3.92M
        asm volatile ( "lock; cmpxchgq %1,%2"
104
3.92M
                       : "=a" (prev)
105
3.92M
                       : "r" (new), "m" (*__xg(ptr)),
106
3.92M
                       "0" (old)
107
3.92M
                       : "memory" );
108
3.92M
        return prev;
109
4.48M
    }
110
0
    return old;
111
4.48M
}
Unexecuted instantiation: core_parking.c:__cmpxchg
Unexecuted instantiation: cpu.c:__cmpxchg
Unexecuted instantiation: cpupool.c:__cmpxchg
Unexecuted instantiation: domctl.c:__cmpxchg
domain.c:__cmpxchg
Line
Count
Source
77
1
{
78
1
    unsigned long prev;
79
1
    switch ( size )
80
1
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
1
    case 4:
96
1
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
1
                       : "=a" (prev)
98
1
                       : "r" (new), "m" (*__xg(ptr)),
99
1
                       "0" (old)
100
1
                       : "memory" );
101
1
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
1
    }
110
0
    return old;
111
1
}
Unexecuted instantiation: event_2l.c:__cmpxchg
Unexecuted instantiation: event_channel.c:__cmpxchg
Unexecuted instantiation: event_fifo.c:__cmpxchg
Unexecuted instantiation: grant_table.c:__cmpxchg
Unexecuted instantiation: guestcopy.c:__cmpxchg
irq.c:__cmpxchg
Line
Count
Source
77
946
{
78
946
    unsigned long prev;
79
946
    switch ( size )
80
946
    {
81
946
    case 1:
82
946
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
946
                       : "=a" (prev)
84
946
                       : "q" (new), "m" (*__xg(ptr)),
85
946
                       "0" (old)
86
946
                       : "memory" );
87
946
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
0
    case 4:
96
0
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
0
                       : "=a" (prev)
98
0
                       : "r" (new), "m" (*__xg(ptr)),
99
0
                       "0" (old)
100
0
                       : "memory" );
101
0
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
946
    }
110
0
    return old;
111
946
}
Unexecuted instantiation: kernel.c:__cmpxchg
Unexecuted instantiation: keyhandler.c:__cmpxchg
Unexecuted instantiation: kexec.c:__cmpxchg
Unexecuted instantiation: kimage.c:__cmpxchg
Unexecuted instantiation: mem_access.c:__cmpxchg
Unexecuted instantiation: memory.c:__cmpxchg
Unexecuted instantiation: monitor.c:__cmpxchg
Unexecuted instantiation: multicall.c:__cmpxchg
Unexecuted instantiation: notifier.c:__cmpxchg
Unexecuted instantiation: page_alloc.c:__cmpxchg
Unexecuted instantiation: pdx.c:__cmpxchg
Unexecuted instantiation: preempt.c:__cmpxchg
rangeset.c:__cmpxchg
Line
Count
Source
77
1.11k
{
78
1.11k
    unsigned long prev;
79
1.11k
    switch ( size )
80
1.11k
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
1.11k
    case 4:
96
1.11k
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
1.11k
                       : "=a" (prev)
98
1.11k
                       : "r" (new), "m" (*__xg(ptr)),
99
1.11k
                       "0" (old)
100
1.11k
                       : "memory" );
101
1.11k
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
1.11k
    }
110
0
    return old;
111
1.11k
}
Unexecuted instantiation: radix-tree.c:__cmpxchg
Unexecuted instantiation: rcupdate.c:__cmpxchg
rwlock.c:__cmpxchg
Line
Count
Source
77
512k
{
78
512k
    unsigned long prev;
79
512k
    switch ( size )
80
512k
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
512k
    case 4:
96
512k
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
512k
                       : "=a" (prev)
98
512k
                       : "r" (new), "m" (*__xg(ptr)),
99
512k
                       "0" (old)
100
512k
                       : "memory" );
101
512k
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
512k
    }
110
0
    return old;
111
512k
}
Unexecuted instantiation: sched_arinc653.c:__cmpxchg
Unexecuted instantiation: sched_credit.c:__cmpxchg
Unexecuted instantiation: sched_credit2.c:__cmpxchg
Unexecuted instantiation: sched_rt.c:__cmpxchg
Unexecuted instantiation: sched_null.c:__cmpxchg
Unexecuted instantiation: schedule.c:__cmpxchg
Unexecuted instantiation: shutdown.c:__cmpxchg
Unexecuted instantiation: softirq.c:__cmpxchg
Unexecuted instantiation: smp.c:__cmpxchg
spinlock.c:__cmpxchg
Line
Count
Source
77
8.21k
{
78
8.21k
    unsigned long prev;
79
8.21k
    switch ( size )
80
8.21k
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
400
    case 2:
89
400
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
400
                       : "=a" (prev)
91
400
                       : "r" (new), "m" (*__xg(ptr)),
92
400
                       "0" (old)
93
400
                       : "memory" );
94
400
        return prev;
95
7.81k
    case 4:
96
7.81k
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
7.81k
                       : "=a" (prev)
98
7.81k
                       : "r" (new), "m" (*__xg(ptr)),
99
7.81k
                       "0" (old)
100
7.81k
                       : "memory" );
101
7.81k
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
8.21k
    }
110
0
    return old;
111
8.21k
}
Unexecuted instantiation: stop_machine.c:__cmpxchg
Unexecuted instantiation: symbols.c:__cmpxchg
Unexecuted instantiation: sysctl.c:__cmpxchg
Unexecuted instantiation: tasklet.c:__cmpxchg
Unexecuted instantiation: time.c:__cmpxchg
Unexecuted instantiation: timer.c:__cmpxchg
Unexecuted instantiation: trace.c:__cmpxchg
Unexecuted instantiation: virtual_region.c:__cmpxchg
Unexecuted instantiation: vm_event.c:__cmpxchg
Unexecuted instantiation: vmap.c:__cmpxchg
Unexecuted instantiation: vsprintf.c:__cmpxchg
Unexecuted instantiation: wait.c:__cmpxchg
Unexecuted instantiation: xenoprof.c:__cmpxchg
Unexecuted instantiation: xmalloc_tlsf.c:__cmpxchg
Unexecuted instantiation: tmem.c:__cmpxchg
Unexecuted instantiation: tmem_xen.c:__cmpxchg
Unexecuted instantiation: tmem_control.c:__cmpxchg
Unexecuted instantiation: llvm.c:__cmpxchg
Unexecuted instantiation: libelf-loader.c:__cmpxchg
Unexecuted instantiation: console.c:__cmpxchg
Unexecuted instantiation: ns16550.c:__cmpxchg
Unexecuted instantiation: ehci-dbgp.c:__cmpxchg
Unexecuted instantiation: serial.c:__cmpxchg
Unexecuted instantiation: cpufreq.c:__cmpxchg
Unexecuted instantiation: cpufreq_ondemand.c:__cmpxchg
Unexecuted instantiation: cpufreq_misc_governors.c:__cmpxchg
Unexecuted instantiation: utility.c:__cmpxchg
Unexecuted instantiation: pci.c:__cmpxchg
Unexecuted instantiation: vpci.c:__cmpxchg
Unexecuted instantiation: header.c:__cmpxchg
Unexecuted instantiation: msi.c:__cmpxchg
Unexecuted instantiation: msix.c:__cmpxchg
Unexecuted instantiation: iommu.c:__cmpxchg
io.c:__cmpxchg
Line
Count
Source
77
1
{
78
1
    unsigned long prev;
79
1
    switch ( size )
80
1
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
1
    case 4:
96
1
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
1
                       : "=a" (prev)
98
1
                       : "r" (new), "m" (*__xg(ptr)),
99
1
                       "0" (old)
100
1
                       : "memory" );
101
1
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
1
    }
110
0
    return old;
111
1
}
Unexecuted instantiation: dmar.c:__cmpxchg
Unexecuted instantiation: utils.c:__cmpxchg
Unexecuted instantiation: qinval.c:__cmpxchg
Unexecuted instantiation: intremap.c:__cmpxchg
Unexecuted instantiation: quirks.c:__cmpxchg
Unexecuted instantiation: vtd.c:__cmpxchg
Unexecuted instantiation: ats.c:__cmpxchg
Unexecuted instantiation: iommu_init.c:__cmpxchg
Unexecuted instantiation: iommu_map.c:__cmpxchg
Unexecuted instantiation: pci_amd_iommu.c:__cmpxchg
Unexecuted instantiation: iommu_intr.c:__cmpxchg
Unexecuted instantiation: iommu_cmd.c:__cmpxchg
Unexecuted instantiation: iommu_guest.c:__cmpxchg
Unexecuted instantiation: numa.c:__cmpxchg
Unexecuted instantiation: osl.c:__cmpxchg
Unexecuted instantiation: pmstat.c:__cmpxchg
Unexecuted instantiation: hwregs.c:__cmpxchg
Unexecuted instantiation: reboot.c:__cmpxchg
Unexecuted instantiation: tbutils.c:__cmpxchg
Unexecuted instantiation: utglobal.c:__cmpxchg
Unexecuted instantiation: erst.c:__cmpxchg
Unexecuted instantiation: hest.c:__cmpxchg
Unexecuted instantiation: apei-base.c:__cmpxchg
Unexecuted instantiation: apei-io.c:__cmpxchg
Unexecuted instantiation: vga.c:__cmpxchg
Unexecuted instantiation: vesa.c:__cmpxchg
Unexecuted instantiation: xsm_core.c:__cmpxchg
Unexecuted instantiation: apic.c:__cmpxchg
Unexecuted instantiation: cpuid.c:__cmpxchg
Unexecuted instantiation: compat.c:__cmpxchg
Unexecuted instantiation: crash.c:__cmpxchg
Unexecuted instantiation: debug.c:__cmpxchg
Unexecuted instantiation: domain_page.c:__cmpxchg
Unexecuted instantiation: e820.c:__cmpxchg
Unexecuted instantiation: extable.c:__cmpxchg
flushtlb.c:__cmpxchg
Line
Count
Source
77
39.6k
{
78
39.6k
    unsigned long prev;
79
39.6k
    switch ( size )
80
39.6k
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
39.6k
    case 4:
96
39.6k
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
39.6k
                       : "=a" (prev)
98
39.6k
                       : "r" (new), "m" (*__xg(ptr)),
99
39.6k
                       "0" (old)
100
39.6k
                       : "memory" );
101
39.6k
        return prev;
102
0
    case 8:
103
0
        asm volatile ( "lock; cmpxchgq %1,%2"
104
0
                       : "=a" (prev)
105
0
                       : "r" (new), "m" (*__xg(ptr)),
106
0
                       "0" (old)
107
0
                       : "memory" );
108
0
        return prev;
109
39.6k
    }
110
0
    return old;
111
39.6k
}
Unexecuted instantiation: hypercall.c:__cmpxchg
Unexecuted instantiation: i387.c:__cmpxchg
Unexecuted instantiation: i8259.c:__cmpxchg
Unexecuted instantiation: io_apic.c:__cmpxchg
Unexecuted instantiation: msr.c:__cmpxchg
Unexecuted instantiation: ioport_emulate.c:__cmpxchg
Unexecuted instantiation: machine_kexec.c:__cmpxchg
Unexecuted instantiation: microcode_amd.c:__cmpxchg
Unexecuted instantiation: microcode_intel.c:__cmpxchg
Unexecuted instantiation: microcode.c:__cmpxchg
mm.c:__cmpxchg
Line
Count
Source
77
3.92M
{
78
3.92M
    unsigned long prev;
79
3.92M
    switch ( size )
80
3.92M
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
0
    case 4:
96
0
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
0
                       : "=a" (prev)
98
0
                       : "r" (new), "m" (*__xg(ptr)),
99
0
                       "0" (old)
100
0
                       : "memory" );
101
0
        return prev;
102
3.92M
    case 8:
103
3.92M
        asm volatile ( "lock; cmpxchgq %1,%2"
104
3.92M
                       : "=a" (prev)
105
3.92M
                       : "r" (new), "m" (*__xg(ptr)),
106
3.92M
                       "0" (old)
107
3.92M
                       : "memory" );
108
3.92M
        return prev;
109
3.92M
    }
110
0
    return old;
111
3.92M
}
Unexecuted instantiation: mpparse.c:__cmpxchg
Unexecuted instantiation: nmi.c:__cmpxchg
Unexecuted instantiation: percpu.c:__cmpxchg
Unexecuted instantiation: physdev.c:__cmpxchg
Unexecuted instantiation: platform_hypercall.c:__cmpxchg
Unexecuted instantiation: psr.c:__cmpxchg
Unexecuted instantiation: setup.c:__cmpxchg
Unexecuted instantiation: smpboot.c:__cmpxchg
Unexecuted instantiation: srat.c:__cmpxchg
Unexecuted instantiation: traps.c:__cmpxchg
Unexecuted instantiation: usercopy.c:__cmpxchg
Unexecuted instantiation: x86_emulate.c:__cmpxchg
Unexecuted instantiation: tboot.c:__cmpxchg
Unexecuted instantiation: hpet.c:__cmpxchg
Unexecuted instantiation: xstate.c:__cmpxchg
Unexecuted instantiation: lib.c:__cmpxchg
Unexecuted instantiation: power.c:__cmpxchg
Unexecuted instantiation: suspend.c:__cmpxchg
Unexecuted instantiation: cpu_idle.c:__cmpxchg
Unexecuted instantiation: cpuidle_menu.c:__cmpxchg
Unexecuted instantiation: powernow.c:__cmpxchg
Unexecuted instantiation: amd.c:__cmpxchg
Unexecuted instantiation: common.c:__cmpxchg
Unexecuted instantiation: intel.c:__cmpxchg
Unexecuted instantiation: mwait-idle.c:__cmpxchg
Unexecuted instantiation: vpmu.c:__cmpxchg
Unexecuted instantiation: vpmu_amd.c:__cmpxchg
Unexecuted instantiation: vpmu_intel.c:__cmpxchg
Unexecuted instantiation: amd_nonfatal.c:__cmpxchg
Unexecuted instantiation: mce_amd.c:__cmpxchg
Unexecuted instantiation: mcaction.c:__cmpxchg
Unexecuted instantiation: barrier.c:__cmpxchg
Unexecuted instantiation: mctelem.c:__cmpxchg
Unexecuted instantiation: mce.c:__cmpxchg
Unexecuted instantiation: mce-apei.c:__cmpxchg
Unexecuted instantiation: mce_intel.c:__cmpxchg
Unexecuted instantiation: non-fatal.c:__cmpxchg
Unexecuted instantiation: util.c:__cmpxchg
Unexecuted instantiation: vmce.c:__cmpxchg
Unexecuted instantiation: generic.c:__cmpxchg
Unexecuted instantiation: main.c:__cmpxchg
Unexecuted instantiation: bigsmp.c:__cmpxchg
Unexecuted instantiation: x2apic.c:__cmpxchg
Unexecuted instantiation: default.c:__cmpxchg
Unexecuted instantiation: delivery.c:__cmpxchg
Unexecuted instantiation: probe.c:__cmpxchg
Unexecuted instantiation: asid.c:__cmpxchg
Unexecuted instantiation: dm.c:__cmpxchg
Unexecuted instantiation: emulate.c:__cmpxchg
Unexecuted instantiation: hvm.c:__cmpxchg
Unexecuted instantiation: i8254.c:__cmpxchg
Unexecuted instantiation: intercept.c:__cmpxchg
Unexecuted instantiation: ioreq.c:__cmpxchg
Unexecuted instantiation: mtrr.c:__cmpxchg
Unexecuted instantiation: nestedhvm.c:__cmpxchg
Unexecuted instantiation: pmtimer.c:__cmpxchg
Unexecuted instantiation: rtc.c:__cmpxchg
Unexecuted instantiation: save.c:__cmpxchg
Unexecuted instantiation: stdvga.c:__cmpxchg
Unexecuted instantiation: vioapic.c:__cmpxchg
Unexecuted instantiation: viridian.c:__cmpxchg
Unexecuted instantiation: vlapic.c:__cmpxchg
Unexecuted instantiation: vmsi.c:__cmpxchg
Unexecuted instantiation: vpic.c:__cmpxchg
Unexecuted instantiation: vpt.c:__cmpxchg
Unexecuted instantiation: intr.c:__cmpxchg
Unexecuted instantiation: nestedsvm.c:__cmpxchg
Unexecuted instantiation: svm.c:__cmpxchg
Unexecuted instantiation: svmdebug.c:__cmpxchg
Unexecuted instantiation: vmcb.c:__cmpxchg
Unexecuted instantiation: realmode.c:__cmpxchg
Unexecuted instantiation: vmcs.c:__cmpxchg
vmx.c:__cmpxchg
Line
Count
Source
77
4.14k
{
78
4.14k
    unsigned long prev;
79
4.14k
    switch ( size )
80
4.14k
    {
81
0
    case 1:
82
0
        asm volatile ( "lock; cmpxchgb %b1,%2"
83
0
                       : "=a" (prev)
84
0
                       : "q" (new), "m" (*__xg(ptr)),
85
0
                       "0" (old)
86
0
                       : "memory" );
87
0
        return prev;
88
0
    case 2:
89
0
        asm volatile ( "lock; cmpxchgw %w1,%2"
90
0
                       : "=a" (prev)
91
0
                       : "r" (new), "m" (*__xg(ptr)),
92
0
                       "0" (old)
93
0
                       : "memory" );
94
0
        return prev;
95
0
    case 4:
96
0
        asm volatile ( "lock; cmpxchgl %k1,%2"
97
0
                       : "=a" (prev)
98
0
                       : "r" (new), "m" (*__xg(ptr)),
99
0
                       "0" (old)
100
0
                       : "memory" );
101
0
        return prev;
102
4.14k
    case 8:
103
4.14k
        asm volatile ( "lock; cmpxchgq %1,%2"
104
4.14k
                       : "=a" (prev)
105
4.14k
                       : "r" (new), "m" (*__xg(ptr)),
106
4.14k
                       "0" (old)
107
4.14k
                       : "memory" );
108
4.14k
        return prev;
109
4.14k
    }
110
0
    return old;
111
4.14k
}
Unexecuted instantiation: vvmx.c:__cmpxchg
Unexecuted instantiation: paging.c:__cmpxchg
Unexecuted instantiation: p2m.c:__cmpxchg
Unexecuted instantiation: p2m-pt.c:__cmpxchg
Unexecuted instantiation: p2m-ept.c:__cmpxchg
Unexecuted instantiation: p2m-pod.c:__cmpxchg
Unexecuted instantiation: altp2m.c:__cmpxchg
Unexecuted instantiation: guest_walk.c:__cmpxchg
Unexecuted instantiation: mem_paging.c:__cmpxchg
Unexecuted instantiation: mem_sharing.c:__cmpxchg
Unexecuted instantiation: multi.c:__cmpxchg
Unexecuted instantiation: hap.c:__cmpxchg
Unexecuted instantiation: nested_hap.c:__cmpxchg
Unexecuted instantiation: nested_ept.c:__cmpxchg
Unexecuted instantiation: nmi_int.c:__cmpxchg
Unexecuted instantiation: op_model_p4.c:__cmpxchg
Unexecuted instantiation: op_model_ppro.c:__cmpxchg
Unexecuted instantiation: op_model_athlon.c:__cmpxchg
Unexecuted instantiation: backtrace.c:__cmpxchg
Unexecuted instantiation: callback.c:__cmpxchg
Unexecuted instantiation: descriptor-tables.c:__cmpxchg
Unexecuted instantiation: emul-gate-op.c:__cmpxchg
Unexecuted instantiation: emul-inv-op.c:__cmpxchg
Unexecuted instantiation: emul-priv-op.c:__cmpxchg
Unexecuted instantiation: iret.c:__cmpxchg
Unexecuted instantiation: misc-hypercalls.c:__cmpxchg
Unexecuted instantiation: ro-page-fault.c:__cmpxchg
Unexecuted instantiation: acpi_mmcfg.c:__cmpxchg
Unexecuted instantiation: mmconf-fam10h.c:__cmpxchg
Unexecuted instantiation: mmconfig_64.c:__cmpxchg
Unexecuted instantiation: mmconfig-shared.c:__cmpxchg
112
113
0
#define cmpxchgptr(ptr,o,n) ({                                          \
114
0
    const __typeof__(**(ptr)) *__o = (o);                               \
115
0
    __typeof__(**(ptr)) *__n = (n);                                     \
116
0
    ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)__o,            \
117
0
                                   (unsigned long)__n,sizeof(*(ptr)))); \
118
0
})
119
120
/*
121
 * Undefined symbol to cause link failure if a wrong size is used with
122
 * arch_fetch_and_add().
123
 */
124
extern unsigned long __bad_fetch_and_add_size(void);
125
126
static always_inline unsigned long __xadd(
127
    volatile void *ptr, unsigned long v, int size)
128
53.9M
{
129
53.9M
    switch ( size )
130
53.9M
    {
131
0
    case 1:
132
0
        asm volatile ( "lock; xaddb %b0,%1"
133
0
                       : "+r" (v), "+m" (*__xg(ptr))
134
0
                       :: "memory");
135
0
        return v;
136
0
    case 2:
137
0
        asm volatile ( "lock; xaddw %w0,%1"
138
0
                       : "+r" (v), "+m" (*__xg(ptr))
139
0
                       :: "memory");
140
0
        return v;
141
53.8M
    case 4:
142
53.8M
        asm volatile ( "lock; xaddl %k0,%1"
143
53.8M
                       : "+r" (v), "+m" (*__xg(ptr))
144
53.8M
                       :: "memory");
145
53.8M
        return v;
146
0
    case 8:
147
0
        asm volatile ( "lock; xaddq %q0,%1"
148
0
                       : "+r" (v), "+m" (*__xg(ptr))
149
0
                       :: "memory");
150
0
151
0
        return v;
152
0
    default:
153
0
        return __bad_fetch_and_add_size();
154
53.9M
    }
155
53.9M
}
Unexecuted instantiation: mmconfig-shared.c:__xadd
Unexecuted instantiation: core_parking.c:__xadd
Unexecuted instantiation: mmconfig_64.c:__xadd
Unexecuted instantiation: mmconf-fam10h.c:__xadd
Unexecuted instantiation: acpi_mmcfg.c:__xadd
Unexecuted instantiation: ro-page-fault.c:__xadd
Unexecuted instantiation: misc-hypercalls.c:__xadd
Unexecuted instantiation: iret.c:__xadd
Unexecuted instantiation: emul-priv-op.c:__xadd
Unexecuted instantiation: emul-inv-op.c:__xadd
Unexecuted instantiation: emul-gate-op.c:__xadd
Unexecuted instantiation: descriptor-tables.c:__xadd
Unexecuted instantiation: callback.c:__xadd
Unexecuted instantiation: backtrace.c:__xadd
Unexecuted instantiation: op_model_athlon.c:__xadd
Unexecuted instantiation: op_model_ppro.c:__xadd
Unexecuted instantiation: op_model_p4.c:__xadd
Unexecuted instantiation: nmi_int.c:__xadd
Unexecuted instantiation: nested_ept.c:__xadd
Unexecuted instantiation: nested_hap.c:__xadd
Unexecuted instantiation: hap.c:__xadd
Unexecuted instantiation: multi.c:__xadd
Unexecuted instantiation: mem_sharing.c:__xadd
Unexecuted instantiation: mem_paging.c:__xadd
Unexecuted instantiation: guest_walk.c:__xadd
Unexecuted instantiation: altp2m.c:__xadd
Unexecuted instantiation: p2m-pod.c:__xadd
Unexecuted instantiation: p2m-ept.c:__xadd
Unexecuted instantiation: p2m-pt.c:__xadd
p2m.c:__xadd
Line
Count
Source
128
139
{
129
139
    switch ( size )
130
139
    {
131
0
    case 1:
132
0
        asm volatile ( "lock; xaddb %b0,%1"
133
0
                       : "+r" (v), "+m" (*__xg(ptr))
134
0
                       :: "memory");
135
0
        return v;
136
0
    case 2:
137
0
        asm volatile ( "lock; xaddw %w0,%1"
138
0
                       : "+r" (v), "+m" (*__xg(ptr))
139
0
                       :: "memory");
140
0
        return v;
141
139
    case 4:
142
139
        asm volatile ( "lock; xaddl %k0,%1"
143
139
                       : "+r" (v), "+m" (*__xg(ptr))
144
139
                       :: "memory");
145
139
        return v;
146
0
    case 8:
147
0
        asm volatile ( "lock; xaddq %q0,%1"
148
0
                       : "+r" (v), "+m" (*__xg(ptr))
149
0
                       :: "memory");
150
0
151
0
        return v;
152
0
    default:
153
0
        return __bad_fetch_and_add_size();
154
139
    }
155
139
}
Unexecuted instantiation: paging.c:__xadd
Unexecuted instantiation: vvmx.c:__xadd
Unexecuted instantiation: vmx.c:__xadd
Unexecuted instantiation: vmcs.c:__xadd
Unexecuted instantiation: realmode.c:__xadd
Unexecuted instantiation: vmcb.c:__xadd
Unexecuted instantiation: svmdebug.c:__xadd
Unexecuted instantiation: svm.c:__xadd
Unexecuted instantiation: nestedsvm.c:__xadd
Unexecuted instantiation: intr.c:__xadd
Unexecuted instantiation: vpt.c:__xadd
Unexecuted instantiation: vpic.c:__xadd
Unexecuted instantiation: vmsi.c:__xadd
Unexecuted instantiation: vlapic.c:__xadd
Unexecuted instantiation: viridian.c:__xadd
Unexecuted instantiation: vioapic.c:__xadd
Unexecuted instantiation: stdvga.c:__xadd
Unexecuted instantiation: save.c:__xadd
Unexecuted instantiation: rtc.c:__xadd
Unexecuted instantiation: pmtimer.c:__xadd
Unexecuted instantiation: nestedhvm.c:__xadd
Unexecuted instantiation: mtrr.c:__xadd
Unexecuted instantiation: ioreq.c:__xadd
Unexecuted instantiation: intercept.c:__xadd
Unexecuted instantiation: i8254.c:__xadd
Unexecuted instantiation: hvm.c:__xadd
Unexecuted instantiation: emulate.c:__xadd
Unexecuted instantiation: dm.c:__xadd
Unexecuted instantiation: asid.c:__xadd
Unexecuted instantiation: probe.c:__xadd
Unexecuted instantiation: delivery.c:__xadd
Unexecuted instantiation: default.c:__xadd
Unexecuted instantiation: x2apic.c:__xadd
Unexecuted instantiation: bigsmp.c:__xadd
Unexecuted instantiation: main.c:__xadd
Unexecuted instantiation: generic.c:__xadd
Unexecuted instantiation: vmce.c:__xadd
Unexecuted instantiation: util.c:__xadd
Unexecuted instantiation: non-fatal.c:__xadd
Unexecuted instantiation: mce_intel.c:__xadd
Unexecuted instantiation: mce-apei.c:__xadd
Unexecuted instantiation: mce.c:__xadd
Unexecuted instantiation: mctelem.c:__xadd
Unexecuted instantiation: barrier.c:__xadd
Unexecuted instantiation: mcaction.c:__xadd
Unexecuted instantiation: mce_amd.c:__xadd
Unexecuted instantiation: amd_nonfatal.c:__xadd
Unexecuted instantiation: vpmu_intel.c:__xadd
Unexecuted instantiation: vpmu_amd.c:__xadd
Unexecuted instantiation: vpmu.c:__xadd
Unexecuted instantiation: mwait-idle.c:__xadd
Unexecuted instantiation: intel.c:__xadd
Unexecuted instantiation: common.c:__xadd
Unexecuted instantiation: amd.c:__xadd
Unexecuted instantiation: powernow.c:__xadd
Unexecuted instantiation: cpuidle_menu.c:__xadd
Unexecuted instantiation: cpu_idle.c:__xadd
Unexecuted instantiation: suspend.c:__xadd
Unexecuted instantiation: power.c:__xadd
Unexecuted instantiation: lib.c:__xadd
Unexecuted instantiation: xstate.c:__xadd
Unexecuted instantiation: hpet.c:__xadd
Unexecuted instantiation: tboot.c:__xadd
Unexecuted instantiation: x86_emulate.c:__xadd
Unexecuted instantiation: usercopy.c:__xadd
Unexecuted instantiation: traps.c:__xadd
Unexecuted instantiation: srat.c:__xadd
Unexecuted instantiation: smpboot.c:__xadd
Unexecuted instantiation: setup.c:__xadd
Unexecuted instantiation: psr.c:__xadd
Unexecuted instantiation: platform_hypercall.c:__xadd
Unexecuted instantiation: physdev.c:__xadd
Unexecuted instantiation: percpu.c:__xadd
Unexecuted instantiation: nmi.c:__xadd
Unexecuted instantiation: mpparse.c:__xadd
Unexecuted instantiation: mm.c:__xadd
Unexecuted instantiation: microcode.c:__xadd
Unexecuted instantiation: microcode_intel.c:__xadd
Unexecuted instantiation: microcode_amd.c:__xadd
Unexecuted instantiation: machine_kexec.c:__xadd
Unexecuted instantiation: ioport_emulate.c:__xadd
Unexecuted instantiation: msr.c:__xadd
Unexecuted instantiation: io_apic.c:__xadd
Unexecuted instantiation: i8259.c:__xadd
Unexecuted instantiation: i387.c:__xadd
Unexecuted instantiation: hypercall.c:__xadd
Unexecuted instantiation: flushtlb.c:__xadd
Unexecuted instantiation: extable.c:__xadd
Unexecuted instantiation: e820.c:__xadd
Unexecuted instantiation: domain_page.c:__xadd
Unexecuted instantiation: debug.c:__xadd
Unexecuted instantiation: crash.c:__xadd
Unexecuted instantiation: compat.c:__xadd
Unexecuted instantiation: cpuid.c:__xadd
Unexecuted instantiation: apic.c:__xadd
Unexecuted instantiation: xsm_core.c:__xadd
Unexecuted instantiation: vesa.c:__xadd
Unexecuted instantiation: vga.c:__xadd
Unexecuted instantiation: apei-io.c:__xadd
Unexecuted instantiation: apei-base.c:__xadd
Unexecuted instantiation: hest.c:__xadd
Unexecuted instantiation: erst.c:__xadd
Unexecuted instantiation: utglobal.c:__xadd
Unexecuted instantiation: tbutils.c:__xadd
Unexecuted instantiation: reboot.c:__xadd
Unexecuted instantiation: hwregs.c:__xadd
Unexecuted instantiation: pmstat.c:__xadd
Unexecuted instantiation: osl.c:__xadd
Unexecuted instantiation: numa.c:__xadd
Unexecuted instantiation: iommu_guest.c:__xadd
Unexecuted instantiation: iommu_cmd.c:__xadd
Unexecuted instantiation: iommu_intr.c:__xadd
Unexecuted instantiation: pci_amd_iommu.c:__xadd
Unexecuted instantiation: iommu_map.c:__xadd
Unexecuted instantiation: iommu_init.c:__xadd
Unexecuted instantiation: ats.c:__xadd
Unexecuted instantiation: vtd.c:__xadd
Unexecuted instantiation: quirks.c:__xadd
Unexecuted instantiation: intremap.c:__xadd
Unexecuted instantiation: qinval.c:__xadd
Unexecuted instantiation: utils.c:__xadd
Unexecuted instantiation: dmar.c:__xadd
io.c:__xadd
Line
Count
Source
128
594k
{
129
594k
    switch ( size )
130
594k
    {
131
0
    case 1:
132
0
        asm volatile ( "lock; xaddb %b0,%1"
133
0
                       : "+r" (v), "+m" (*__xg(ptr))
134
0
                       :: "memory");
135
0
        return v;
136
0
    case 2:
137
0
        asm volatile ( "lock; xaddw %w0,%1"
138
0
                       : "+r" (v), "+m" (*__xg(ptr))
139
0
                       :: "memory");
140
0
        return v;
141
593k
    case 4:
142
593k
        asm volatile ( "lock; xaddl %k0,%1"
143
593k
                       : "+r" (v), "+m" (*__xg(ptr))
144
593k
                       :: "memory");
145
593k
        return v;
146
0
    case 8:
147
0
        asm volatile ( "lock; xaddq %q0,%1"
148
0
                       : "+r" (v), "+m" (*__xg(ptr))
149
0
                       :: "memory");
150
0
151
0
        return v;
152
0
    default:
153
0
        return __bad_fetch_and_add_size();
154
594k
    }
155
594k
}
Unexecuted instantiation: iommu.c:__xadd
Unexecuted instantiation: msix.c:__xadd
Unexecuted instantiation: msi.c:__xadd
Unexecuted instantiation: header.c:__xadd
Unexecuted instantiation: vpci.c:__xadd
Unexecuted instantiation: pci.c:__xadd
Unexecuted instantiation: utility.c:__xadd
Unexecuted instantiation: cpufreq_misc_governors.c:__xadd
Unexecuted instantiation: cpufreq_ondemand.c:__xadd
Unexecuted instantiation: cpufreq.c:__xadd
Unexecuted instantiation: serial.c:__xadd
Unexecuted instantiation: ehci-dbgp.c:__xadd
Unexecuted instantiation: ns16550.c:__xadd
Unexecuted instantiation: console.c:__xadd
Unexecuted instantiation: libelf-loader.c:__xadd
Unexecuted instantiation: llvm.c:__xadd
Unexecuted instantiation: tmem_control.c:__xadd
Unexecuted instantiation: tmem_xen.c:__xadd
Unexecuted instantiation: tmem.c:__xadd
Unexecuted instantiation: xmalloc_tlsf.c:__xadd
Unexecuted instantiation: xenoprof.c:__xadd
Unexecuted instantiation: wait.c:__xadd
Unexecuted instantiation: vsprintf.c:__xadd
Unexecuted instantiation: vmap.c:__xadd
Unexecuted instantiation: vm_event.c:__xadd
Unexecuted instantiation: virtual_region.c:__xadd
Unexecuted instantiation: trace.c:__xadd
Unexecuted instantiation: timer.c:__xadd
Unexecuted instantiation: time.c:__xadd
Unexecuted instantiation: tasklet.c:__xadd
Unexecuted instantiation: sysctl.c:__xadd
Unexecuted instantiation: symbols.c:__xadd
Unexecuted instantiation: stop_machine.c:__xadd
spinlock.c:__xadd
Line
Count
Source
128
50.9M
{
129
50.9M
    switch ( size )
130
50.9M
    {
131
0
    case 1:
132
0
        asm volatile ( "lock; xaddb %b0,%1"
133
0
                       : "+r" (v), "+m" (*__xg(ptr))
134
0
                       :: "memory");
135
0
        return v;
136
0
    case 2:
137
0
        asm volatile ( "lock; xaddw %w0,%1"
138
0
                       : "+r" (v), "+m" (*__xg(ptr))
139
0
                       :: "memory");
140
0
        return v;
141
50.8M
    case 4:
142
50.8M
        asm volatile ( "lock; xaddl %k0,%1"
143
50.8M
                       : "+r" (v), "+m" (*__xg(ptr))
144
50.8M
                       :: "memory");
145
50.8M
        return v;
146
0
    case 8:
147
0
        asm volatile ( "lock; xaddq %q0,%1"
148
0
                       : "+r" (v), "+m" (*__xg(ptr))
149
0
                       :: "memory");
150
0
151
0
        return v;
152
0
    default:
153
0
        return __bad_fetch_and_add_size();
154
50.9M
    }
155
50.9M
}
Unexecuted instantiation: smp.c:__xadd
Unexecuted instantiation: softirq.c:__xadd
Unexecuted instantiation: shutdown.c:__xadd
Unexecuted instantiation: schedule.c:__xadd
Unexecuted instantiation: sched_null.c:__xadd
Unexecuted instantiation: sched_rt.c:__xadd
Unexecuted instantiation: sched_credit2.c:__xadd
Unexecuted instantiation: sched_credit.c:__xadd
Unexecuted instantiation: sched_arinc653.c:__xadd
rwlock.c:__xadd
Line
Count
Source
128
138
{
129
138
    switch ( size )
130
138
    {
131
0
    case 1:
132
0
        asm volatile ( "lock; xaddb %b0,%1"
133
0
                       : "+r" (v), "+m" (*__xg(ptr))
134
0
                       :: "memory");
135
0
        return v;
136
0
    case 2:
137
0
        asm volatile ( "lock; xaddw %w0,%1"
138
0
                       : "+r" (v), "+m" (*__xg(ptr))
139
0
                       :: "memory");
140
0
        return v;
141
138
    case 4:
142
138
        asm volatile ( "lock; xaddl %k0,%1"
143
138
                       : "+r" (v), "+m" (*__xg(ptr))
144
138
                       :: "memory");
145
138
        return v;
146
0
    case 8:
147
0
        asm volatile ( "lock; xaddq %q0,%1"
148
0
                       : "+r" (v), "+m" (*__xg(ptr))
149
0
                       :: "memory");
150
0
151
0
        return v;
152
0
    default:
153
0
        return __bad_fetch_and_add_size();
154
138
    }
155
138
}
Unexecuted instantiation: rcupdate.c:__xadd
Unexecuted instantiation: radix-tree.c:__xadd
rangeset.c:__xadd
Line
Count
Source
128
2.44M
{
129
2.44M
    switch ( size )
130
2.44M
    {
131
0
    case 1:
132
0
        asm volatile ( "lock; xaddb %b0,%1"
133
0
                       : "+r" (v), "+m" (*__xg(ptr))
134
0
                       :: "memory");
135
0
        return v;
136
0
    case 2:
137
0
        asm volatile ( "lock; xaddw %w0,%1"
138
0
                       : "+r" (v), "+m" (*__xg(ptr))
139
0
                       :: "memory");
140
0
        return v;
141
2.44M
    case 4:
142
2.44M
        asm volatile ( "lock; xaddl %k0,%1"
143
2.44M
                       : "+r" (v), "+m" (*__xg(ptr))
144
2.44M
                       :: "memory");
145
2.44M
        return v;
146
0
    case 8:
147
0
        asm volatile ( "lock; xaddq %q0,%1"
148
0
                       : "+r" (v), "+m" (*__xg(ptr))
149
0
                       :: "memory");
150
0
151
0
        return v;
152
0
    default:
153
0
        return __bad_fetch_and_add_size();
154
2.44M
    }
155
2.44M
}
Unexecuted instantiation: preempt.c:__xadd
Unexecuted instantiation: pdx.c:__xadd
Unexecuted instantiation: page_alloc.c:__xadd
Unexecuted instantiation: notifier.c:__xadd
Unexecuted instantiation: multicall.c:__xadd
Unexecuted instantiation: monitor.c:__xadd
Unexecuted instantiation: memory.c:__xadd
Unexecuted instantiation: mem_access.c:__xadd
Unexecuted instantiation: kimage.c:__xadd
Unexecuted instantiation: kexec.c:__xadd
Unexecuted instantiation: keyhandler.c:__xadd
Unexecuted instantiation: kernel.c:__xadd
Unexecuted instantiation: irq.c:__xadd
Unexecuted instantiation: guestcopy.c:__xadd
Unexecuted instantiation: grant_table.c:__xadd
Unexecuted instantiation: event_fifo.c:__xadd
Unexecuted instantiation: event_channel.c:__xadd
Unexecuted instantiation: event_2l.c:__xadd
Unexecuted instantiation: domain.c:__xadd
Unexecuted instantiation: domctl.c:__xadd
Unexecuted instantiation: cpupool.c:__xadd
Unexecuted instantiation: cpu.c:__xadd
156
157
/*
158
 * Atomically add @v to the 1, 2, 4, or 8 byte value at @ptr.  Returns
159
 * the previous value.
160
 *
161
 * This is a full memory barrier.
162
 */
163
#define arch_fetch_and_add(ptr, v) \
164
51.8M
    ((typeof(*(ptr)))__xadd(ptr, (typeof(*(ptr)))(v), sizeof(*(ptr))))
165
166
/*
167
 * Both Intel and AMD agree that, from a programmer's viewpoint:
168
 *  Loads cannot be reordered relative to other loads.
169
 *  Stores cannot be reordered relative to other stores.
170
 * 
171
 * Intel64 Architecture Memory Ordering White Paper
172
 * <http://developer.intel.com/products/processor/manuals/318147.pdf>
173
 * 
174
 * AMD64 Architecture Programmer's Manual, Volume 2: System Programming
175
 * <http://www.amd.com/us-en/assets/content_type/\
176
 *  white_papers_and_tech_docs/24593.pdf>
177
 */
178
58.0M
#define rmb()           barrier()
179
6.22M
#define wmb()           barrier()
180
181
8.61M
#define smp_mb()        mb()
182
58.0M
#define smp_rmb()       rmb()
183
6.22M
#define smp_wmb()       wmb()
184
185
#define set_mb(var, value) do { xchg(&var, value); } while (0)
186
#define set_wmb(var, value) do { var = value; wmb(); } while (0)
187
188
57.3M
#define local_irq_disable()     asm volatile ( "cli" : : : "memory" )
189
20.9M
#define local_irq_enable()      asm volatile ( "sti" : : : "memory" )
190
191
/* used in the idle loop; sti takes one instruction cycle to complete */
192
0
#define safe_halt()     asm volatile ( "sti; hlt" : : : "memory" )
193
/* used when interrupts are already enabled or to shutdown the processor */
194
0
#define halt()          asm volatile ( "hlt" : : : "memory" )
195
196
130M
#define local_save_flags(x)                                      \
197
130M
({                                                               \
198
130M
    BUILD_BUG_ON(sizeof(x) != sizeof(long));                     \
199
130M
    asm volatile ( "pushf" __OS " ; pop" __OS " %0" : "=g" (x)); \
200
130M
})
201
41.7M
#define local_irq_save(x)                                        \
202
41.7M
({                                                               \
203
41.7M
    local_save_flags(x);                                         \
204
41.7M
    local_irq_disable();                                         \
205
41.7M
})
206
41.8M
#define local_irq_restore(x)                                     \
207
41.8M
({                                                               \
208
41.8M
    BUILD_BUG_ON(sizeof(x) != sizeof(long));                     \
209
41.8M
    asm volatile ( "pushfq\n\t"                                  \
210
41.8M
                   "andq %0, (%%rsp)\n\t"                        \
211
41.8M
                   "orq  %1, (%%rsp)\n\t"                        \
212
41.8M
                   "popfq"                                       \
213
41.8M
                   : : "i?r" ( ~X86_EFLAGS_IF ),                 \
214
41.8M
                       "ri" ( (x) & X86_EFLAGS_IF ) );           \
215
41.8M
})
216
217
static inline int local_irq_is_enabled(void)
218
88.9M
{
219
88.9M
    unsigned long flags;
220
88.9M
    local_save_flags(flags);
221
88.9M
    return !!(flags & X86_EFLAGS_IF);
222
88.9M
}
Unexecuted instantiation: mmconfig-shared.c:local_irq_is_enabled
Unexecuted instantiation: cpu.c:local_irq_is_enabled
Unexecuted instantiation: cpupool.c:local_irq_is_enabled
Unexecuted instantiation: domctl.c:local_irq_is_enabled
domain.c:local_irq_is_enabled
Line
Count
Source
218
164k
{
219
164k
    unsigned long flags;
220
164k
    local_save_flags(flags);
221
164k
    return !!(flags & X86_EFLAGS_IF);
222
164k
}
Unexecuted instantiation: event_2l.c:local_irq_is_enabled
Unexecuted instantiation: event_channel.c:local_irq_is_enabled
Unexecuted instantiation: event_fifo.c:local_irq_is_enabled
Unexecuted instantiation: grant_table.c:local_irq_is_enabled
Unexecuted instantiation: guestcopy.c:local_irq_is_enabled
irq.c:local_irq_is_enabled
Line
Count
Source
218
112k
{
219
112k
    unsigned long flags;
220
112k
    local_save_flags(flags);
221
112k
    return !!(flags & X86_EFLAGS_IF);
222
112k
}
Unexecuted instantiation: kernel.c:local_irq_is_enabled
Unexecuted instantiation: keyhandler.c:local_irq_is_enabled
Unexecuted instantiation: kexec.c:local_irq_is_enabled
Unexecuted instantiation: kimage.c:local_irq_is_enabled
Unexecuted instantiation: mem_access.c:local_irq_is_enabled
Unexecuted instantiation: memory.c:local_irq_is_enabled
Unexecuted instantiation: monitor.c:local_irq_is_enabled
Unexecuted instantiation: multicall.c:local_irq_is_enabled
Unexecuted instantiation: notifier.c:local_irq_is_enabled
page_alloc.c:local_irq_is_enabled
Line
Count
Source
218
1
{
219
1
    unsigned long flags;
220
1
    local_save_flags(flags);
221
1
    return !!(flags & X86_EFLAGS_IF);
222
1
}
Unexecuted instantiation: pdx.c:local_irq_is_enabled
preempt.c:local_irq_is_enabled
Line
Count
Source
218
20.7M
{
219
20.7M
    unsigned long flags;
220
20.7M
    local_save_flags(flags);
221
20.7M
    return !!(flags & X86_EFLAGS_IF);
222
20.7M
}
Unexecuted instantiation: rangeset.c:local_irq_is_enabled
Unexecuted instantiation: radix-tree.c:local_irq_is_enabled
Unexecuted instantiation: rcupdate.c:local_irq_is_enabled
Unexecuted instantiation: rwlock.c:local_irq_is_enabled
Unexecuted instantiation: sched_arinc653.c:local_irq_is_enabled
Unexecuted instantiation: sched_credit.c:local_irq_is_enabled
Unexecuted instantiation: sched_credit2.c:local_irq_is_enabled
Unexecuted instantiation: sched_rt.c:local_irq_is_enabled
Unexecuted instantiation: sched_null.c:local_irq_is_enabled
Unexecuted instantiation: schedule.c:local_irq_is_enabled
Unexecuted instantiation: shutdown.c:local_irq_is_enabled
softirq.c:local_irq_is_enabled
Line
Count
Source
218
1.91M
{
219
1.91M
    unsigned long flags;
220
1.91M
    local_save_flags(flags);
221
1.91M
    return !!(flags & X86_EFLAGS_IF);
222
1.91M
}
smp.c:local_irq_is_enabled
Line
Count
Source
218
223k
{
219
223k
    unsigned long flags;
220
223k
    local_save_flags(flags);
221
223k
    return !!(flags & X86_EFLAGS_IF);
222
223k
}
spinlock.c:local_irq_is_enabled
Line
Count
Source
218
63.9M
{
219
63.9M
    unsigned long flags;
220
63.9M
    local_save_flags(flags);
221
63.9M
    return !!(flags & X86_EFLAGS_IF);
222
63.9M
}
Unexecuted instantiation: stop_machine.c:local_irq_is_enabled
Unexecuted instantiation: symbols.c:local_irq_is_enabled
Unexecuted instantiation: sysctl.c:local_irq_is_enabled
Unexecuted instantiation: tasklet.c:local_irq_is_enabled
time.c:local_irq_is_enabled
Line
Count
Source
218
146
{
219
146
    unsigned long flags;
220
146
    local_save_flags(flags);
221
146
    return !!(flags & X86_EFLAGS_IF);
222
146
}
Unexecuted instantiation: timer.c:local_irq_is_enabled
Unexecuted instantiation: trace.c:local_irq_is_enabled
virtual_region.c:local_irq_is_enabled
Line
Count
Source
218
2
{
219
2
    unsigned long flags;
220
2
    local_save_flags(flags);
221
2
    return !!(flags & X86_EFLAGS_IF);
222
2
}
Unexecuted instantiation: vm_event.c:local_irq_is_enabled
Unexecuted instantiation: vmap.c:local_irq_is_enabled
Unexecuted instantiation: vsprintf.c:local_irq_is_enabled
Unexecuted instantiation: wait.c:local_irq_is_enabled
Unexecuted instantiation: xenoprof.c:local_irq_is_enabled
Unexecuted instantiation: xmalloc_tlsf.c:local_irq_is_enabled
Unexecuted instantiation: tmem.c:local_irq_is_enabled
Unexecuted instantiation: tmem_xen.c:local_irq_is_enabled
Unexecuted instantiation: tmem_control.c:local_irq_is_enabled
Unexecuted instantiation: llvm.c:local_irq_is_enabled
Unexecuted instantiation: libelf-loader.c:local_irq_is_enabled
Unexecuted instantiation: console.c:local_irq_is_enabled
Unexecuted instantiation: ns16550.c:local_irq_is_enabled
Unexecuted instantiation: ehci-dbgp.c:local_irq_is_enabled
Unexecuted instantiation: serial.c:local_irq_is_enabled
Unexecuted instantiation: cpufreq.c:local_irq_is_enabled
Unexecuted instantiation: cpufreq_ondemand.c:local_irq_is_enabled
Unexecuted instantiation: cpufreq_misc_governors.c:local_irq_is_enabled
Unexecuted instantiation: utility.c:local_irq_is_enabled
Unexecuted instantiation: pci.c:local_irq_is_enabled
Unexecuted instantiation: vpci.c:local_irq_is_enabled
Unexecuted instantiation: header.c:local_irq_is_enabled
Unexecuted instantiation: msi.c:local_irq_is_enabled
Unexecuted instantiation: msix.c:local_irq_is_enabled
Unexecuted instantiation: iommu.c:local_irq_is_enabled
Unexecuted instantiation: io.c:local_irq_is_enabled
Unexecuted instantiation: dmar.c:local_irq_is_enabled
Unexecuted instantiation: utils.c:local_irq_is_enabled
Unexecuted instantiation: qinval.c:local_irq_is_enabled
Unexecuted instantiation: intremap.c:local_irq_is_enabled
Unexecuted instantiation: quirks.c:local_irq_is_enabled
Unexecuted instantiation: vtd.c:local_irq_is_enabled
Unexecuted instantiation: ats.c:local_irq_is_enabled
Unexecuted instantiation: iommu_init.c:local_irq_is_enabled
Unexecuted instantiation: iommu_map.c:local_irq_is_enabled
Unexecuted instantiation: pci_amd_iommu.c:local_irq_is_enabled
Unexecuted instantiation: iommu_intr.c:local_irq_is_enabled
Unexecuted instantiation: iommu_cmd.c:local_irq_is_enabled
Unexecuted instantiation: iommu_guest.c:local_irq_is_enabled
Unexecuted instantiation: numa.c:local_irq_is_enabled
Unexecuted instantiation: osl.c:local_irq_is_enabled
Unexecuted instantiation: pmstat.c:local_irq_is_enabled
Unexecuted instantiation: hwregs.c:local_irq_is_enabled
Unexecuted instantiation: reboot.c:local_irq_is_enabled
Unexecuted instantiation: tbutils.c:local_irq_is_enabled
Unexecuted instantiation: utglobal.c:local_irq_is_enabled
Unexecuted instantiation: erst.c:local_irq_is_enabled
Unexecuted instantiation: hest.c:local_irq_is_enabled
Unexecuted instantiation: apei-base.c:local_irq_is_enabled
Unexecuted instantiation: apei-io.c:local_irq_is_enabled
Unexecuted instantiation: vga.c:local_irq_is_enabled
Unexecuted instantiation: vesa.c:local_irq_is_enabled
Unexecuted instantiation: xsm_core.c:local_irq_is_enabled
Unexecuted instantiation: apic.c:local_irq_is_enabled
Unexecuted instantiation: cpuid.c:local_irq_is_enabled
Unexecuted instantiation: compat.c:local_irq_is_enabled
Unexecuted instantiation: crash.c:local_irq_is_enabled
Unexecuted instantiation: debug.c:local_irq_is_enabled
domain_page.c:local_irq_is_enabled
Line
Count
Source
218
12
{
219
12
    unsigned long flags;
220
12
    local_save_flags(flags);
221
12
    return !!(flags & X86_EFLAGS_IF);
222
12
}
Unexecuted instantiation: e820.c:local_irq_is_enabled
Unexecuted instantiation: extable.c:local_irq_is_enabled
Unexecuted instantiation: flushtlb.c:local_irq_is_enabled
Unexecuted instantiation: hypercall.c:local_irq_is_enabled
Unexecuted instantiation: i387.c:local_irq_is_enabled
Unexecuted instantiation: i8259.c:local_irq_is_enabled
Unexecuted instantiation: io_apic.c:local_irq_is_enabled
Unexecuted instantiation: msr.c:local_irq_is_enabled
Unexecuted instantiation: ioport_emulate.c:local_irq_is_enabled
Unexecuted instantiation: machine_kexec.c:local_irq_is_enabled
Unexecuted instantiation: microcode_amd.c:local_irq_is_enabled
Unexecuted instantiation: microcode_intel.c:local_irq_is_enabled
Unexecuted instantiation: microcode.c:local_irq_is_enabled
mm.c:local_irq_is_enabled
Line
Count
Source
218
59
{
219
59
    unsigned long flags;
220
59
    local_save_flags(flags);
221
59
    return !!(flags & X86_EFLAGS_IF);
222
59
}
Unexecuted instantiation: mpparse.c:local_irq_is_enabled
Unexecuted instantiation: nmi.c:local_irq_is_enabled
Unexecuted instantiation: percpu.c:local_irq_is_enabled
Unexecuted instantiation: physdev.c:local_irq_is_enabled
Unexecuted instantiation: platform_hypercall.c:local_irq_is_enabled
Unexecuted instantiation: psr.c:local_irq_is_enabled
Unexecuted instantiation: setup.c:local_irq_is_enabled
Unexecuted instantiation: smpboot.c:local_irq_is_enabled
Unexecuted instantiation: srat.c:local_irq_is_enabled
Unexecuted instantiation: traps.c:local_irq_is_enabled
Unexecuted instantiation: usercopy.c:local_irq_is_enabled
Unexecuted instantiation: x86_emulate.c:local_irq_is_enabled
Unexecuted instantiation: tboot.c:local_irq_is_enabled
Unexecuted instantiation: hpet.c:local_irq_is_enabled
Unexecuted instantiation: xstate.c:local_irq_is_enabled
Unexecuted instantiation: lib.c:local_irq_is_enabled
Unexecuted instantiation: power.c:local_irq_is_enabled
Unexecuted instantiation: suspend.c:local_irq_is_enabled
cpu_idle.c:local_irq_is_enabled
Line
Count
Source
218
1.90M
{
219
1.90M
    unsigned long flags;
220
1.90M
    local_save_flags(flags);
221
1.90M
    return !!(flags & X86_EFLAGS_IF);
222
1.90M
}
Unexecuted instantiation: cpuidle_menu.c:local_irq_is_enabled
Unexecuted instantiation: powernow.c:local_irq_is_enabled
Unexecuted instantiation: amd.c:local_irq_is_enabled
Unexecuted instantiation: common.c:local_irq_is_enabled
Unexecuted instantiation: intel.c:local_irq_is_enabled
Unexecuted instantiation: mwait-idle.c:local_irq_is_enabled
Unexecuted instantiation: vpmu.c:local_irq_is_enabled
Unexecuted instantiation: vpmu_amd.c:local_irq_is_enabled
Unexecuted instantiation: vpmu_intel.c:local_irq_is_enabled
Unexecuted instantiation: amd_nonfatal.c:local_irq_is_enabled
Unexecuted instantiation: mce_amd.c:local_irq_is_enabled
Unexecuted instantiation: mcaction.c:local_irq_is_enabled
Unexecuted instantiation: barrier.c:local_irq_is_enabled
Unexecuted instantiation: mctelem.c:local_irq_is_enabled
Unexecuted instantiation: mce.c:local_irq_is_enabled
Unexecuted instantiation: mce-apei.c:local_irq_is_enabled
Unexecuted instantiation: mce_intel.c:local_irq_is_enabled
Unexecuted instantiation: non-fatal.c:local_irq_is_enabled
Unexecuted instantiation: util.c:local_irq_is_enabled
Unexecuted instantiation: vmce.c:local_irq_is_enabled
Unexecuted instantiation: generic.c:local_irq_is_enabled
Unexecuted instantiation: main.c:local_irq_is_enabled
Unexecuted instantiation: bigsmp.c:local_irq_is_enabled
Unexecuted instantiation: x2apic.c:local_irq_is_enabled
Unexecuted instantiation: default.c:local_irq_is_enabled
Unexecuted instantiation: delivery.c:local_irq_is_enabled
Unexecuted instantiation: probe.c:local_irq_is_enabled
Unexecuted instantiation: asid.c:local_irq_is_enabled
Unexecuted instantiation: dm.c:local_irq_is_enabled
Unexecuted instantiation: emulate.c:local_irq_is_enabled
Unexecuted instantiation: hvm.c:local_irq_is_enabled
Unexecuted instantiation: i8254.c:local_irq_is_enabled
Unexecuted instantiation: intercept.c:local_irq_is_enabled
Unexecuted instantiation: ioreq.c:local_irq_is_enabled
Unexecuted instantiation: mtrr.c:local_irq_is_enabled
Unexecuted instantiation: nestedhvm.c:local_irq_is_enabled
Unexecuted instantiation: pmtimer.c:local_irq_is_enabled
Unexecuted instantiation: rtc.c:local_irq_is_enabled
Unexecuted instantiation: save.c:local_irq_is_enabled
Unexecuted instantiation: stdvga.c:local_irq_is_enabled
Unexecuted instantiation: vioapic.c:local_irq_is_enabled
Unexecuted instantiation: viridian.c:local_irq_is_enabled
Unexecuted instantiation: vlapic.c:local_irq_is_enabled
Unexecuted instantiation: vmsi.c:local_irq_is_enabled
Unexecuted instantiation: vpic.c:local_irq_is_enabled
Unexecuted instantiation: vpt.c:local_irq_is_enabled
Unexecuted instantiation: intr.c:local_irq_is_enabled
Unexecuted instantiation: nestedsvm.c:local_irq_is_enabled
Unexecuted instantiation: svm.c:local_irq_is_enabled
Unexecuted instantiation: svmdebug.c:local_irq_is_enabled
Unexecuted instantiation: vmcb.c:local_irq_is_enabled
Unexecuted instantiation: realmode.c:local_irq_is_enabled
vmcs.c:local_irq_is_enabled
Line
Count
Source
218
3.69k
{
219
3.69k
    unsigned long flags;
220
3.69k
    local_save_flags(flags);
221
3.69k
    return !!(flags & X86_EFLAGS_IF);
222
3.69k
}
Unexecuted instantiation: vmx.c:local_irq_is_enabled
Unexecuted instantiation: vvmx.c:local_irq_is_enabled
Unexecuted instantiation: paging.c:local_irq_is_enabled
Unexecuted instantiation: p2m.c:local_irq_is_enabled
Unexecuted instantiation: p2m-pt.c:local_irq_is_enabled
Unexecuted instantiation: p2m-ept.c:local_irq_is_enabled
Unexecuted instantiation: p2m-pod.c:local_irq_is_enabled
Unexecuted instantiation: altp2m.c:local_irq_is_enabled
Unexecuted instantiation: guest_walk.c:local_irq_is_enabled
Unexecuted instantiation: mem_paging.c:local_irq_is_enabled
Unexecuted instantiation: mem_sharing.c:local_irq_is_enabled
Unexecuted instantiation: multi.c:local_irq_is_enabled
Unexecuted instantiation: hap.c:local_irq_is_enabled
Unexecuted instantiation: nested_hap.c:local_irq_is_enabled
Unexecuted instantiation: nested_ept.c:local_irq_is_enabled
Unexecuted instantiation: nmi_int.c:local_irq_is_enabled
Unexecuted instantiation: op_model_p4.c:local_irq_is_enabled
Unexecuted instantiation: op_model_ppro.c:local_irq_is_enabled
Unexecuted instantiation: op_model_athlon.c:local_irq_is_enabled
Unexecuted instantiation: backtrace.c:local_irq_is_enabled
Unexecuted instantiation: callback.c:local_irq_is_enabled
Unexecuted instantiation: descriptor-tables.c:local_irq_is_enabled
Unexecuted instantiation: emul-gate-op.c:local_irq_is_enabled
Unexecuted instantiation: emul-inv-op.c:local_irq_is_enabled
Unexecuted instantiation: emul-priv-op.c:local_irq_is_enabled
Unexecuted instantiation: iret.c:local_irq_is_enabled
Unexecuted instantiation: misc-hypercalls.c:local_irq_is_enabled
Unexecuted instantiation: ro-page-fault.c:local_irq_is_enabled
Unexecuted instantiation: acpi_mmcfg.c:local_irq_is_enabled
Unexecuted instantiation: mmconf-fam10h.c:local_irq_is_enabled
Unexecuted instantiation: mmconfig_64.c:local_irq_is_enabled
Unexecuted instantiation: core_parking.c:local_irq_is_enabled
223
224
#define BROKEN_ACPI_Sx          0x0001
225
#define BROKEN_INIT_AFTER_S1    0x0002
226
227
void trap_init(void);
228
void init_idt_traps(void);
229
void load_system_tables(void);
230
void percpu_traps_init(void);
231
void subarch_percpu_traps_init(void);
232
233
#endif