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.
17 void kvm_s390_floating_interrupt_legacy(struct kvm_s390_irq
*irq
);
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
);
22 int kvm_s390_mem_op_pv(S390CPU
*cpu
, vaddr addr
, void *hostbuf
, int len
,
24 void kvm_s390_program_interrupt(S390CPU
*cpu
, uint16_t code
);
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
);
28 int kvm_s390_get_hpage_1m(void);
29 int kvm_s390_get_ri(void);
30 int kvm_s390_get_gs(void);
31 int kvm_s390_get_clock(uint8_t *tod_high
, uint64_t *tod_clock
);
32 int kvm_s390_get_clock_ext(uint8_t *tod_high
, uint64_t *tod_clock
);
33 int kvm_s390_set_clock(uint8_t tod_high
, uint64_t tod_clock
);
34 int kvm_s390_set_clock_ext(uint8_t tod_high
, uint64_t tod_clock
);
35 void kvm_s390_enable_css_support(S390CPU
*cpu
);
36 int kvm_s390_assign_subch_ioeventfd(EventNotifier
*notifier
, uint32_t sch
,
38 int kvm_s390_cmma_active(void);
39 void kvm_s390_cmma_reset(void);
40 void kvm_s390_reset_vcpu_clear(S390CPU
*cpu
);
41 void kvm_s390_reset_vcpu_normal(S390CPU
*cpu
);
42 void kvm_s390_reset_vcpu_initial(S390CPU
*cpu
);
43 int kvm_s390_set_mem_limit(uint64_t new_limit
, uint64_t *hw_limit
);
44 void kvm_s390_set_max_pagesize(uint64_t pagesize
, Error
**errp
);
45 void kvm_s390_crypto_reset(void);
46 void kvm_s390_restart_interrupt(S390CPU
*cpu
);
47 void kvm_s390_stop_interrupt(S390CPU
*cpu
);
48 void kvm_s390_set_diag318(CPUState
*cs
, uint64_t diag318_info
);
50 #endif /* KVM_S390X_H */