lapic.h (7ebdfaa52d15b947503f76474477f92854796d96) | lapic.h (d0659d946be05e098883b6955d2764595997f6a4) |
---|---|
1#ifndef __KVM_X86_LAPIC_H 2#define __KVM_X86_LAPIC_H 3 4#include "iodev.h" 5 6#include <linux/kvm_host.h> 7 8#define KVM_APIC_INIT 0 9#define KVM_APIC_SIPI 1 10 11struct kvm_timer { 12 struct hrtimer timer; 13 s64 period; /* unit: ns */ 14 u32 timer_mode; 15 u32 timer_mode_mask; 16 u64 tscdeadline; | 1#ifndef __KVM_X86_LAPIC_H 2#define __KVM_X86_LAPIC_H 3 4#include "iodev.h" 5 6#include <linux/kvm_host.h> 7 8#define KVM_APIC_INIT 0 9#define KVM_APIC_SIPI 1 10 11struct kvm_timer { 12 struct hrtimer timer; 13 s64 period; /* unit: ns */ 14 u32 timer_mode; 15 u32 timer_mode_mask; 16 u64 tscdeadline; |
17 u64 expired_tscdeadline; |
|
17 atomic_t pending; /* accumulated triggered timers */ 18}; 19 20struct kvm_lapic { 21 unsigned long base_address; 22 struct kvm_io_device dev; 23 struct kvm_timer lapic_timer; 24 u32 divide_count; --- 140 unchanged lines hidden (view full) --- 165 166static inline bool kvm_apic_has_events(struct kvm_vcpu *vcpu) 167{ 168 return vcpu->arch.apic->pending_events; 169} 170 171bool kvm_apic_pending_eoi(struct kvm_vcpu *vcpu, int vector); 172 | 18 atomic_t pending; /* accumulated triggered timers */ 19}; 20 21struct kvm_lapic { 22 unsigned long base_address; 23 struct kvm_io_device dev; 24 struct kvm_timer lapic_timer; 25 u32 divide_count; --- 140 unchanged lines hidden (view full) --- 166 167static inline bool kvm_apic_has_events(struct kvm_vcpu *vcpu) 168{ 169 return vcpu->arch.apic->pending_events; 170} 171 172bool kvm_apic_pending_eoi(struct kvm_vcpu *vcpu, int vector); 173 |
174void wait_lapic_expire(struct kvm_vcpu *vcpu); 175 |
|
173#endif | 176#endif |