qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support
@ 2013-12-10  7:32 Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes Alexey Kardashevskiy
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-10  7:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexey Kardashevskiy, Paolo Bonzini, qemu-ppc, Alexander Graf,
	Andreas Färber

This is yet another try of bootindex support on sPAPR.
This time a QOM interface thing is used. Please, comment. Thanks.


Alexey Kardashevskiy (5):
  boot: extend get_boot_devices_list() to ignore suffixes
  spapr-llan: add to boot device list
  spapr-vio: fix firmware names
  qdev: introduce get_fw_dev_path() callback
  spapr: define interface to fix device pathname

 hw/core/qdev.c          | 35 ++++++++++++++++++-
 hw/net/spapr_llan.c     |  3 ++
 hw/nvram/fw_cfg.c       |  2 +-
 hw/ppc/spapr.c          | 89 ++++++++++++++++++++++++++++++++++++++++++++++++-
 hw/ppc/spapr_vio.c      |  2 ++
 include/hw/qdev-core.h  | 15 +++++++++
 include/sysemu/sysemu.h |  2 +-
 vl.c                    |  6 ++--
 8 files changed, 147 insertions(+), 7 deletions(-)

-- 
1.8.4.rc4

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes
  2013-12-10  7:32 [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support Alexey Kardashevskiy
@ 2013-12-10  7:32 ` Alexey Kardashevskiy
  2013-12-10  9:21   ` Paolo Bonzini
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 2/5] spapr-llan: add to boot device list Alexey Kardashevskiy
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-10  7:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexey Kardashevskiy, Paolo Bonzini, qemu-ppc, Alexander Graf,
	Andreas Färber

As suffixes do not make sense for sPAPR's device tree and
there is no way to filter them out on the BusState::get_fw_dev_path
level, let's add an ability for the external caller to specify
whether to apply suffixes or not.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
 hw/nvram/fw_cfg.c       | 2 +-
 include/sysemu/sysemu.h | 2 +-
 vl.c                    | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index f5dc3ea..4d0c76f 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -504,7 +504,7 @@ static void fw_cfg_machine_ready(struct Notifier *n, void *data)
 {
     size_t len;
     FWCfgState *s = container_of(n, FWCfgState, machine_ready);
-    char *bootindex = get_boot_devices_list(&len);
+    char *bootindex = get_boot_devices_list(&len, false);
 
     fw_cfg_add_file(s, "bootorder", (uint8_t*)bootindex, len);
 }
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 495dae8..2b71a4a 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -185,7 +185,7 @@ void rtc_change_mon_event(struct tm *tm);
 
 void add_boot_device_path(int32_t bootindex, DeviceState *dev,
                           const char *suffix);
-char *get_boot_devices_list(size_t *size);
+char *get_boot_devices_list(size_t *size, bool ignore_suffixes);
 
 DeviceState *get_boot_device(uint32_t position);
 
diff --git a/vl.c b/vl.c
index 8d5d874..aefc11a 100644
--- a/vl.c
+++ b/vl.c
@@ -1211,7 +1211,7 @@ DeviceState *get_boot_device(uint32_t position)
  * memory pointed by "size" is assigned total length of the array in bytes
  *
  */
-char *get_boot_devices_list(size_t *size)
+char *get_boot_devices_list(size_t *size, bool ignore_suffixes)
 {
     FWBootEntry *i;
     size_t total = 0;
@@ -1226,7 +1226,7 @@ char *get_boot_devices_list(size_t *size)
             assert(devpath);
         }
 
-        if (i->suffix && devpath) {
+        if (i->suffix && !ignore_suffixes && devpath) {
             size_t bootpathlen = strlen(devpath) + strlen(i->suffix) + 1;
 
             bootpath = g_malloc(bootpathlen);
@@ -1234,7 +1234,7 @@ char *get_boot_devices_list(size_t *size)
             g_free(devpath);
         } else if (devpath) {
             bootpath = devpath;
-        } else {
+        } else if (!ignore_suffixes) {
             assert(i->suffix);
             bootpath = g_strdup(i->suffix);
         }
-- 
1.8.4.rc4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v3 2/5] spapr-llan: add to boot device list
  2013-12-10  7:32 [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes Alexey Kardashevskiy
@ 2013-12-10  7:32 ` Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 3/5] spapr-vio: fix firmware names Alexey Kardashevskiy
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-10  7:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexey Kardashevskiy, Paolo Bonzini, qemu-ppc, Alexander Graf,
	Andreas Färber

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
 hw/net/spapr_llan.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c
index 1bd6f50..229de00 100644
--- a/hw/net/spapr_llan.c
+++ b/hw/net/spapr_llan.c
@@ -29,6 +29,7 @@
 #include "hw/qdev.h"
 #include "hw/ppc/spapr.h"
 #include "hw/ppc/spapr_vio.h"
+#include "sysemu/sysemu.h"
 
 #include <libfdt.h>
 
@@ -213,6 +214,8 @@ static int spapr_vlan_init(VIOsPAPRDevice *sdev)
                             object_get_typename(OBJECT(sdev)), sdev->qdev.id, dev);
     qemu_format_nic_info_str(qemu_get_queue(dev->nic), dev->nicconf.macaddr.a);
 
+    add_boot_device_path(dev->nicconf.bootindex, DEVICE(dev), "");
+
     return 0;
 }
 
-- 
1.8.4.rc4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v3 3/5] spapr-vio: fix firmware names
  2013-12-10  7:32 [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 2/5] spapr-llan: add to boot device list Alexey Kardashevskiy
@ 2013-12-10  7:32 ` Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 4/5] qdev: introduce get_fw_dev_path() callback Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 5/5] spapr: define interface to fix device pathname Alexey Kardashevskiy
  4 siblings, 0 replies; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-10  7:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexey Kardashevskiy, Paolo Bonzini, qemu-ppc, Alexander Graf,
	Andreas Färber

This changes VIO bridge fw name from spapr-vio-bridge to vdevice and
vscsi/veth node names from QEMU object names to VIO specific device tree
names.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
 hw/ppc/spapr_vio.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index fee6195..42b8416 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -68,6 +68,7 @@ static void spapr_vio_bus_class_init(ObjectClass *klass, void *data)
     BusClass *k = BUS_CLASS(klass);
 
     k->get_dev_path = spapr_vio_get_dev_name;
+    k->get_fw_dev_path = spapr_vio_get_dev_name;
 }
 
 static const TypeInfo spapr_vio_bus_info = {
@@ -531,6 +532,7 @@ static void spapr_vio_bridge_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
+    dc->fw_name = "vdevice";
     k->init = spapr_vio_bridge_init;
     dc->no_user = 1;
 }
-- 
1.8.4.rc4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v3 4/5] qdev: introduce get_fw_dev_path() callback
  2013-12-10  7:32 [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support Alexey Kardashevskiy
                   ` (2 preceding siblings ...)
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 3/5] spapr-vio: fix firmware names Alexey Kardashevskiy
@ 2013-12-10  7:32 ` Alexey Kardashevskiy
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 5/5] spapr: define interface to fix device pathname Alexey Kardashevskiy
  4 siblings, 0 replies; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-10  7:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexey Kardashevskiy, Paolo Bonzini, qemu-ppc, Alexander Graf,
	Andreas Färber

QEMU supports firmware names for all devices in the QEMU tree but
some architectures expect some parts of firmware path names in different
format.

This introduces a firmware-pathname-change interface definition.
If some machines needs to redefine the firmware path format, it has
to add a child object to the /machine object with the "machine-fw-path"
interface defines.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
Changes:
v3:
* QEMUMachine callback is replaced with an interface so the @current_machine
symbol is no more required
---
 hw/core/qdev.c         | 35 ++++++++++++++++++++++++++++++++++-
 include/hw/qdev-core.h | 15 +++++++++++++++
 2 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index e374a93..4675d68 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -497,6 +497,36 @@ static char *bus_get_fw_dev_path(BusState *bus, DeviceState *dev)
     return NULL;
 }
 
+typedef struct FWPathInterfaceSearch {
+    BusState *bus;
+    DeviceState *dev;
+    char *ret;
+} FWPathInterfaceSearch;
+
+static int qdev_machine_try_get_fwpath(Object *o, void *opaque)
+{
+    FWPathInterfaceSearch *p = opaque;
+    ObjectClass *oc = object_get_class(o);
+    MachineFWPathClass *c = (MachineFWPathClass *)
+        object_class_dynamic_cast(oc, TYPE_MACHINE_FWPATH);
+
+    if (c && c->get_fw_dev_path) {
+        p->ret = c->get_fw_dev_path(p->bus, p->dev);
+        return 1;
+    }
+
+    return 0;
+}
+
+static char *machine_get_fw_dev_path(BusState *bus, DeviceState *dev)
+{
+    FWPathInterfaceSearch p = { bus, dev, NULL };
+
+    object_child_foreach(qdev_get_machine(), qdev_machine_try_get_fwpath, &p);
+
+    return p.ret;
+}
+
 static int qdev_get_fw_dev_path_helper(DeviceState *dev, char *p, int size)
 {
     int l = 0;
@@ -504,7 +534,10 @@ static int qdev_get_fw_dev_path_helper(DeviceState *dev, char *p, int size)
     if (dev && dev->parent_bus) {
         char *d;
         l = qdev_get_fw_dev_path_helper(dev->parent_bus->parent, p, size);
-        d = bus_get_fw_dev_path(dev->parent_bus, dev);
+        d = machine_get_fw_dev_path(dev->parent_bus, dev);
+        if (!d) {
+            d = bus_get_fw_dev_path(dev->parent_bus, dev);
+        }
         if (d) {
             l += snprintf(p + l, size - l, "%s", d);
             g_free(d);
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index f2043a6..49892fb 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -307,4 +307,19 @@ extern int qdev_hotplug;
 
 char *qdev_get_dev_path(DeviceState *dev);
 
+/*
+ * Definition of a "get firmware patch" interface
+ */
+#define TYPE_MACHINE_FWPATH "machine-fw-path"
+
+#define MACHINE_FWPATH_CLASS(klass) \
+     OBJECT_CLASS_CHECK(MachineFWPathClass, (klass), TYPE_MACHINE_FWPATH)
+
+typedef struct MachineFWPathClass {
+    /* private */
+    InterfaceClass parent;
+    /* public */
+    char *(*get_fw_dev_path)(BusState *bus, DeviceState *dev);
+} MachineFWPathClass;
+
 #endif
-- 
1.8.4.rc4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH v3 5/5] spapr: define interface to fix device pathname
  2013-12-10  7:32 [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support Alexey Kardashevskiy
                   ` (3 preceding siblings ...)
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 4/5] qdev: introduce get_fw_dev_path() callback Alexey Kardashevskiy
@ 2013-12-10  7:32 ` Alexey Kardashevskiy
  4 siblings, 0 replies; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-10  7:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexey Kardashevskiy, Paolo Bonzini, qemu-ppc, Alexander Graf,
	Andreas Färber

This defines an object with the interface to fix firmware pathnames
for devices which have @bootindex property.

This fixes SCSI disks device node names (which are wildcard nodes in
the device-tree).

This fixes PHB name from "pci" to "pci@XXXX" where XXXX is a BUID as
there is no bus on top of sPAPRPHBState where PHB firmware name could
be fixed using the BusClass::get_fw_dev_path mechanism.

This stores the boot list in the /chosen/qemu,boot-list property of
the device tree. "\n" are replaced by spaces to support OF1275.
SLOF needs an update in order to support the boot list.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
Changes:
v3:
* uses interface instead of QEMUMachine callback

v2:
* \n replaced with space as this is what SLOF expects there
* qemu,bootlist renamed to qemu,boot-list
---
 hw/ppc/spapr.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 88 insertions(+), 1 deletion(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 7e53a5f..63e9c68 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -45,6 +45,7 @@
 #include "hw/pci/msi.h"
 
 #include "hw/pci/pci.h"
+#include "hw/scsi/scsi.h"
 
 #include "exec/address-spaces.h"
 #include "hw/usb.h"
@@ -80,6 +81,8 @@
 
 #define HTAB_SIZE(spapr)        (1ULL << ((spapr)->htab_shift))
 
+#define TYPE_SPAPR_MACHINE_FWPATH "spapr-machine-fwpath"
+
 sPAPREnvironment *spapr;
 
 int spapr_allocate_irq(int hint, bool lsi)
@@ -587,7 +590,9 @@ static void spapr_finalize_fdt(sPAPREnvironment *spapr,
                                hwaddr rtas_addr,
                                hwaddr rtas_size)
 {
-    int ret;
+    int ret, i;
+    size_t cb = 0;
+    char *bootlist;
     void *fdt;
     sPAPRPHBState *phb;
 
@@ -629,6 +634,21 @@ static void spapr_finalize_fdt(sPAPREnvironment *spapr,
         fprintf(stderr, "Couldn't finalize CPU device tree properties\n");
     }
 
+    bootlist = get_boot_devices_list(&cb, true);
+    if (cb && bootlist) {
+        int offset = fdt_path_offset(fdt, "/chosen");
+        if (offset < 0) {
+            exit(1);
+        }
+        for (i = 0; i < cb; i++) {
+            if (bootlist[i] == '\n') {
+                bootlist[i] = ' ';
+            }
+
+        }
+        ret = fdt_setprop_string(fdt, offset, "qemu,boot-list", bootlist);
+    }
+
     if (!spapr->has_graphics) {
         spapr_populate_chosen_stdout(fdt, spapr->vio_bus);
     }
@@ -1355,6 +1375,11 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
                                             boot_device, kernel_cmdline,
                                             spapr->epow_irq);
     assert(spapr->fdt_skel != NULL);
+
+    /* Register the firmware path parser */
+    object_property_add_child(qdev_get_machine(), "fwpath",
+                              object_new(TYPE_SPAPR_MACHINE_FWPATH),
+                              NULL);
 }
 
 static QEMUMachine spapr_machine = {
@@ -1375,3 +1400,65 @@ static void spapr_machine_init(void)
 }
 
 machine_init(spapr_machine_init);
+
+/*
+ * Implementation of an interface to adjust firmware patch
+ * for the bootindex property handling.
+ */
+static char *spapr_get_fw_dev_path(BusState *bus, DeviceState *dev)
+{
+#define CAST(type, obj, name) \
+    ((type *)object_dynamic_cast(OBJECT(obj), (name)))
+    SCSIDevice *d = CAST(SCSIDevice,  dev, TYPE_SCSI_DEVICE);
+    sPAPRPHBState *phb = CAST(sPAPRPHBState, dev, TYPE_SPAPR_PCI_HOST_BRIDGE);
+
+    if (d) {
+        /*
+         * Replace "channel@0/disk@0,0" with "disk@8000000000000000":
+         * We use SRP luns of the form 8000 | (bus << 8) | (id << 5) | lun
+         * in the top 16 bits of the 64-bit LUN
+         */
+        unsigned id = 0x8000 | (d->channel << 8) | (d->id << 5) | d->lun;
+
+        return g_strdup_printf("%s@%"PRIX64, qdev_fw_name(dev),
+                               (uint64_t)id << 48);
+    }
+
+    if (phb) {
+        /* Replace "pci" with "pci@800000020000000" */
+        return g_strdup_printf("pci@%"PRIX64, phb->buid);
+    }
+
+    return NULL;
+}
+
+static void machine_fw_class_init(ObjectClass *oc, void *data)
+{
+    MachineFWPathClass *mc = MACHINE_FWPATH_CLASS(oc);
+
+    mc->get_fw_dev_path = spapr_get_fw_dev_path;
+}
+
+static const TypeInfo machine_fw_info = {
+    .name          = TYPE_MACHINE_FWPATH,
+    .parent        = TYPE_INTERFACE,
+    .class_size    = sizeof(MachineFWPathClass),
+    .class_init    = machine_fw_class_init,
+};
+
+static const TypeInfo spapr_machine_info = {
+    .name          = TYPE_SPAPR_MACHINE_FWPATH,
+    .parent        = TYPE_OBJECT,
+    .interfaces = (InterfaceInfo[]) {
+            { TYPE_MACHINE_FWPATH },
+            { }
+    }
+};
+
+static void spapr_machine_register_types(void)
+{
+    type_register_static(&machine_fw_info);
+    type_register_static(&spapr_machine_info);
+}
+
+type_init(spapr_machine_register_types)
-- 
1.8.4.rc4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes
  2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes Alexey Kardashevskiy
@ 2013-12-10  9:21   ` Paolo Bonzini
  2013-12-11  3:56     ` Alexey Kardashevskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2013-12-10  9:21 UTC (permalink / raw)
  To: Alexey Kardashevskiy
  Cc: qemu-ppc, qemu-devel, Andreas Färber, Alexander Graf

Il 10/12/2013 08:32, Alexey Kardashevskiy ha scritto:
> As suffixes do not make sense for sPAPR's device tree and
> there is no way to filter them out on the BusState::get_fw_dev_path
> level, let's add an ability for the external caller to specify
> whether to apply suffixes or not.
> 
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>

SeaBIOS simply ignores unknown suffixes once it has recognized a part of
the path.  Could SLOF do the same?

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes
  2013-12-10  9:21   ` Paolo Bonzini
@ 2013-12-11  3:56     ` Alexey Kardashevskiy
  0 siblings, 0 replies; 8+ messages in thread
From: Alexey Kardashevskiy @ 2013-12-11  3:56 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Gleb Natapov, qemu-devel, Alexander Graf, Paul Mackerras,
	qemu-ppc, Andreas Färber

On 12/10/2013 08:21 PM, Paolo Bonzini wrote:
> Il 10/12/2013 08:32, Alexey Kardashevskiy ha scritto:
>> As suffixes do not make sense for sPAPR's device tree and
>> there is no way to filter them out on the BusState::get_fw_dev_path
>> level, let's add an ability for the external caller to specify
>> whether to apply suffixes or not.
>>
>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> 
> SeaBIOS simply ignores unknown suffixes once it has recognized a part of
> the path.  Could SLOF do the same?

SeaBIOS does not need it. SLOF does not need it either. Who does need it?
What is it for after all? Commit 1ca4d09ae0bcc2fdd6aeef0fdc11f82394f7e757
"Add bootindex parameter to net/block/fd device" does not explain that at all.

SLOF cannot just ignore this, why? It is a part of a path, it should parse
tree to find the node OR if it fails, find the closest matching node and
pass the rest of the path as a package parameter. And we do not really plan
to implement this (no use) as this is purely QEMU stuff which we do not
really want to carry to SLOF.

I'd stick to my original patch (please :) ) or add yet another Interface
just to ignore the suffix or method (ugly as it will be called from a place
different than hw/core/qdev.c).


-- 
Alexey

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-12-11  3:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-10  7:32 [Qemu-devel] [PATCH v3 0/5] spapr: add bootindex support Alexey Kardashevskiy
2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 1/5] boot: extend get_boot_devices_list() to ignore suffixes Alexey Kardashevskiy
2013-12-10  9:21   ` Paolo Bonzini
2013-12-11  3:56     ` Alexey Kardashevskiy
2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 2/5] spapr-llan: add to boot device list Alexey Kardashevskiy
2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 3/5] spapr-vio: fix firmware names Alexey Kardashevskiy
2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 4/5] qdev: introduce get_fw_dev_path() callback Alexey Kardashevskiy
2013-12-10  7:32 ` [Qemu-devel] [PATCH v3 5/5] spapr: define interface to fix device pathname Alexey Kardashevskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).