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