i8254.h (faa3d77749ad30d2e1c48e2e4363b9c4889aca27) | i8254.h (e9d90d472da97e1b1560bffb89578ba082c88a69) |
---|---|
1#ifndef __I8254_H 2#define __I8254_H 3 4#include <linux/kthread.h> 5 6#include "iodev.h" 7 8struct kvm_kpit_channel_state { --- 7 unchanged lines hidden (view full) --- 16 u8 write_latch; 17 u8 rw_mode; 18 u8 mode; 19 u8 bcd; /* not supported */ 20 u8 gate; /* timer start */ 21 ktime_t count_load_time; 22}; 23 | 1#ifndef __I8254_H 2#define __I8254_H 3 4#include <linux/kthread.h> 5 6#include "iodev.h" 7 8struct kvm_kpit_channel_state { --- 7 unchanged lines hidden (view full) --- 16 u8 write_latch; 17 u8 rw_mode; 18 u8 mode; 19 u8 bcd; /* not supported */ 20 u8 gate; /* timer start */ 21 ktime_t count_load_time; 22}; 23 |
24struct kvm_pit_timer { 25 struct hrtimer timer; 26 s64 period; /* unit: ns */ 27 u32 timer_mode_mask; 28 u64 tscdeadline; 29 atomic_t pending; /* accumulated triggered timers */ 30 bool reinject; 31 struct kvm_pit_timer_ops *t_ops; 32 struct kvm *kvm; 33 struct kvm_vcpu *vcpu; 34}; 35 36struct kvm_pit_timer_ops { 37 bool (*is_periodic)(struct kvm_pit_timer *); 38}; 39 |
|
24struct kvm_kpit_state { 25 struct kvm_kpit_channel_state channels[3]; 26 u32 flags; | 40struct kvm_kpit_state { 41 struct kvm_kpit_channel_state channels[3]; 42 u32 flags; |
27 struct kvm_timer pit_timer; | 43 struct kvm_pit_timer pit_timer; |
28 bool is_periodic; 29 u32 speaker_data_on; 30 struct mutex lock; 31 struct kvm_pit *pit; 32 spinlock_t inject_lock; 33 unsigned long irq_ack; 34 struct kvm_irq_ack_notifier irq_ack_notifier; 35}; --- 26 unchanged lines hidden --- | 44 bool is_periodic; 45 u32 speaker_data_on; 46 struct mutex lock; 47 struct kvm_pit *pit; 48 spinlock_t inject_lock; 49 unsigned long irq_ack; 50 struct kvm_irq_ack_notifier irq_ack_notifier; 51}; --- 26 unchanged lines hidden --- |