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