diff options
Diffstat (limited to 'target-s390x/cpu.h')
-rw-r--r-- | target-s390x/cpu.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h index f2715c6e72..772d513c01 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -1062,6 +1062,7 @@ static inline void cpu_inject_crw_mchk(S390CPU *cpu) /* from s390-virtio-ccw */ #define MEM_SECTION_SIZE 0x10000000UL +#define MAX_AVAIL_SLOTS 32 /* fpu_helper.c */ uint32_t set_cc_nz_f32(float32 v); @@ -1085,6 +1086,7 @@ 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(KVMState *s); void kvm_s390_clear_cmma_callback(void *opaque); #else static inline void kvm_s390_io_interrupt(uint16_t subchannel_id, @@ -1112,6 +1114,10 @@ static inline int kvm_s390_cpu_restart(S390CPU *cpu) static inline void kvm_s390_clear_cmma_callback(void *opaque) { } +static inline int kvm_s390_get_memslot_count(KVMState *s) +{ + return MAX_AVAIL_SLOTS; +} #endif static inline void cmma_reset(S390CPU *cpu) @@ -1130,6 +1136,15 @@ static inline int s390_cpu_restart(S390CPU *cpu) return -ENOSYS; } +static inline int s390_get_memslot_count(KVMState *s) +{ + if (kvm_enabled()) { + return kvm_s390_get_memslot_count(s); + } else { + return MAX_AVAIL_SLOTS; + } +} + void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr, uint32_t io_int_parm, uint32_t io_int_word); void s390_crw_mchk(void); |