qemu/include/hw/s390x/s390-virtio-ccw.h
<<
>>
Prefs
   1/*
   2 * virtio ccw machine definitions
   3 *
   4 * Copyright 2012, 2016 IBM Corp.
   5 * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
   6 *
   7 * This work is licensed under the terms of the GNU GPL, version 2 or (at
   8 * your option) any later version. See the COPYING file in the top-level
   9 * directory.
  10 */
  11#ifndef HW_S390X_S390_VIRTIO_CCW_H
  12#define HW_S390X_S390_VIRTIO_CCW_H
  13
  14#include "hw/boards.h"
  15
  16#define TYPE_S390_CCW_MACHINE               "s390-ccw-machine"
  17
  18#define S390_CCW_MACHINE(obj) \
  19    OBJECT_CHECK(S390CcwMachineState, (obj), TYPE_S390_CCW_MACHINE)
  20
  21#define S390_MACHINE_CLASS(klass) \
  22    OBJECT_CLASS_CHECK(S390CcwMachineClass, (klass), TYPE_S390_CCW_MACHINE)
  23
  24typedef struct S390CcwMachineState {
  25    /*< private >*/
  26    MachineState parent_obj;
  27
  28    /*< public >*/
  29    bool aes_key_wrap;
  30    bool dea_key_wrap;
  31    uint8_t loadparm[8];
  32} S390CcwMachineState;
  33
  34typedef struct S390CcwMachineClass {
  35    /*< private >*/
  36    MachineClass parent_class;
  37
  38    /*< public >*/
  39    bool ri_allowed;
  40    bool cpu_model_allowed;
  41    bool css_migration_enabled;
  42    bool hpage_1m_allowed;
  43} S390CcwMachineClass;
  44
  45/* runtime-instrumentation allowed by the machine */
  46bool ri_allowed(void);
  47/* cpu model allowed by the machine */
  48bool cpu_model_allowed(void);
  49/* 1M huge page mappings allowed by the machine */
  50bool hpage_1m_allowed(void);
  51
  52/**
  53 * Returns true if (vmstate based) migration of the channel subsystem
  54 * is enabled, false if it is disabled.
  55 */
  56bool css_migration_enabled(void);
  57
  58#endif
  59