Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/asm/hvm/vlapic.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * hvm_vlapic.h: virtualize LAPIC definitions.
3
 *
4
 * Copyright (c) 2004, Intel Corporation.
5
 * Copyright (c) 2006 Keir Fraser, XenSource Inc.
6
 *
7
 * This program is free software; you can redistribute it and/or modify it
8
 * under the terms and conditions of the GNU General Public License,
9
 * version 2, as published by the Free Software Foundation.
10
 *
11
 * This program is distributed in the hope it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14
 * more details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; If not, see <http://www.gnu.org/licenses/>.
18
 */
19
20
#ifndef __ASM_X86_HVM_VLAPIC_H__
21
#define __ASM_X86_HVM_VLAPIC_H__
22
23
#include <xen/tasklet.h>
24
#include <asm/msr.h>
25
#include <public/hvm/ioreq.h>
26
#include <asm/hvm/vpt.h>
27
28
15.6M
#define vcpu_vlapic(x)   (&(x)->arch.hvm_vcpu.vlapic)
29
7.10M
#define vlapic_vcpu(x)   (container_of((x), struct vcpu, arch.hvm_vcpu.vlapic))
30
0
#define const_vlapic_vcpu(x) (container_of((x), const struct vcpu, \
31
0
                              arch.hvm_vcpu.vlapic))
32
309
#define vlapic_domain(x) (vlapic_vcpu(x)->domain)
33
34
101k
#define _VLAPIC_ID(vlapic, id) (vlapic_x2apic_mode(vlapic) \
35
100k
                                ? (id) : GET_xAPIC_ID(id))
36
50.7k
#define VLAPIC_ID(vlapic) _VLAPIC_ID(vlapic, vlapic_get_reg(vlapic, APIC_ID))
37
38
/*
39
 * APIC can be disabled in two ways:
40
 *  1. 'Hardware disable': via IA32_APIC_BASE_MSR[11]
41
 *     CPU should behave as if it does not have an APIC.
42
 *  2. 'Software disable': via APIC_SPIV[8].
43
 *     APIC is visible but does not respond to interrupt messages.
44
 */
45
8.30M
#define VLAPIC_HW_DISABLED              0x1
46
85
#define VLAPIC_SW_DISABLED              0x2
47
60
#define vlapic_sw_disabled(vlapic) ((vlapic)->hw.disabled & VLAPIC_SW_DISABLED)
48
8.30M
#define vlapic_hw_disabled(vlapic) ((vlapic)->hw.disabled & VLAPIC_HW_DISABLED)
49
7.96M
#define vlapic_disabled(vlapic)    ((vlapic)->hw.disabled)
50
7.96M
#define vlapic_enabled(vlapic)     (!vlapic_disabled(vlapic))
51
52
#define vlapic_base_address(vlapic)                             \
53
481k
    ((vlapic)->hw.apic_base_msr & MSR_IA32_APICBASE_BASE)
54
/* Only check EXTD bit as EXTD can't be set if it is disabled by hardware */
55
#define vlapic_x2apic_mode(vlapic)                              \
56
584k
    ((vlapic)->hw.apic_base_msr & MSR_IA32_APICBASE_EXTD)
57
#define vlapic_xapic_mode(vlapic)                               \
58
    (!vlapic_hw_disabled(vlapic) && \
59
     !((vlapic)->hw.apic_base_msr & MSR_IA32_APICBASE_EXTD))
60
61
/*
62
 * Generic APIC bitmap vector update & search routines.
63
 */
64
65
#define VEC_POS(v) ((v) % 32)
66
#define REG_POS(v) (((v) / 32) * 0x10)
67
#define vlapic_test_vector(vec, bitmap)                                 \
68
0
    test_bit(VEC_POS(vec), (const uint32_t *)((bitmap) + REG_POS(vec)))
69
#define vlapic_test_and_set_vector(vec, bitmap)                         \
70
0
    test_and_set_bit(VEC_POS(vec), (uint32_t *)((bitmap) + REG_POS(vec)))
71
#define vlapic_test_and_clear_vector(vec, bitmap)                       \
72
296
    test_and_clear_bit(VEC_POS(vec), (uint32_t *)((bitmap) + REG_POS(vec)))
73
#define vlapic_set_vector(vec, bitmap)                                  \
74
4.35k
    set_bit(VEC_POS(vec), (uint32_t *)((bitmap) + REG_POS(vec)))
75
#define vlapic_clear_vector(vec, bitmap)                                \
76
0
    clear_bit(VEC_POS(vec), (uint32_t *)((bitmap) + REG_POS(vec)))
77
78
struct vlapic {
79
    struct hvm_hw_lapic      hw;
80
    struct hvm_hw_lapic_regs *regs;
81
    struct {
82
        bool_t               hw, regs;
83
        uint32_t             id, ldr;
84
    }                        loaded;
85
    spinlock_t               esr_lock;
86
    struct periodic_time     pt;
87
    s_time_t                 timer_last_update;
88
    struct page_info         *regs_page;
89
    /* INIT-SIPI-SIPI work gets deferred to a tasklet. */
90
    struct {
91
        uint32_t             icr, dest;
92
        struct tasklet       tasklet;
93
    } init_sipi;
94
};
95
96
/* vlapic's frequence is 100 MHz */
97
12
#define APIC_BUS_CYCLE_NS               10
98
99
static inline uint32_t vlapic_get_reg(const struct vlapic *vlapic,
100
                                      uint32_t reg)
101
54.8k
{
102
54.8k
    return *((uint32_t *)(&vlapic->regs->data[reg]));
103
54.8k
}
Unexecuted instantiation: cpu.c:vlapic_get_reg
Unexecuted instantiation: misc-hypercalls.c:vlapic_get_reg
Unexecuted instantiation: iret.c:vlapic_get_reg
Unexecuted instantiation: emul-priv-op.c:vlapic_get_reg
Unexecuted instantiation: emul-inv-op.c:vlapic_get_reg
Unexecuted instantiation: emul-gate-op.c:vlapic_get_reg
Unexecuted instantiation: descriptor-tables.c:vlapic_get_reg
Unexecuted instantiation: callback.c:vlapic_get_reg
Unexecuted instantiation: backtrace.c:vlapic_get_reg
Unexecuted instantiation: op_model_athlon.c:vlapic_get_reg
Unexecuted instantiation: op_model_ppro.c:vlapic_get_reg
Unexecuted instantiation: nmi_int.c:vlapic_get_reg
Unexecuted instantiation: nested_ept.c:vlapic_get_reg
Unexecuted instantiation: nested_hap.c:vlapic_get_reg
Unexecuted instantiation: hap.c:vlapic_get_reg
Unexecuted instantiation: multi.c:vlapic_get_reg
Unexecuted instantiation: mem_sharing.c:vlapic_get_reg
Unexecuted instantiation: mem_paging.c:vlapic_get_reg
Unexecuted instantiation: guest_walk.c:vlapic_get_reg
Unexecuted instantiation: altp2m.c:vlapic_get_reg
Unexecuted instantiation: p2m-pod.c:vlapic_get_reg
Unexecuted instantiation: p2m-ept.c:vlapic_get_reg
Unexecuted instantiation: p2m-pt.c:vlapic_get_reg
Unexecuted instantiation: p2m.c:vlapic_get_reg
Unexecuted instantiation: paging.c:vlapic_get_reg
Unexecuted instantiation: vvmx.c:vlapic_get_reg
Unexecuted instantiation: vmx.c:vlapic_get_reg
Unexecuted instantiation: vmcs.c:vlapic_get_reg
Unexecuted instantiation: realmode.c:vlapic_get_reg
Unexecuted instantiation: vmcb.c:vlapic_get_reg
Unexecuted instantiation: svmdebug.c:vlapic_get_reg
Unexecuted instantiation: svm.c:vlapic_get_reg
Unexecuted instantiation: nestedsvm.c:vlapic_get_reg
Unexecuted instantiation: intr.c:vlapic_get_reg
Unexecuted instantiation: vpt.c:vlapic_get_reg
Unexecuted instantiation: vpic.c:vlapic_get_reg
Unexecuted instantiation: vmsi.c:vlapic_get_reg
vlapic.c:vlapic_get_reg
Line
Count
Source
101
50.8k
{
102
50.8k
    return *((uint32_t *)(&vlapic->regs->data[reg]));
103
50.8k
}
Unexecuted instantiation: viridian.c:vlapic_get_reg
Unexecuted instantiation: vioapic.c:vlapic_get_reg
Unexecuted instantiation: stdvga.c:vlapic_get_reg
Unexecuted instantiation: save.c:vlapic_get_reg
Unexecuted instantiation: rtc.c:vlapic_get_reg
Unexecuted instantiation: pmtimer.c:vlapic_get_reg
Unexecuted instantiation: nestedhvm.c:vlapic_get_reg
Unexecuted instantiation: mtrr.c:vlapic_get_reg
Unexecuted instantiation: ioreq.c:vlapic_get_reg
Unexecuted instantiation: intercept.c:vlapic_get_reg
Unexecuted instantiation: i8254.c:vlapic_get_reg
hvm.c:vlapic_get_reg
Line
Count
Source
101
4.07k
{
102
4.07k
    return *((uint32_t *)(&vlapic->regs->data[reg]));
103
4.07k
}
Unexecuted instantiation: hpet.c:vlapic_get_reg
Unexecuted instantiation: emulate.c:vlapic_get_reg
Unexecuted instantiation: dm.c:vlapic_get_reg
Unexecuted instantiation: asid.c:vlapic_get_reg
Unexecuted instantiation: delivery.c:vlapic_get_reg
Unexecuted instantiation: vmce.c:vlapic_get_reg
Unexecuted instantiation: util.c:vlapic_get_reg
Unexecuted instantiation: non-fatal.c:vlapic_get_reg
Unexecuted instantiation: mce_intel.c:vlapic_get_reg
Unexecuted instantiation: mce-apei.c:vlapic_get_reg
Unexecuted instantiation: mce.c:vlapic_get_reg
Unexecuted instantiation: mctelem.c:vlapic_get_reg
Unexecuted instantiation: barrier.c:vlapic_get_reg
Unexecuted instantiation: mcaction.c:vlapic_get_reg
Unexecuted instantiation: mce_amd.c:vlapic_get_reg
Unexecuted instantiation: amd_nonfatal.c:vlapic_get_reg
Unexecuted instantiation: vpmu_intel.c:vlapic_get_reg
Unexecuted instantiation: vpmu_amd.c:vlapic_get_reg
Unexecuted instantiation: vpmu.c:vlapic_get_reg
Unexecuted instantiation: mwait-idle.c:vlapic_get_reg
Unexecuted instantiation: intel.c:vlapic_get_reg
Unexecuted instantiation: common.c:vlapic_get_reg
Unexecuted instantiation: amd.c:vlapic_get_reg
Unexecuted instantiation: cpu_idle.c:vlapic_get_reg
Unexecuted instantiation: suspend.c:vlapic_get_reg
Unexecuted instantiation: power.c:vlapic_get_reg
Unexecuted instantiation: xstate.c:vlapic_get_reg
Unexecuted instantiation: tboot.c:vlapic_get_reg
Unexecuted instantiation: x86_emulate.c:vlapic_get_reg
Unexecuted instantiation: usercopy.c:vlapic_get_reg
Unexecuted instantiation: traps.c:vlapic_get_reg
Unexecuted instantiation: smpboot.c:vlapic_get_reg
Unexecuted instantiation: smp.c:vlapic_get_reg
Unexecuted instantiation: setup.c:vlapic_get_reg
Unexecuted instantiation: psr.c:vlapic_get_reg
Unexecuted instantiation: platform_hypercall.c:vlapic_get_reg
Unexecuted instantiation: physdev.c:vlapic_get_reg
Unexecuted instantiation: numa.c:vlapic_get_reg
Unexecuted instantiation: nmi.c:vlapic_get_reg
Unexecuted instantiation: mpparse.c:vlapic_get_reg
Unexecuted instantiation: mm.c:vlapic_get_reg
Unexecuted instantiation: microcode.c:vlapic_get_reg
Unexecuted instantiation: microcode_intel.c:vlapic_get_reg
Unexecuted instantiation: microcode_amd.c:vlapic_get_reg
Unexecuted instantiation: machine_kexec.c:vlapic_get_reg
Unexecuted instantiation: irq.c:vlapic_get_reg
Unexecuted instantiation: ioport_emulate.c:vlapic_get_reg
Unexecuted instantiation: msr.c:vlapic_get_reg
Unexecuted instantiation: io_apic.c:vlapic_get_reg
Unexecuted instantiation: i8259.c:vlapic_get_reg
Unexecuted instantiation: i387.c:vlapic_get_reg
Unexecuted instantiation: hypercall.c:vlapic_get_reg
Unexecuted instantiation: flushtlb.c:vlapic_get_reg
Unexecuted instantiation: domain_page.c:vlapic_get_reg
Unexecuted instantiation: debug.c:vlapic_get_reg
Unexecuted instantiation: crash.c:vlapic_get_reg
Unexecuted instantiation: compat.c:vlapic_get_reg
Unexecuted instantiation: cpuid.c:vlapic_get_reg
Unexecuted instantiation: apic.c:vlapic_get_reg
Unexecuted instantiation: xsm_core.c:vlapic_get_reg
Unexecuted instantiation: pmstat.c:vlapic_get_reg
Unexecuted instantiation: iommu_guest.c:vlapic_get_reg
Unexecuted instantiation: iommu_cmd.c:vlapic_get_reg
Unexecuted instantiation: iommu_intr.c:vlapic_get_reg
Unexecuted instantiation: pci_amd_iommu.c:vlapic_get_reg
Unexecuted instantiation: iommu_map.c:vlapic_get_reg
Unexecuted instantiation: iommu_init.c:vlapic_get_reg
Unexecuted instantiation: ats.c:vlapic_get_reg
Unexecuted instantiation: vtd.c:vlapic_get_reg
Unexecuted instantiation: quirks.c:vlapic_get_reg
Unexecuted instantiation: intremap.c:vlapic_get_reg
Unexecuted instantiation: qinval.c:vlapic_get_reg
Unexecuted instantiation: utils.c:vlapic_get_reg
Unexecuted instantiation: pci.c:vlapic_get_reg
Unexecuted instantiation: io.c:vlapic_get_reg
Unexecuted instantiation: iommu.c:vlapic_get_reg
Unexecuted instantiation: msix.c:vlapic_get_reg
Unexecuted instantiation: msi.c:vlapic_get_reg
Unexecuted instantiation: header.c:vlapic_get_reg
Unexecuted instantiation: vpci.c:vlapic_get_reg
Unexecuted instantiation: utility.c:vlapic_get_reg
Unexecuted instantiation: cpufreq_misc_governors.c:vlapic_get_reg
Unexecuted instantiation: cpufreq_ondemand.c:vlapic_get_reg
Unexecuted instantiation: cpufreq.c:vlapic_get_reg
Unexecuted instantiation: ns16550.c:vlapic_get_reg
Unexecuted instantiation: console.c:vlapic_get_reg
Unexecuted instantiation: libelf-loader.c:vlapic_get_reg
Unexecuted instantiation: llvm.c:vlapic_get_reg
Unexecuted instantiation: tmem_control.c:vlapic_get_reg
Unexecuted instantiation: tmem_xen.c:vlapic_get_reg
Unexecuted instantiation: tmem.c:vlapic_get_reg
Unexecuted instantiation: xenoprof.c:vlapic_get_reg
Unexecuted instantiation: wait.c:vlapic_get_reg
Unexecuted instantiation: vsprintf.c:vlapic_get_reg
Unexecuted instantiation: vm_event.c:vlapic_get_reg
Unexecuted instantiation: trace.c:vlapic_get_reg
Unexecuted instantiation: timer.c:vlapic_get_reg
Unexecuted instantiation: time.c:vlapic_get_reg
Unexecuted instantiation: tasklet.c:vlapic_get_reg
Unexecuted instantiation: sysctl.c:vlapic_get_reg
Unexecuted instantiation: symbols.c:vlapic_get_reg
Unexecuted instantiation: stop_machine.c:vlapic_get_reg
Unexecuted instantiation: spinlock.c:vlapic_get_reg
Unexecuted instantiation: softirq.c:vlapic_get_reg
Unexecuted instantiation: shutdown.c:vlapic_get_reg
Unexecuted instantiation: schedule.c:vlapic_get_reg
Unexecuted instantiation: sched_null.c:vlapic_get_reg
Unexecuted instantiation: sched_rt.c:vlapic_get_reg
Unexecuted instantiation: sched_credit2.c:vlapic_get_reg
Unexecuted instantiation: sched_credit.c:vlapic_get_reg
Unexecuted instantiation: sched_arinc653.c:vlapic_get_reg
Unexecuted instantiation: rcupdate.c:vlapic_get_reg
Unexecuted instantiation: rangeset.c:vlapic_get_reg
Unexecuted instantiation: page_alloc.c:vlapic_get_reg
Unexecuted instantiation: multicall.c:vlapic_get_reg
Unexecuted instantiation: monitor.c:vlapic_get_reg
Unexecuted instantiation: memory.c:vlapic_get_reg
Unexecuted instantiation: mem_access.c:vlapic_get_reg
Unexecuted instantiation: kimage.c:vlapic_get_reg
Unexecuted instantiation: kexec.c:vlapic_get_reg
Unexecuted instantiation: keyhandler.c:vlapic_get_reg
Unexecuted instantiation: kernel.c:vlapic_get_reg
Unexecuted instantiation: guestcopy.c:vlapic_get_reg
Unexecuted instantiation: grant_table.c:vlapic_get_reg
Unexecuted instantiation: event_fifo.c:vlapic_get_reg
Unexecuted instantiation: event_channel.c:vlapic_get_reg
Unexecuted instantiation: event_2l.c:vlapic_get_reg
Unexecuted instantiation: domain.c:vlapic_get_reg
Unexecuted instantiation: domctl.c:vlapic_get_reg
Unexecuted instantiation: cpupool.c:vlapic_get_reg
Unexecuted instantiation: ro-page-fault.c:vlapic_get_reg
104
105
static inline void vlapic_set_reg(
106
    struct vlapic *vlapic, uint32_t reg, uint32_t val)
107
672
{
108
672
    *((uint32_t *)(&vlapic->regs->data[reg])) = val;
109
672
}
Unexecuted instantiation: ro-page-fault.c:vlapic_set_reg
Unexecuted instantiation: misc-hypercalls.c:vlapic_set_reg
Unexecuted instantiation: iret.c:vlapic_set_reg
Unexecuted instantiation: emul-priv-op.c:vlapic_set_reg
Unexecuted instantiation: emul-inv-op.c:vlapic_set_reg
Unexecuted instantiation: emul-gate-op.c:vlapic_set_reg
Unexecuted instantiation: descriptor-tables.c:vlapic_set_reg
Unexecuted instantiation: callback.c:vlapic_set_reg
Unexecuted instantiation: backtrace.c:vlapic_set_reg
Unexecuted instantiation: op_model_athlon.c:vlapic_set_reg
Unexecuted instantiation: op_model_ppro.c:vlapic_set_reg
Unexecuted instantiation: nmi_int.c:vlapic_set_reg
Unexecuted instantiation: nested_ept.c:vlapic_set_reg
Unexecuted instantiation: nested_hap.c:vlapic_set_reg
Unexecuted instantiation: hap.c:vlapic_set_reg
Unexecuted instantiation: multi.c:vlapic_set_reg
Unexecuted instantiation: mem_sharing.c:vlapic_set_reg
Unexecuted instantiation: mem_paging.c:vlapic_set_reg
Unexecuted instantiation: guest_walk.c:vlapic_set_reg
Unexecuted instantiation: altp2m.c:vlapic_set_reg
Unexecuted instantiation: p2m-pod.c:vlapic_set_reg
Unexecuted instantiation: p2m-ept.c:vlapic_set_reg
Unexecuted instantiation: p2m-pt.c:vlapic_set_reg
Unexecuted instantiation: p2m.c:vlapic_set_reg
Unexecuted instantiation: paging.c:vlapic_set_reg
Unexecuted instantiation: vvmx.c:vlapic_set_reg
Unexecuted instantiation: vmx.c:vlapic_set_reg
Unexecuted instantiation: vmcs.c:vlapic_set_reg
Unexecuted instantiation: realmode.c:vlapic_set_reg
Unexecuted instantiation: vmcb.c:vlapic_set_reg
Unexecuted instantiation: svmdebug.c:vlapic_set_reg
Unexecuted instantiation: svm.c:vlapic_set_reg
Unexecuted instantiation: nestedsvm.c:vlapic_set_reg
Unexecuted instantiation: intr.c:vlapic_set_reg
Unexecuted instantiation: vpt.c:vlapic_set_reg
Unexecuted instantiation: vpic.c:vlapic_set_reg
Unexecuted instantiation: vmsi.c:vlapic_set_reg
vlapic.c:vlapic_set_reg
Line
Count
Source
107
672
{
108
672
    *((uint32_t *)(&vlapic->regs->data[reg])) = val;
109
672
}
Unexecuted instantiation: viridian.c:vlapic_set_reg
Unexecuted instantiation: vioapic.c:vlapic_set_reg
Unexecuted instantiation: stdvga.c:vlapic_set_reg
Unexecuted instantiation: save.c:vlapic_set_reg
Unexecuted instantiation: rtc.c:vlapic_set_reg
Unexecuted instantiation: pmtimer.c:vlapic_set_reg
Unexecuted instantiation: nestedhvm.c:vlapic_set_reg
Unexecuted instantiation: mtrr.c:vlapic_set_reg
Unexecuted instantiation: ioreq.c:vlapic_set_reg
Unexecuted instantiation: intercept.c:vlapic_set_reg
Unexecuted instantiation: i8254.c:vlapic_set_reg
Unexecuted instantiation: hvm.c:vlapic_set_reg
Unexecuted instantiation: hpet.c:vlapic_set_reg
Unexecuted instantiation: emulate.c:vlapic_set_reg
Unexecuted instantiation: dm.c:vlapic_set_reg
Unexecuted instantiation: asid.c:vlapic_set_reg
Unexecuted instantiation: delivery.c:vlapic_set_reg
Unexecuted instantiation: vmce.c:vlapic_set_reg
Unexecuted instantiation: util.c:vlapic_set_reg
Unexecuted instantiation: non-fatal.c:vlapic_set_reg
Unexecuted instantiation: mce_intel.c:vlapic_set_reg
Unexecuted instantiation: mce-apei.c:vlapic_set_reg
Unexecuted instantiation: mce.c:vlapic_set_reg
Unexecuted instantiation: mctelem.c:vlapic_set_reg
Unexecuted instantiation: barrier.c:vlapic_set_reg
Unexecuted instantiation: mcaction.c:vlapic_set_reg
Unexecuted instantiation: mce_amd.c:vlapic_set_reg
Unexecuted instantiation: amd_nonfatal.c:vlapic_set_reg
Unexecuted instantiation: vpmu_intel.c:vlapic_set_reg
Unexecuted instantiation: vpmu_amd.c:vlapic_set_reg
Unexecuted instantiation: vpmu.c:vlapic_set_reg
Unexecuted instantiation: mwait-idle.c:vlapic_set_reg
Unexecuted instantiation: intel.c:vlapic_set_reg
Unexecuted instantiation: common.c:vlapic_set_reg
Unexecuted instantiation: amd.c:vlapic_set_reg
Unexecuted instantiation: cpu_idle.c:vlapic_set_reg
Unexecuted instantiation: suspend.c:vlapic_set_reg
Unexecuted instantiation: power.c:vlapic_set_reg
Unexecuted instantiation: xstate.c:vlapic_set_reg
Unexecuted instantiation: tboot.c:vlapic_set_reg
Unexecuted instantiation: x86_emulate.c:vlapic_set_reg
Unexecuted instantiation: usercopy.c:vlapic_set_reg
Unexecuted instantiation: traps.c:vlapic_set_reg
Unexecuted instantiation: smpboot.c:vlapic_set_reg
Unexecuted instantiation: smp.c:vlapic_set_reg
Unexecuted instantiation: setup.c:vlapic_set_reg
Unexecuted instantiation: psr.c:vlapic_set_reg
Unexecuted instantiation: platform_hypercall.c:vlapic_set_reg
Unexecuted instantiation: physdev.c:vlapic_set_reg
Unexecuted instantiation: numa.c:vlapic_set_reg
Unexecuted instantiation: nmi.c:vlapic_set_reg
Unexecuted instantiation: mpparse.c:vlapic_set_reg
Unexecuted instantiation: mm.c:vlapic_set_reg
Unexecuted instantiation: microcode.c:vlapic_set_reg
Unexecuted instantiation: microcode_intel.c:vlapic_set_reg
Unexecuted instantiation: microcode_amd.c:vlapic_set_reg
Unexecuted instantiation: machine_kexec.c:vlapic_set_reg
Unexecuted instantiation: irq.c:vlapic_set_reg
Unexecuted instantiation: ioport_emulate.c:vlapic_set_reg
Unexecuted instantiation: msr.c:vlapic_set_reg
Unexecuted instantiation: io_apic.c:vlapic_set_reg
Unexecuted instantiation: i8259.c:vlapic_set_reg
Unexecuted instantiation: i387.c:vlapic_set_reg
Unexecuted instantiation: hypercall.c:vlapic_set_reg
Unexecuted instantiation: flushtlb.c:vlapic_set_reg
Unexecuted instantiation: domain_page.c:vlapic_set_reg
Unexecuted instantiation: debug.c:vlapic_set_reg
Unexecuted instantiation: crash.c:vlapic_set_reg
Unexecuted instantiation: compat.c:vlapic_set_reg
Unexecuted instantiation: cpuid.c:vlapic_set_reg
Unexecuted instantiation: apic.c:vlapic_set_reg
Unexecuted instantiation: xsm_core.c:vlapic_set_reg
Unexecuted instantiation: pmstat.c:vlapic_set_reg
Unexecuted instantiation: iommu_guest.c:vlapic_set_reg
Unexecuted instantiation: iommu_cmd.c:vlapic_set_reg
Unexecuted instantiation: iommu_intr.c:vlapic_set_reg
Unexecuted instantiation: pci_amd_iommu.c:vlapic_set_reg
Unexecuted instantiation: iommu_map.c:vlapic_set_reg
Unexecuted instantiation: iommu_init.c:vlapic_set_reg
Unexecuted instantiation: ats.c:vlapic_set_reg
Unexecuted instantiation: vtd.c:vlapic_set_reg
Unexecuted instantiation: quirks.c:vlapic_set_reg
Unexecuted instantiation: intremap.c:vlapic_set_reg
Unexecuted instantiation: qinval.c:vlapic_set_reg
Unexecuted instantiation: utils.c:vlapic_set_reg
Unexecuted instantiation: pci.c:vlapic_set_reg
Unexecuted instantiation: io.c:vlapic_set_reg
Unexecuted instantiation: iommu.c:vlapic_set_reg
Unexecuted instantiation: msix.c:vlapic_set_reg
Unexecuted instantiation: msi.c:vlapic_set_reg
Unexecuted instantiation: header.c:vlapic_set_reg
Unexecuted instantiation: vpci.c:vlapic_set_reg
Unexecuted instantiation: utility.c:vlapic_set_reg
Unexecuted instantiation: cpufreq_misc_governors.c:vlapic_set_reg
Unexecuted instantiation: cpufreq_ondemand.c:vlapic_set_reg
Unexecuted instantiation: cpufreq.c:vlapic_set_reg
Unexecuted instantiation: ns16550.c:vlapic_set_reg
Unexecuted instantiation: console.c:vlapic_set_reg
Unexecuted instantiation: libelf-loader.c:vlapic_set_reg
Unexecuted instantiation: llvm.c:vlapic_set_reg
Unexecuted instantiation: tmem_control.c:vlapic_set_reg
Unexecuted instantiation: tmem_xen.c:vlapic_set_reg
Unexecuted instantiation: tmem.c:vlapic_set_reg
Unexecuted instantiation: xenoprof.c:vlapic_set_reg
Unexecuted instantiation: wait.c:vlapic_set_reg
Unexecuted instantiation: vsprintf.c:vlapic_set_reg
Unexecuted instantiation: vm_event.c:vlapic_set_reg
Unexecuted instantiation: trace.c:vlapic_set_reg
Unexecuted instantiation: timer.c:vlapic_set_reg
Unexecuted instantiation: time.c:vlapic_set_reg
Unexecuted instantiation: tasklet.c:vlapic_set_reg
Unexecuted instantiation: sysctl.c:vlapic_set_reg
Unexecuted instantiation: symbols.c:vlapic_set_reg
Unexecuted instantiation: stop_machine.c:vlapic_set_reg
Unexecuted instantiation: spinlock.c:vlapic_set_reg
Unexecuted instantiation: softirq.c:vlapic_set_reg
Unexecuted instantiation: shutdown.c:vlapic_set_reg
Unexecuted instantiation: schedule.c:vlapic_set_reg
Unexecuted instantiation: sched_null.c:vlapic_set_reg
Unexecuted instantiation: sched_rt.c:vlapic_set_reg
Unexecuted instantiation: sched_credit2.c:vlapic_set_reg
Unexecuted instantiation: sched_credit.c:vlapic_set_reg
Unexecuted instantiation: sched_arinc653.c:vlapic_set_reg
Unexecuted instantiation: rcupdate.c:vlapic_set_reg
Unexecuted instantiation: rangeset.c:vlapic_set_reg
Unexecuted instantiation: page_alloc.c:vlapic_set_reg
Unexecuted instantiation: multicall.c:vlapic_set_reg
Unexecuted instantiation: monitor.c:vlapic_set_reg
Unexecuted instantiation: memory.c:vlapic_set_reg
Unexecuted instantiation: mem_access.c:vlapic_set_reg
Unexecuted instantiation: kimage.c:vlapic_set_reg
Unexecuted instantiation: kexec.c:vlapic_set_reg
Unexecuted instantiation: keyhandler.c:vlapic_set_reg
Unexecuted instantiation: kernel.c:vlapic_set_reg
Unexecuted instantiation: guestcopy.c:vlapic_set_reg
Unexecuted instantiation: grant_table.c:vlapic_set_reg
Unexecuted instantiation: event_fifo.c:vlapic_set_reg
Unexecuted instantiation: event_channel.c:vlapic_set_reg
Unexecuted instantiation: event_2l.c:vlapic_set_reg
Unexecuted instantiation: domain.c:vlapic_set_reg
Unexecuted instantiation: domctl.c:vlapic_set_reg
Unexecuted instantiation: cpupool.c:vlapic_set_reg
Unexecuted instantiation: cpu.c:vlapic_set_reg
110
111
bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
112
113
void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
114
115
int vlapic_has_pending_irq(struct vcpu *v);
116
int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack);
117
118
int  vlapic_init(struct vcpu *v);
119
void vlapic_destroy(struct vcpu *v);
120
121
void vlapic_reset(struct vlapic *vlapic);
122
123
bool_t vlapic_msr_set(struct vlapic *vlapic, uint64_t value);
124
void vlapic_tdt_msr_set(struct vlapic *vlapic, uint64_t value);
125
uint64_t vlapic_tdt_msr_get(struct vlapic *vlapic);
126
127
int vlapic_accept_pic_intr(struct vcpu *v);
128
uint32_t vlapic_set_ppr(struct vlapic *vlapic);
129
130
void vlapic_adjust_i8259_target(struct domain *d);
131
132
void vlapic_EOI_set(struct vlapic *vlapic);
133
void vlapic_handle_EOI(struct vlapic *vlapic, u8 vector);
134
135
void vlapic_ipi(struct vlapic *vlapic, uint32_t icr_low, uint32_t icr_high);
136
137
int vlapic_apicv_write(struct vcpu *v, unsigned int offset);
138
139
struct vlapic *vlapic_lowest_prio(
140
    struct domain *d, const struct vlapic *source,
141
    int short_hand, uint32_t dest, bool_t dest_mode);
142
143
bool_t vlapic_match_dest(
144
    const struct vlapic *target, const struct vlapic *source,
145
    int short_hand, uint32_t dest, bool_t dest_mode);
146
147
#endif /* __ASM_X86_HVM_VLAPIC_H__ */