Patchwork [PATCHv3,12/14] Add bootindex parameter to pci assigned device.

login
register
mail settings
Submitter Gleb Natapov
Date Nov. 10, 2010, 5:14 p.m.
Message ID <1289409261-5418-13-git-send-email-gleb@redhat.com>
Download mbox | patch
Permalink /patch/70660/
State New
Headers show

Comments

Gleb Natapov - Nov. 10, 2010, 5:14 p.m.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
 hw/device-assignment.c |    7 +++++++
 hw/device-assignment.h |    1 +
 2 files changed, 8 insertions(+), 0 deletions(-)

Patch

diff --git a/hw/device-assignment.c b/hw/device-assignment.c
index bde231d..15c2b42 100644
--- a/hw/device-assignment.c
+++ b/hw/device-assignment.c
@@ -39,6 +39,7 @@ 
 #include "loader.h"
 #include "monitor.h"
 #include <pci/header.h>
+#include "sysemu.h"
 
 /* From linux/ioport.h */
 #define IORESOURCE_IO       0x00000100  /* Resource type */
@@ -1490,6 +1491,11 @@  static int assigned_initfn(struct PCIDevice *pci_dev)
 
     assigned_dev_load_option_rom(dev);
     QLIST_INSERT_HEAD(&devs, dev, next);
+
+    if (dev->bootindex >= 0) {
+        add_boot_device_path(dev->bootindex, &pci_dev->qdev, NULL);
+    }
+
     return 0;
 
 assigned_out:
@@ -1549,6 +1555,7 @@  static PCIDeviceInfo assign_info = {
                         ASSIGNED_DEVICE_USE_IOMMU_BIT, true),
         DEFINE_PROP_BIT("prefer_msi", AssignedDevice, features,
                         ASSIGNED_DEVICE_PREFER_MSI_BIT, true),
+        DEFINE_PROP_INT32("bootindex", AssignedDevice, bootindex, -1),
         DEFINE_PROP_STRING("configfd", AssignedDevice, configfd_name),
         DEFINE_PROP_END_OF_LIST(),
     },
diff --git a/hw/device-assignment.h b/hw/device-assignment.h
index c94a730..86af0a9 100644
--- a/hw/device-assignment.h
+++ b/hw/device-assignment.h
@@ -111,6 +111,7 @@  typedef struct AssignedDevice {
     int mmio_index;
     int need_emulate_cmd;
     char *configfd_name;
+    int32_t bootindex;
     QLIST_ENTRY(AssignedDevice) next;
 } AssignedDevice;