mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
add pci-bridge-seat
Simplifies multiseat configuration, see docs/multiseat.txt update for details. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
72d97b3a54
commit
eb6c6a6048
4 changed files with 45 additions and 1 deletions
|
@ -28,7 +28,8 @@
|
|||
#include "hw/pci/pci_bus.h"
|
||||
#include "hw/hotplug.h"
|
||||
|
||||
#define TYPE_PCI_BRIDGE_DEV "pci-bridge"
|
||||
#define TYPE_PCI_BRIDGE_DEV "pci-bridge"
|
||||
#define TYPE_PCI_BRIDGE_SEAT_DEV "pci-bridge-seat"
|
||||
#define PCI_BRIDGE_DEV(obj) \
|
||||
OBJECT_CHECK(PCIBridgeDev, (obj), TYPE_PCI_BRIDGE_DEV)
|
||||
|
||||
|
@ -170,9 +171,31 @@ static const TypeInfo pci_bridge_dev_info = {
|
|||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Multiseat bridge. Same as the standard pci bridge, only with a
|
||||
* different pci id, so we can match it easily in the guest for
|
||||
* automagic multiseat configuration. See docs/multiseat.txt for more.
|
||||
*/
|
||||
static void pci_bridge_dev_seat_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||
|
||||
k->device_id = PCI_DEVICE_ID_REDHAT_BRIDGE_SEAT;
|
||||
dc->desc = "Standard PCI Bridge (multiseat)";
|
||||
}
|
||||
|
||||
static const TypeInfo pci_bridge_dev_seat_info = {
|
||||
.name = TYPE_PCI_BRIDGE_SEAT_DEV,
|
||||
.parent = TYPE_PCI_BRIDGE_DEV,
|
||||
.instance_size = sizeof(PCIBridgeDev),
|
||||
.class_init = pci_bridge_dev_seat_class_init,
|
||||
};
|
||||
|
||||
static void pci_bridge_dev_register(void)
|
||||
{
|
||||
type_register_static(&pci_bridge_dev_info);
|
||||
type_register_static(&pci_bridge_dev_seat_info);
|
||||
}
|
||||
|
||||
type_init(pci_bridge_dev_register);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue