mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
target/s390x: Un-inline s390_is_pv()
Inlining a method which use a static variable is really a
bad idea, as it totally defeats the point of both concepts.
Currently we have 12 + 4 = 16 static 'ccw' variables...:
$ git grep -wl target/s390x/kvm/pv.h | fgrep .h
hw/s390x/ipl.h
$ git grep -wl target/s390x/kvm/pv.h | fgrep .c | wc -l
12
$ git grep -wl hw/s390x/ipl.h | fgrep .c | wc -l
4
Fixes: c3347ed0d2 ("s390x: protvirt: Support unpack facility")
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260107130807.69870-16-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
committed by
Thomas Huth
parent
901e2eb325
commit
c4a009cbdc
@@ -25,6 +25,24 @@
|
||||
#include "target/s390x/kvm/kvm_s390x.h"
|
||||
#include "target/s390x/kvm/pv.h"
|
||||
|
||||
bool s390_is_pv(void)
|
||||
{
|
||||
static S390CcwMachineState *ccw;
|
||||
Object *obj;
|
||||
|
||||
if (ccw) {
|
||||
return ccw->pv;
|
||||
}
|
||||
|
||||
/* we have to bail out for the "none" machine */
|
||||
obj = object_dynamic_cast(qdev_get_machine(), TYPE_S390_CCW_MACHINE);
|
||||
if (!obj) {
|
||||
return false;
|
||||
}
|
||||
ccw = S390_CCW_MACHINE(obj);
|
||||
return ccw->pv;
|
||||
}
|
||||
|
||||
static bool info_valid;
|
||||
static struct kvm_s390_pv_info_vm info_vm;
|
||||
static struct kvm_s390_pv_info_dump info_dump;
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
#ifndef HW_S390_PV_H
|
||||
#define HW_S390_PV_H
|
||||
|
||||
#include "qapi/error.h"
|
||||
#include "system/kvm.h"
|
||||
#include "hw/s390x/s390-virtio-ccw.h"
|
||||
|
||||
struct S390PVResponse {
|
||||
@@ -23,27 +21,7 @@ struct S390PVResponse {
|
||||
};
|
||||
|
||||
#ifdef CONFIG_KVM
|
||||
#include "cpu.h"
|
||||
|
||||
static inline bool s390_is_pv(void)
|
||||
{
|
||||
static S390CcwMachineState *ccw;
|
||||
Object *obj;
|
||||
|
||||
if (ccw) {
|
||||
return ccw->pv;
|
||||
}
|
||||
|
||||
/* we have to bail out for the "none" machine */
|
||||
obj = object_dynamic_cast(qdev_get_machine(),
|
||||
TYPE_S390_CCW_MACHINE);
|
||||
if (!obj) {
|
||||
return false;
|
||||
}
|
||||
ccw = S390_CCW_MACHINE(obj);
|
||||
return ccw->pv;
|
||||
}
|
||||
|
||||
bool s390_is_pv(void);
|
||||
int s390_pv_query_info(void);
|
||||
int s390_pv_vm_enable(void);
|
||||
void s390_pv_vm_disable(void);
|
||||
|
||||
Reference in New Issue
Block a user