| 1 | #ifndef HW_QDEV_PROPERTIES_SYSTEM_H |
| 2 | #define HW_QDEV_PROPERTIES_SYSTEM_H |
| 3 | |
| 4 | #include "hw/core/qdev-properties.h" |
| 5 | #include "qapi/qapi-types-common.h" |
| 6 | |
| 7 | bool qdev_prop_sanitize_s390x_loadparm(uint8_t *loadparm, const char *str, |
| 8 | Error **errp); |
| 9 | |
| 10 | extern const PropertyInfo qdev_prop_chr; |
| 11 | extern const PropertyInfo qdev_prop_macaddr; |
| 12 | extern const PropertyInfo qdev_prop_reserved_region; |
| 13 | extern const PropertyInfo qdev_prop_multifd_compression; |
| 14 | extern const PropertyInfo qdev_prop_mig_mode; |
| 15 | extern const PropertyInfo qdev_prop_granule_mode; |
| 16 | extern const PropertyInfo qdev_prop_zero_page_detection; |
| 17 | extern const PropertyInfo qdev_prop_ssidsize_mode; |
| 18 | extern const PropertyInfo qdev_prop_oas_mode; |
| 19 | extern const PropertyInfo qdev_prop_losttickpolicy; |
| 20 | extern const PropertyInfo qdev_prop_blockdev_on_error; |
| 21 | extern const PropertyInfo qdev_prop_bios_chs_trans; |
| 22 | extern const PropertyInfo qdev_prop_fdc_drive_type; |
| 23 | extern const PropertyInfo qdev_prop_drive; |
| 24 | extern const PropertyInfo qdev_prop_drive_iothread; |
| 25 | extern const PropertyInfo qdev_prop_netdev; |
| 26 | extern const PropertyInfo qdev_prop_pci_devfn; |
| 27 | extern const PropertyInfo qdev_prop_blocksize; |
| 28 | extern const PropertyInfo qdev_prop_pci_host_devaddr; |
| 29 | extern const PropertyInfo qdev_prop_uuid; |
| 30 | extern const PropertyInfo qdev_prop_audiodev; |
| 31 | extern const PropertyInfo qdev_prop_off_auto_pcibar; |
| 32 | extern const PropertyInfo qdev_prop_pcie_link_speed; |
| 33 | extern const PropertyInfo qdev_prop_pcie_link_width; |
| 34 | extern const PropertyInfo qdev_prop_cpus390entitlement; |
| 35 | extern const PropertyInfo qdev_prop_iothread_vq_mapping_list; |
| 36 | extern const PropertyInfo qdev_prop_endian_mode; |
| 37 | extern const PropertyInfo qdev_prop_vmapple_virtio_blk_variant; |
| 38 | extern const PropertyInfo qdev_prop_virtio_gpu_output_list; |
| 39 | |
| 40 | #define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d) \ |
| 41 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t) |
| 42 | |
| 43 | #define DEFINE_PROP_CHR(_n, _s, _f) \ |
| 44 | DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharFrontend) |
| 45 | #define DEFINE_PROP_NETDEV(_n, _s, _f) \ |
| 46 | DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NICPeers) |
| 47 | #define DEFINE_PROP_DRIVE(_n, _s, _f) \ |
| 48 | DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockBackend *) |
| 49 | #define DEFINE_PROP_DRIVE_IOTHREAD(_n, _s, _f) \ |
| 50 | DEFINE_PROP(_n, _s, _f, qdev_prop_drive_iothread, BlockBackend *) |
| 51 | #define DEFINE_PROP_MACADDR(_n, _s, _f) \ |
| 52 | DEFINE_PROP(_n, _s, _f, qdev_prop_macaddr, MACAddr) |
| 53 | #define DEFINE_PROP_RESERVED_REGION(_n, _s, _f) \ |
| 54 | DEFINE_PROP(_n, _s, _f, qdev_prop_reserved_region, ReservedRegion) |
| 55 | #define DEFINE_PROP_MULTIFD_COMPRESSION(_n, _s, _f, _d) \ |
| 56 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_multifd_compression, \ |
| 57 | MultiFDCompression) |
| 58 | #define DEFINE_PROP_MIG_MODE(_n, _s, _f, _d) \ |
| 59 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_mig_mode, \ |
| 60 | MigMode) |
| 61 | #define DEFINE_PROP_GRANULE_MODE(_n, _s, _f, _d) \ |
| 62 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_granule_mode, GranuleMode) |
| 63 | #define DEFINE_PROP_ZERO_PAGE_DETECTION(_n, _s, _f, _d) \ |
| 64 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_zero_page_detection, \ |
| 65 | ZeroPageDetection) |
| 66 | #define DEFINE_PROP_SSIDSIZE_MODE(_n, _s, _f, _d) \ |
| 67 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_ssidsize_mode, SsidSizeMode) |
| 68 | #define DEFINE_PROP_OAS_MODE(_n, _s, _f, _d) \ |
| 69 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_oas_mode, OasMode) |
| 70 | #define DEFINE_PROP_LOSTTICKPOLICY(_n, _s, _f, _d) \ |
| 71 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_losttickpolicy, \ |
| 72 | LostTickPolicy) |
| 73 | #define DEFINE_PROP_BLOCKDEV_ON_ERROR(_n, _s, _f, _d) \ |
| 74 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_blockdev_on_error, \ |
| 75 | BlockdevOnError) |
| 76 | #define DEFINE_PROP_BIOS_CHS_TRANS(_n, _s, _f, _d) \ |
| 77 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_bios_chs_trans, int) |
| 78 | #define DEFINE_PROP_BLOCKSIZE(_n, _s, _f) \ |
| 79 | DEFINE_PROP_UNSIGNED(_n, _s, _f, 0, qdev_prop_blocksize, uint32_t) |
| 80 | #define DEFINE_PROP_PCI_HOST_DEVADDR(_n, _s, _f) \ |
| 81 | DEFINE_PROP(_n, _s, _f, qdev_prop_pci_host_devaddr, PCIHostDeviceAddress) |
| 82 | #define DEFINE_PROP_OFF_AUTO_PCIBAR(_n, _s, _f, _d) \ |
| 83 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_off_auto_pcibar, \ |
| 84 | OffAutoPCIBAR) |
| 85 | #define DEFINE_PROP_PCIE_LINK_SPEED(_n, _s, _f, _d) \ |
| 86 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pcie_link_speed, \ |
| 87 | PCIExpLinkSpeed) |
| 88 | #define DEFINE_PROP_PCIE_LINK_WIDTH(_n, _s, _f, _d) \ |
| 89 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pcie_link_width, \ |
| 90 | PCIExpLinkWidth) |
| 91 | |
| 92 | #define DEFINE_PROP_UUID(_name, _state, _field) \ |
| 93 | DEFINE_PROP(_name, _state, _field, qdev_prop_uuid, QemuUUID, \ |
| 94 | .set_default = true) |
| 95 | |
| 96 | #define DEFINE_PROP_AUDIODEV(_n, _s, _f) \ |
| 97 | DEFINE_PROP(_n, _s, _f, qdev_prop_audiodev, AudioBackend *) |
| 98 | |
| 99 | #define DEFINE_PROP_UUID_NODEFAULT(_name, _state, _field) \ |
| 100 | DEFINE_PROP(_name, _state, _field, qdev_prop_uuid, QemuUUID) |
| 101 | |
| 102 | #define DEFINE_PROP_CPUS390ENTITLEMENT(_n, _s, _f, _d) \ |
| 103 | DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_cpus390entitlement, \ |
| 104 | S390CpuEntitlement) |
| 105 | |
| 106 | #define DEFINE_PROP_IOTHREAD_VQ_MAPPING_LIST(_name, _state, _field) \ |
| 107 | DEFINE_PROP(_name, _state, _field, qdev_prop_iothread_vq_mapping_list, \ |
| 108 | IOThreadVirtQueueMappingList *) |
| 109 | |
| 110 | #define DEFINE_PROP_ENDIAN(_name, _state, _field, _default) \ |
| 111 | DEFINE_PROP_UNSIGNED(_name, _state, _field, _default, \ |
| 112 | qdev_prop_endian_mode, EndianMode) |
| 113 | #define DEFINE_PROP_ENDIAN_NODEFAULT(_name, _state, _field) \ |
| 114 | DEFINE_PROP_ENDIAN(_name, _state, _field, ENDIAN_MODE_UNSPECIFIED) |
| 115 | |
| 116 | #define DEFINE_PROP_VMAPPLE_VIRTIO_BLK_VARIANT(_name, _state, _fld, _default) \ |
| 117 | DEFINE_PROP_UNSIGNED(_name, _state, _fld, _default, \ |
| 118 | qdev_prop_vmapple_virtio_blk_variant, \ |
| 119 | VMAppleVirtioBlkVariant) |
| 120 | |
| 121 | #define DEFINE_PROP_VIRTIO_GPU_OUTPUT_LIST(_name, _state, _field) \ |
| 122 | DEFINE_PROP(_name, _state, _field, qdev_prop_virtio_gpu_output_list, \ |
| 123 | VirtIOGPUOutputList *) |
| 124 | |
| 125 | #endif |