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 "cpu.h"
12 #include "kvm_s390x.h"
13 
kvm_s390_access_exception(S390CPU * cpu,uint16_t code,uint64_t te_code)14 void kvm_s390_access_exception(S390CPU *cpu, uint16_t code, uint64_t te_code)
15 {
16 }
17 
kvm_s390_mem_op(S390CPU * cpu,vaddr addr,uint8_t ar,void * hostbuf,int len,bool is_write)18 int kvm_s390_mem_op(S390CPU *cpu, vaddr addr, uint8_t ar, void *hostbuf,
19                     int len, bool is_write)
20 {
21     return -ENOSYS;
22 }
23 
kvm_s390_program_interrupt(S390CPU * cpu,uint16_t code)24 void kvm_s390_program_interrupt(S390CPU *cpu, uint16_t code)
25 {
26 }
27 
kvm_s390_set_cpu_state(S390CPU * cpu,uint8_t cpu_state)28 int kvm_s390_set_cpu_state(S390CPU *cpu, uint8_t cpu_state)
29 {
30     return -ENOSYS;
31 }
32 
kvm_s390_vcpu_interrupt_pre_save(S390CPU * cpu)33 void kvm_s390_vcpu_interrupt_pre_save(S390CPU *cpu)
34 {
35 }
36 
kvm_s390_vcpu_interrupt_post_load(S390CPU * cpu)37 int kvm_s390_vcpu_interrupt_post_load(S390CPU *cpu)
38 {
39     return 0;
40 }
41 
kvm_s390_get_hpage_1m(void)42 int kvm_s390_get_hpage_1m(void)
43 {
44     return 0;
45 }
46 
kvm_s390_get_ri(void)47 int kvm_s390_get_ri(void)
48 {
49     return 0;
50 }
51 
kvm_s390_get_gs(void)52 int kvm_s390_get_gs(void)
53 {
54     return 0;
55 }
56 
kvm_s390_get_clock(uint8_t * tod_high,uint64_t * tod_low)57 int kvm_s390_get_clock(uint8_t *tod_high, uint64_t *tod_low)
58 {
59     return -ENOSYS;
60 }
61 
kvm_s390_get_clock_ext(uint8_t * tod_high,uint64_t * tod_low)62 int kvm_s390_get_clock_ext(uint8_t *tod_high, uint64_t *tod_low)
63 {
64     return -ENOSYS;
65 }
66 
kvm_s390_set_clock(uint8_t tod_high,uint64_t tod_low)67 int kvm_s390_set_clock(uint8_t tod_high, uint64_t tod_low)
68 {
69     return -ENOSYS;
70 }
71 
kvm_s390_set_clock_ext(uint8_t tod_high,uint64_t tod_low)72 int kvm_s390_set_clock_ext(uint8_t tod_high, uint64_t tod_low)
73 {
74     return -ENOSYS;
75 }
76 
kvm_s390_enable_css_support(S390CPU * cpu)77 void kvm_s390_enable_css_support(S390CPU *cpu)
78 {
79 }
80 
kvm_s390_assign_subch_ioeventfd(EventNotifier * notifier,uint32_t sch,int vq,bool assign)81 int kvm_s390_assign_subch_ioeventfd(EventNotifier *notifier, uint32_t sch,
82                                     int vq, bool assign)
83 {
84     return -ENOSYS;
85 }
86 
kvm_s390_cmma_reset(void)87 void kvm_s390_cmma_reset(void)
88 {
89 }
90 
kvm_s390_reset_vcpu_initial(S390CPU * cpu)91 void kvm_s390_reset_vcpu_initial(S390CPU *cpu)
92 {
93 }
94 
kvm_s390_reset_vcpu_clear(S390CPU * cpu)95 void kvm_s390_reset_vcpu_clear(S390CPU *cpu)
96 {
97 }
98 
kvm_s390_reset_vcpu_normal(S390CPU * cpu)99 void kvm_s390_reset_vcpu_normal(S390CPU *cpu)
100 {
101 }
102 
kvm_s390_set_mem_limit(uint64_t new_limit,uint64_t * hw_limit)103 int kvm_s390_set_mem_limit(uint64_t new_limit, uint64_t *hw_limit)
104 {
105     return 0;
106 }
107 
kvm_s390_set_max_pagesize(uint64_t pagesize,Error ** errp)108 void kvm_s390_set_max_pagesize(uint64_t pagesize, Error **errp)
109 {
110 }
111 
kvm_s390_crypto_reset(void)112 void kvm_s390_crypto_reset(void)
113 {
114 }
115 
kvm_s390_stop_interrupt(S390CPU * cpu)116 void kvm_s390_stop_interrupt(S390CPU *cpu)
117 {
118 }
119 
kvm_s390_restart_interrupt(S390CPU * cpu)120 void kvm_s390_restart_interrupt(S390CPU *cpu)
121 {
122 }
123 
kvm_s390_set_diag318(CPUState * cs,uint64_t diag318_info)124 void kvm_s390_set_diag318(CPUState *cs, uint64_t diag318_info)
125 {
126 }
127