linux-user: Remove THREAD macro
[qemu/ar7.git] / target / s390x / kvm_s390x.h
blob7a3b862eea22b0fbead0cdcd4c4973c5707446d0
1 /*
2 * QEMU KVM support -- s390x specific functions.
4 * Copyright (c) 2009 Ulrich Hecht
6 * This work is licensed under the terms of the GNU GPL, version 2 or later.
7 * See the COPYING file in the top-level directory.
8 */
10 #ifndef KVM_S390X_H
11 #define KVM_S390X_H
13 struct kvm_s390_irq;
15 void kvm_s390_floating_interrupt_legacy(struct kvm_s390_irq *irq);
16 void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
17 void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
18 int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
19 int len, bool is_write);
20 void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
21 int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
22 void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
23 int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
24 int kvm_s390_get_ri(void);
25 int kvm_s390_get_gs(void);
26 int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
27 int kvm_s390_get_clock_ext(uint8_t *tod_high, uint64_t *tod_clock);
28 int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_clock);
29 int kvm_s390_set_clock_ext(uint8_t *tod_high, uint64_t *tod_clock);
30 void kvm_s390_enable_css_support(S390CPU *cpu);
31 int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
32 int vq, bool assign);
33 int kvm_s390_get_memslot_count(void);
34 int kvm_s390_cmma_active(void);
35 void kvm_s390_cmma_reset(void);
36 void kvm_s390_reset_vcpu(S390CPU *cpu);
37 int kvm_s390_set_mem_limit(uint64_t new_limit, uint64_t *hw_limit);
38 void kvm_s390_crypto_reset(void);
39 void kvm_s390_restart_interrupt(S390CPU *cpu);
40 void kvm_s390_stop_interrupt(S390CPU *cpu);
42 #endif /* KVM_S390X_H */