1 /*
2  * QEMU KVM support -- s390x specific function stubs.
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 #include "qemu/osdep.h"
11 #include "qemu-common.h"
12 #include "cpu.h"
13 #include "kvm_s390x.h"
14 
kvm_s390_access_exception(S390CPU * cpu,uint16_t code,uint64_t te_code)15 void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code)
16 {
17 }
18 
kvm_s390_mem_op(S390CPU * cpu,vaddr addr,uint8_t ar,void * hostbuf,int len,bool is_write)19 int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
20                     int len, bool is_write)
21 {
22     return -ENOSYS;
23 }
24 
kvm_s390_program_interrupt(S390CPU * cpu,uint16_t code)25 void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code)
26 {
27 }
28 
kvm_s390_set_cpu_state(S390CPU * cpu,uint8_t cpu_state)29 int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state)
30 {
31     return -ENOSYS;
32 }
33 
kvm_s390_vcpu_interrupt_pre_save(S390CPU * cpu)34 void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu)
35 {
36 }
37 
kvm_s390_vcpu_interrupt_post_load(S390CPU * cpu)38 int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
39 {
40     return 0;
41 }
42 
kvm_s390_get_ri(void)43 int kvm_s390_get_ri(void)
44 {
45     return 0;
46 }
47 
kvm_s390_get_gs(void)48 int kvm_s390_get_gs(void)
49 {
50     return 0;
51 }
52 
kvm_s390_get_clock(uint8_t * tod_high,uint64_t * tod_low)53 int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
54 {
55     return -ENOSYS;
56 }
57 
kvm_s390_get_clock_ext(uint8_t * tod_high,uint64_t * tod_low)58 int kvm_s390_get_clock_ext(uint8_t *tod_high, uint64_t *tod_low)
59 {
60     return -ENOSYS;
61 }
62 
kvm_s390_set_clock(uint8_t tod_high,uint64_t tod_low)63 int kvm_s390_set_clock(uint8_t tod_high, uint64_t tod_low)
64 {
65     return -ENOSYS;
66 }
67 
kvm_s390_set_clock_ext(uint8_t tod_high,uint64_t tod_low)68 int kvm_s390_set_clock_ext(uint8_t tod_high, uint64_t tod_low)
69 {
70     return -ENOSYS;
71 }
72 
kvm_s390_enable_css_support(S390CPU * cpu)73 void kvm_s390_enable_css_support(S390CPU *cpu)
74 {
75 }
76 
kvm_s390_assign_subch_ioeventfd(EventNotifier * notifier,uint32_t sch,int vq,bool assign)77 int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
78                                     int vq, bool assign)
79 {
80     return -ENOSYS;
81 }
82 
kvm_s390_cmma_reset(void)83 void kvm_s390_cmma_reset(void)
84 {
85 }
86 
kvm_s390_reset_vcpu(S390CPU * cpu)87 void kvm_s390_reset_vcpu(S390CPU *cpu)
88 {
89 }
90 
kvm_s390_set_mem_limit(uint64_t new_limit,uint64_t * hw_limit)91 int kvm_s390_set_mem_limit(uint64_t new_limit, uint64_t *hw_limit)
92 {
93     return 0;
94 }
95 
kvm_s390_crypto_reset(void)96 void kvm_s390_crypto_reset(void)
97 {
98 }
99 
kvm_s390_stop_interrupt(S390CPU * cpu)100 void kvm_s390_stop_interrupt(S390CPU *cpu)
101 {
102 }
103 
kvm_s390_restart_interrupt(S390CPU * cpu)104 void kvm_s390_restart_interrupt(S390CPU *cpu)
105 {
106 }
107