master
h 125 lines 5.98 KB
Raw
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