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 |