52629b3ba8
Currently the migration of the channel subsystem (css) is only partial and is done by the virtio ccw proxies -- the only migratable css devices existing at the moment. With the current work on emulated and passthrough devices we need to decouple the migration of the channel subsystem state from virtio ccw, and have a separate section for it. A new section however necessarily breaks the migration compatibility. So let us introduce a switch at the machine class, and put it in 'off' state for now. We will turn the switch 'on' for future machines once all preparations are met. For compatibility machines the switch will stay 'off'. Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Message-Id: <20170711145441.33925-3-pasic@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
/*
|
|
* virtio ccw machine definitions
|
|
*
|
|
* Copyright 2012, 2016 IBM Corp.
|
|
* Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or (at
|
|
* your option) any later version. See the COPYING file in the top-level
|
|
* directory.
|
|
*/
|
|
#ifndef HW_S390X_S390_VIRTIO_CCW_H
|
|
#define HW_S390X_S390_VIRTIO_CCW_H
|
|
|
|
#include "hw/boards.h"
|
|
|
|
#define TYPE_S390_CCW_MACHINE "s390-ccw-machine"
|
|
|
|
#define S390_CCW_MACHINE(obj) \
|
|
OBJECT_CHECK(S390CcwMachineState, (obj), TYPE_S390_CCW_MACHINE)
|
|
|
|
#define S390_MACHINE_CLASS(klass) \
|
|
OBJECT_CLASS_CHECK(S390CcwMachineClass, (klass), TYPE_S390_CCW_MACHINE)
|
|
|
|
typedef struct S390CcwMachineState {
|
|
/*< private >*/
|
|
MachineState parent_obj;
|
|
|
|
/*< public >*/
|
|
bool aes_key_wrap;
|
|
bool dea_key_wrap;
|
|
uint8_t loadparm[8];
|
|
bool s390_squash_mcss;
|
|
} S390CcwMachineState;
|
|
|
|
typedef struct S390CcwMachineClass {
|
|
/*< private >*/
|
|
MachineClass parent_class;
|
|
|
|
/*< public >*/
|
|
bool ri_allowed;
|
|
bool cpu_model_allowed;
|
|
bool css_migration_enabled;
|
|
} S390CcwMachineClass;
|
|
|
|
/* runtime-instrumentation allowed by the machine */
|
|
bool ri_allowed(void);
|
|
/* cpu model allowed by the machine */
|
|
bool cpu_model_allowed(void);
|
|
|
|
/**
|
|
* Returns true if (vmstate based) migration of the channel subsystem
|
|
* is enabled, false if it is disabled.
|
|
*/
|
|
bool css_migration_enabled(void);
|
|
|
|
#endif
|