xref: /qemu/include/hw/qdev-properties-system.h (revision 5fdbb1df)
1ce35e229SEduardo Habkost #ifndef HW_QDEV_PROPERTIES_SYSTEM_H
2ce35e229SEduardo Habkost #define HW_QDEV_PROPERTIES_SYSTEM_H
3ce35e229SEduardo Habkost 
4ce35e229SEduardo Habkost #include "hw/qdev-properties.h"
5ce35e229SEduardo Habkost 
6ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_chr;
7ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_macaddr;
8ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_reserved_region;
9ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_multifd_compression;
10eea1e5c9SSteve Sistare extern const PropertyInfo qdev_prop_mig_mode;
11965bc083SEric Auger extern const PropertyInfo qdev_prop_granule_mode;
125fdbb1dfSHao Xiang extern const PropertyInfo qdev_prop_zero_page_detection;
13ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_losttickpolicy;
14ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_blockdev_on_error;
15ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_bios_chs_trans;
16ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_fdc_drive_type;
17ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_drive;
18ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_drive_iothread;
19ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_netdev;
20ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_pci_devfn;
21ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_blocksize;
22ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_pci_host_devaddr;
23ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_uuid;
24ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_audiodev;
25ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_off_auto_pcibar;
26ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_pcie_link_speed;
27ce35e229SEduardo Habkost extern const PropertyInfo qdev_prop_pcie_link_width;
285de1aff2SPierre Morel extern const PropertyInfo qdev_prop_cpus390entitlement;
29cf03a152SStefan Hajnoczi extern const PropertyInfo qdev_prop_iothread_vq_mapping_list;
30ce35e229SEduardo Habkost 
31ce35e229SEduardo Habkost #define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d)                   \
32ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pci_devfn, int32_t)
33ce35e229SEduardo Habkost 
34ce35e229SEduardo Habkost #define DEFINE_PROP_CHR(_n, _s, _f)             \
35ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharBackend)
36ce35e229SEduardo Habkost #define DEFINE_PROP_NETDEV(_n, _s, _f)             \
37ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, NICPeers)
38ce35e229SEduardo Habkost #define DEFINE_PROP_DRIVE(_n, _s, _f) \
39ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockBackend *)
40ce35e229SEduardo Habkost #define DEFINE_PROP_DRIVE_IOTHREAD(_n, _s, _f) \
41ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_drive_iothread, BlockBackend *)
42ce35e229SEduardo Habkost #define DEFINE_PROP_MACADDR(_n, _s, _f)         \
43ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_macaddr, MACAddr)
44ce35e229SEduardo Habkost #define DEFINE_PROP_RESERVED_REGION(_n, _s, _f)         \
45ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_reserved_region, ReservedRegion)
46ce35e229SEduardo Habkost #define DEFINE_PROP_MULTIFD_COMPRESSION(_n, _s, _f, _d) \
47ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_multifd_compression, \
48ce35e229SEduardo Habkost                        MultiFDCompression)
49eea1e5c9SSteve Sistare #define DEFINE_PROP_MIG_MODE(_n, _s, _f, _d) \
50eea1e5c9SSteve Sistare     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_mig_mode, \
51eea1e5c9SSteve Sistare                        MigMode)
52965bc083SEric Auger #define DEFINE_PROP_GRANULE_MODE(_n, _s, _f, _d) \
53965bc083SEric Auger     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_granule_mode, GranuleMode)
545fdbb1dfSHao Xiang #define DEFINE_PROP_ZERO_PAGE_DETECTION(_n, _s, _f, _d) \
555fdbb1dfSHao Xiang     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_zero_page_detection, \
565fdbb1dfSHao Xiang                        ZeroPageDetection)
57ce35e229SEduardo Habkost #define DEFINE_PROP_LOSTTICKPOLICY(_n, _s, _f, _d) \
58ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_losttickpolicy, \
59ce35e229SEduardo Habkost                         LostTickPolicy)
60ce35e229SEduardo Habkost #define DEFINE_PROP_BLOCKDEV_ON_ERROR(_n, _s, _f, _d) \
61ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_blockdev_on_error, \
62ce35e229SEduardo Habkost                         BlockdevOnError)
63ce35e229SEduardo Habkost #define DEFINE_PROP_BIOS_CHS_TRANS(_n, _s, _f, _d) \
64ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_bios_chs_trans, int)
65ce35e229SEduardo Habkost #define DEFINE_PROP_BLOCKSIZE(_n, _s, _f) \
66ce35e229SEduardo Habkost     DEFINE_PROP_UNSIGNED(_n, _s, _f, 0, qdev_prop_blocksize, uint32_t)
67ce35e229SEduardo Habkost #define DEFINE_PROP_PCI_HOST_DEVADDR(_n, _s, _f) \
68ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_pci_host_devaddr, PCIHostDeviceAddress)
69ce35e229SEduardo Habkost #define DEFINE_PROP_OFF_AUTO_PCIBAR(_n, _s, _f, _d) \
70ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_off_auto_pcibar, \
71ce35e229SEduardo Habkost                         OffAutoPCIBAR)
72ce35e229SEduardo Habkost #define DEFINE_PROP_PCIE_LINK_SPEED(_n, _s, _f, _d) \
73ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pcie_link_speed, \
74ce35e229SEduardo Habkost                         PCIExpLinkSpeed)
75ce35e229SEduardo Habkost #define DEFINE_PROP_PCIE_LINK_WIDTH(_n, _s, _f, _d) \
76ce35e229SEduardo Habkost     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_pcie_link_width, \
77ce35e229SEduardo Habkost                         PCIExpLinkWidth)
78ce35e229SEduardo Habkost 
7945efa07fSEduardo Habkost #define DEFINE_PROP_UUID(_name, _state, _field) \
8045efa07fSEduardo Habkost     DEFINE_PROP(_name, _state, _field, qdev_prop_uuid, QemuUUID, \
8145efa07fSEduardo Habkost                 .set_default = true)
8245efa07fSEduardo Habkost 
83ce35e229SEduardo Habkost #define DEFINE_PROP_AUDIODEV(_n, _s, _f) \
84ce35e229SEduardo Habkost     DEFINE_PROP(_n, _s, _f, qdev_prop_audiodev, QEMUSoundCard)
85ce35e229SEduardo Habkost 
8645efa07fSEduardo Habkost #define DEFINE_PROP_UUID_NODEFAULT(_name, _state, _field) \
8745efa07fSEduardo Habkost     DEFINE_PROP(_name, _state, _field, qdev_prop_uuid, QemuUUID)
88ce35e229SEduardo Habkost 
895de1aff2SPierre Morel #define DEFINE_PROP_CPUS390ENTITLEMENT(_n, _s, _f, _d) \
905de1aff2SPierre Morel     DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_cpus390entitlement, \
915de1aff2SPierre Morel                        CpuS390Entitlement)
92ce35e229SEduardo Habkost 
93cf03a152SStefan Hajnoczi #define DEFINE_PROP_IOTHREAD_VQ_MAPPING_LIST(_name, _state, _field) \
94cf03a152SStefan Hajnoczi     DEFINE_PROP(_name, _state, _field, qdev_prop_iothread_vq_mapping_list, \
95cf03a152SStefan Hajnoczi                 IOThreadVirtQueueMappingList *)
96cf03a152SStefan Hajnoczi 
97ce35e229SEduardo Habkost #endif
98