xref: /qemu/include/hw/hyperv/vmbus-bridge.h (revision 4dad0a9aa818698e0735c8352bf7925a1660df6f)
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 Habkost OBJECT_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