mirror of
https://github.com/xemu-project/xemu.git
synced 2024-12-22 11:59:10 +00:00
f16bbb9bbd
Let's do it just like the other architectures. Introduce kvm-stub.c for stubs and kvm_s390x.h for the declarations. Change license to GPL2+ and keep copyright notice. As we are dropping the sysemu/kvm.h include from cpu.h, fix up includes. Suggested-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-18-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
48 lines
1.8 KiB
C
48 lines
1.8 KiB
C
/*
|
|
* QEMU KVM support -- s390x specific functions.
|
|
*
|
|
* Copyright (c) 2009 Ulrich Hecht
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef KVM_S390X_H
|
|
#define KVM_S390X_H
|
|
|
|
struct kvm_s390_irq;
|
|
|
|
void kvm_s390_floating_interrupt(struct kvm_s390_irq *irq);
|
|
void kvm_s390_service_interrupt(uint32_t parm);
|
|
void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
|
|
void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
|
|
int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
|
|
int len, bool is_write);
|
|
void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
|
|
void kvm_s390_io_interrupt(uint16_t subchannel_id,
|
|
uint16_t subchannel_nr, uint32_t io_int_parm,
|
|
uint32_t io_int_word);
|
|
void kvm_s390_crw_mchk(void);
|
|
int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
|
|
void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
|
|
int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
|
|
int kvm_s390_get_ri(void);
|
|
int kvm_s390_get_gs(void);
|
|
int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
|
|
int kvm_s390_set_clock(uint8_t *tod_high, uint64_t *tod_clock);
|
|
void kvm_s390_enable_css_support(S390CPU *cpu);
|
|
int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
|
|
int vq, bool assign);
|
|
int kvm_s390_cpu_restart(S390CPU *cpu);
|
|
int kvm_s390_get_memslot_count(void);
|
|
int kvm_s390_cmma_active(void);
|
|
void kvm_s390_cmma_reset(void);
|
|
void kvm_s390_reset_vcpu(S390CPU *cpu);
|
|
int kvm_s390_set_mem_limit(uint64_t new_limit, uint64_t *hw_limit);
|
|
void kvm_s390_crypto_reset(void);
|
|
|
|
/* implemented outside of target/s390x/ */
|
|
int kvm_s390_inject_flic(struct kvm_s390_irq *irq);
|
|
|
|
#endif /* KVM_S390X_H */
|