kvm-s390.h (04b41acd060541fa76407d4de1e0acf0edd57c2a) kvm-s390.h (383d0b050106abecb82f43101cac94fa423af5cd)
1/*
2 * definition for kvm on s390
3 *
4 * Copyright IBM Corp. 2008, 2009
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.

--- 128 unchanged lines hidden (view full) ---

137void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu);
138enum hrtimer_restart kvm_s390_idle_wakeup(struct hrtimer *timer);
139int __must_check kvm_s390_deliver_pending_interrupts(struct kvm_vcpu *vcpu);
140void kvm_s390_clear_local_irqs(struct kvm_vcpu *vcpu);
141void kvm_s390_clear_float_irqs(struct kvm *kvm);
142int __must_check kvm_s390_inject_vm(struct kvm *kvm,
143 struct kvm_s390_interrupt *s390int);
144int __must_check kvm_s390_inject_vcpu(struct kvm_vcpu *vcpu,
1/*
2 * definition for kvm on s390
3 *
4 * Copyright IBM Corp. 2008, 2009
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.

--- 128 unchanged lines hidden (view full) ---

137void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu);
138enum hrtimer_restart kvm_s390_idle_wakeup(struct hrtimer *timer);
139int __must_check kvm_s390_deliver_pending_interrupts(struct kvm_vcpu *vcpu);
140void kvm_s390_clear_local_irqs(struct kvm_vcpu *vcpu);
141void kvm_s390_clear_float_irqs(struct kvm *kvm);
142int __must_check kvm_s390_inject_vm(struct kvm *kvm,
143 struct kvm_s390_interrupt *s390int);
144int __must_check kvm_s390_inject_vcpu(struct kvm_vcpu *vcpu,
145 struct kvm_s390_interrupt *s390int);
145 struct kvm_s390_irq *irq);
146int __must_check kvm_s390_inject_program_int(struct kvm_vcpu *vcpu, u16 code);
147struct kvm_s390_interrupt_info *kvm_s390_get_io_int(struct kvm *kvm,
148 u64 cr6, u64 schid);
149void kvm_s390_reinject_io_int(struct kvm *kvm,
150 struct kvm_s390_interrupt_info *inti);
151int kvm_s390_mask_adapter(struct kvm *kvm, unsigned int id, bool masked);
152
153/* implemented in intercept.c */

--- 65 unchanged lines hidden (view full) ---

219 */
220static inline int kvm_s390_inject_prog_cond(struct kvm_vcpu *vcpu, int rc)
221{
222 if (rc <= 0)
223 return rc;
224 return kvm_s390_inject_prog_irq(vcpu, &vcpu->arch.pgm);
225}
226
146int __must_check kvm_s390_inject_program_int(struct kvm_vcpu *vcpu, u16 code);
147struct kvm_s390_interrupt_info *kvm_s390_get_io_int(struct kvm *kvm,
148 u64 cr6, u64 schid);
149void kvm_s390_reinject_io_int(struct kvm *kvm,
150 struct kvm_s390_interrupt_info *inti);
151int kvm_s390_mask_adapter(struct kvm *kvm, unsigned int id, bool masked);
152
153/* implemented in intercept.c */

--- 65 unchanged lines hidden (view full) ---

219 */
220static inline int kvm_s390_inject_prog_cond(struct kvm_vcpu *vcpu, int rc)
221{
222 if (rc <= 0)
223 return rc;
224 return kvm_s390_inject_prog_irq(vcpu, &vcpu->arch.pgm);
225}
226
227int s390int_to_s390irq(struct kvm_s390_interrupt *s390int,
228 struct kvm_s390_irq *s390irq);
229
227/* implemented in interrupt.c */
228int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
229int psw_extint_disabled(struct kvm_vcpu *vcpu);
230void kvm_s390_destroy_adapters(struct kvm *kvm);
231int kvm_s390_si_ext_call_pending(struct kvm_vcpu *vcpu);
232extern struct kvm_device_ops kvm_flic_ops;
233
234/* implemented in guestdbg.c */
235void kvm_s390_backup_guest_per_regs(struct kvm_vcpu *vcpu);
236void kvm_s390_restore_guest_per_regs(struct kvm_vcpu *vcpu);
237void kvm_s390_patch_guest_per_regs(struct kvm_vcpu *vcpu);
238int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu,
239 struct kvm_guest_debug *dbg);
240void kvm_s390_clear_bp_data(struct kvm_vcpu *vcpu);
241void kvm_s390_prepare_debug_exit(struct kvm_vcpu *vcpu);
242void kvm_s390_handle_per_event(struct kvm_vcpu *vcpu);
243
244#endif
230/* implemented in interrupt.c */
231int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
232int psw_extint_disabled(struct kvm_vcpu *vcpu);
233void kvm_s390_destroy_adapters(struct kvm *kvm);
234int kvm_s390_si_ext_call_pending(struct kvm_vcpu *vcpu);
235extern struct kvm_device_ops kvm_flic_ops;
236
237/* implemented in guestdbg.c */
238void kvm_s390_backup_guest_per_regs(struct kvm_vcpu *vcpu);
239void kvm_s390_restore_guest_per_regs(struct kvm_vcpu *vcpu);
240void kvm_s390_patch_guest_per_regs(struct kvm_vcpu *vcpu);
241int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu,
242 struct kvm_guest_debug *dbg);
243void kvm_s390_clear_bp_data(struct kvm_vcpu *vcpu);
244void kvm_s390_prepare_debug_exit(struct kvm_vcpu *vcpu);
245void kvm_s390_handle_per_event(struct kvm_vcpu *vcpu);
246
247#endif