]>
Commit | Line | Data |
---|---|---|
f16bbb9b DH |
1 | /* |
2 | * QEMU KVM support -- s390x specific functions. | |
3 | * | |
4 | * Copyright (c) 2009 Ulrich Hecht | |
5 | * | |
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 | */ | |
9 | ||
10 | #ifndef KVM_S390X_H | |
11 | #define KVM_S390X_H | |
12 | ||
8046f374 DH |
13 | #include "cpu-qom.h" |
14 | ||
f16bbb9b DH |
15 | struct kvm_s390_irq; |
16 | ||
e6505d53 | 17 | void kvm_s390_floating_interrupt_legacy(struct kvm_s390_irq *irq); |
f16bbb9b DH |
18 | void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq); |
19 | void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code); | |
20 | int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf, | |
21 | int len, bool is_write); | |
1cca8265 JF |
22 | int kvm_s390_mem_op_pv(S390CPU *cpu, vaddr addr, void *hostbuf, int len, |
23 | bool is_write); | |
f16bbb9b | 24 | void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code); |
f16bbb9b DH |
25 | int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state); |
26 | void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu); | |
27 | int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu); | |
c3347ed0 | 28 | int kvm_s390_get_hpage_1m(void); |
f16bbb9b | 29 | int kvm_s390_get_ri(void); |
f16bbb9b | 30 | int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock); |
7edd4a49 | 31 | int kvm_s390_get_clock_ext(uint8_t *tod_high, uint64_t *tod_clock); |
4ab6a1fe DH |
32 | int kvm_s390_set_clock(uint8_t tod_high, uint64_t tod_clock); |
33 | int kvm_s390_set_clock_ext(uint8_t tod_high, uint64_t tod_clock); | |
f16bbb9b DH |
34 | void kvm_s390_enable_css_support(S390CPU *cpu); |
35 | int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch, | |
36 | int vq, bool assign); | |
f16bbb9b DH |
37 | int kvm_s390_cmma_active(void); |
38 | void kvm_s390_cmma_reset(void); | |
b91a0394 JF |
39 | void kvm_s390_reset_vcpu_clear(S390CPU *cpu); |
40 | void kvm_s390_reset_vcpu_normal(S390CPU *cpu); | |
41 | void kvm_s390_reset_vcpu_initial(S390CPU *cpu); | |
f16bbb9b | 42 | int kvm_s390_set_mem_limit(uint64_t new_limit, uint64_t *hw_limit); |
9138977b | 43 | void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp); |
f16bbb9b | 44 | void kvm_s390_crypto_reset(void); |
eabcea18 DH |
45 | void kvm_s390_restart_interrupt(S390CPU *cpu); |
46 | void kvm_s390_stop_interrupt(S390CPU *cpu); | |
e2c6cd56 | 47 | void kvm_s390_set_diag318(CPUState *cs, uint64_t diag318_info); |
f16bbb9b | 48 | |
f16bbb9b | 49 | #endif /* KVM_S390X_H */ |