10d71f708SJon Doron /* 20d71f708SJon Doron * QEMU Hyper-V VMBus root bridge 30d71f708SJon Doron * 40d71f708SJon Doron * Copyright (c) 2017-2018 Virtuozzo International GmbH. 50d71f708SJon Doron * 60d71f708SJon Doron * This work is licensed under the terms of the GNU GPL, version 2 or later. 70d71f708SJon Doron * See the COPYING file in the top-level directory. 80d71f708SJon Doron */ 90d71f708SJon Doron 100d71f708SJon Doron #ifndef HW_HYPERV_VMBUS_BRIDGE_H 110d71f708SJon Doron #define HW_HYPERV_VMBUS_BRIDGE_H 120d71f708SJon Doron 130d71f708SJon Doron #include "hw/sysbus.h" 14240b6cd7SEduardo Habkost #include "hw/hyperv/vmbus.h" 15db1015e9SEduardo Habkost #include "qom/object.h" 160d71f708SJon Doron 170d71f708SJon Doron #define TYPE_VMBUS_BRIDGE "vmbus-bridge" 180d71f708SJon Doron 19db1015e9SEduardo Habkost struct VMBusBridge { 200d71f708SJon Doron SysBusDevice parent_obj; 210d71f708SJon Doron 228f06f22fSJon Doron uint8_t irq; 236775d15dSJon Doron 240d71f708SJon Doron VMBus *bus; 25db1015e9SEduardo Habkost }; 260d71f708SJon Doron OBJECT_DECLARE_SIMPLE_TYPE(VMBusBridge,VMBUS_BRIDGE)27*8063396bSEduardo HabkostOBJECT_DECLARE_SIMPLE_TYPE(VMBusBridge, VMBUS_BRIDGE) 280d71f708SJon Doron 290d71f708SJon Doron static inline VMBusBridge *vmbus_bridge_find(void) 300d71f708SJon Doron { 310d71f708SJon Doron return VMBUS_BRIDGE(object_resolve_path_type("", TYPE_VMBUS_BRIDGE, NULL)); 320d71f708SJon Doron } 330d71f708SJon Doron 340d71f708SJon Doron #endif 35