6775d15de1
Guest OS uses ACPI to discover VMBus presence. Add a corresponding entry to DSDT in case VMBus has been enabled. Experimentally Windows guests were found to require this entry to include two IRQ resources. They seem to never be used but they still have to be there. Make IRQ numbers user-configurable via corresponding properties; use 7 and 13 by default. Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com> Signed-off-by: Roman Kagan <rkagan@virtuozzo.com> Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Signed-off-by: Jon Doron <arilou@gmail.com> Message-Id: <20200424123444.3481728-6-arilou@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
36 lines
746 B
C
36 lines
746 B
C
/*
|
|
* QEMU Hyper-V VMBus root bridge
|
|
*
|
|
* Copyright (c) 2017-2018 Virtuozzo International GmbH.
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef HW_HYPERV_VMBUS_BRIDGE_H
|
|
#define HW_HYPERV_VMBUS_BRIDGE_H
|
|
|
|
#include "hw/sysbus.h"
|
|
|
|
#define TYPE_VMBUS_BRIDGE "vmbus-bridge"
|
|
|
|
typedef struct VMBus VMBus;
|
|
|
|
typedef struct VMBusBridge {
|
|
SysBusDevice parent_obj;
|
|
|
|
uint8_t irq0;
|
|
uint8_t irq1;
|
|
|
|
VMBus *bus;
|
|
} VMBusBridge;
|
|
|
|
#define VMBUS_BRIDGE(obj) OBJECT_CHECK(VMBusBridge, (obj), TYPE_VMBUS_BRIDGE)
|
|
|
|
static inline VMBusBridge *vmbus_bridge_find(void)
|
|
{
|
|
return VMBUS_BRIDGE(object_resolve_path_type("", TYPE_VMBUS_BRIDGE, NULL));
|
|
}
|
|
|
|
#endif
|