qemu/target/s390x/kvm/kvm_s390x.h
<<
>>
Prefs
   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
  13#include "cpu-qom.h"
  14
  15struct kvm_s390_irq;
  16
  17void kvm_s390_floating_interrupt_legacy(struct kvm_s390_irq *irq);
  18void kvm_s390_vcpu_interrupt(S390CPU *cpu, struct kvm_s390_irq *irq);
  19void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code);
  20int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
  21                    int len, bool is_write);
  22int kvm_s390_mem_op_pv(S390CPU *cpu, vaddr addr, void *hostbuf, int len,
  23                       bool is_write);
  24void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code);
  25int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state);
  26void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu);
  27int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu);
  28int kvm_s390_get_hpage_1m(void);
  29int kvm_s390_get_ri(void);
  30int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_clock);
  31int kvm_s390_get_clock_ext(uint8_t *tod_high, uint64_t *tod_clock);
  32int kvm_s390_set_clock(uint8_t tod_high, uint64_t tod_clock);
  33int kvm_s390_set_clock_ext(uint8_t tod_high, uint64_t tod_clock);
  34void kvm_s390_enable_css_support(S390CPU *cpu);
  35int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
  36                                    int vq, bool assign);
  37int kvm_s390_cmma_active(void);
  38void kvm_s390_cmma_reset(void);
  39void kvm_s390_reset_vcpu_clear(S390CPU *cpu);
  40void kvm_s390_reset_vcpu_normal(S390CPU *cpu);
  41void kvm_s390_reset_vcpu_initial(S390CPU *cpu);
  42int kvm_s390_set_mem_limit(uint64_t new_limit, uint64_t *hw_limit);
  43void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp);
  44void kvm_s390_crypto_reset(void);
  45void kvm_s390_restart_interrupt(S390CPU *cpu);
  46void kvm_s390_stop_interrupt(S390CPU *cpu);
  47void kvm_s390_set_diag318(CPUState *cs, uint64_t diag318_info);
  48
  49#endif /* KVM_S390X_H */
  50