qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
@ 2015-02-27 13:55 Markus Armbruster
  2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-02-27 13:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: agraf, mst

Markus Armbruster (2):
  virtio-s390: s390_virtio_device_init() can't fail, simplify
  virtio-s390: Convert to realize()

 hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
 hw/s390x/s390-virtio-bus.h |  2 +-
 2 files changed, 56 insertions(+), 43 deletions(-)

-- 
1.9.3

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

* [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify
  2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
@ 2015-02-27 13:55 ` Markus Armbruster
  2015-02-27 13:55 ` [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize() Markus Armbruster
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-02-27 13:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: agraf, mst

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/s390x/s390-virtio-bus.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 39dc201..f69ff11 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -111,7 +111,8 @@ VirtIOS390Bus *s390_virtio_bus_init(ram_addr_t *ram_size)
     return bus;
 }
 
-static int s390_virtio_device_init(VirtIOS390Device *dev, VirtIODevice *vdev)
+static void s390_virtio_device_init(VirtIOS390Device *dev,
+                                    VirtIODevice *vdev)
 {
     VirtIOS390Bus *bus;
     int dev_len;
@@ -135,8 +136,6 @@ static int s390_virtio_device_init(VirtIOS390Device *dev, VirtIODevice *vdev)
     if (dev->qdev.hotplugged) {
         s390_virtio_irq(VIRTIO_PARAM_DEV_ADD, dev->dev_offs);
     }
-
-    return 0;
 }
 
 static int s390_virtio_net_init(VirtIOS390Device *s390_dev)
@@ -153,7 +152,8 @@ static int s390_virtio_net_init(VirtIOS390Device *s390_dev)
         return -1;
     }
 
-    return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    return 0;
 }
 
 static void s390_virtio_net_instance_init(Object *obj)
@@ -174,7 +174,8 @@ static int s390_virtio_blk_init(VirtIOS390Device *s390_dev)
     if (qdev_init(vdev) < 0) {
         return -1;
     }
-    return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    return 0;
 }
 
 static void s390_virtio_blk_instance_init(Object *obj)
@@ -215,12 +216,9 @@ static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
         return -1;
     }
 
-    r = s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
-    if (!r) {
-        bus->console = s390_dev;
-    }
-
-    return r;
+    s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    bus->console = s390_dev;
+    return 0;
 }
 
 static void s390_virtio_serial_instance_init(Object *obj)
@@ -253,7 +251,8 @@ static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
         return -1;
     }
 
-    return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    return 0;
 }
 
 static void s390_virtio_scsi_instance_init(Object *obj)
@@ -275,7 +274,8 @@ static int s390_vhost_scsi_init(VirtIOS390Device *s390_dev)
         return -1;
     }
 
-    return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    return 0;
 }
 
 static void s390_vhost_scsi_instance_init(Object *obj)
@@ -302,7 +302,8 @@ static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)
                              OBJECT(dev->vdev.conf.rng), "rng",
                              NULL);
 
-    return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
+    return 0;
 }
 
 static void s390_virtio_rng_instance_init(Object *obj)
-- 
1.9.3

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

* [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize()
  2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
  2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
@ 2015-02-27 13:55 ` Markus Armbruster
  2015-03-01 15:30 ` [Qemu-devel] [PATCH 0/2] " Michael S. Tsirkin
  2015-03-02  8:04 ` Christian Borntraeger
  3 siblings, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-02-27 13:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: agraf, mst

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/s390x/s390-virtio-bus.c | 80 ++++++++++++++++++++++++++--------------------
 hw/s390x/s390-virtio-bus.h |  2 +-
 2 files changed, 47 insertions(+), 35 deletions(-)

diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index f69ff11..55a5581 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -138,22 +138,24 @@ static void s390_virtio_device_init(VirtIOS390Device *dev,
     }
 }
 
-static int s390_virtio_net_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_net_realize(VirtIOS390Device *s390_dev, Error **errp)
 {
     DeviceState *qdev = DEVICE(s390_dev);
     VirtIONetS390 *dev = VIRTIO_NET_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    Error *err = NULL;
 
     virtio_net_set_config_size(&dev->vdev, s390_dev->host_features);
     virtio_net_set_netclient_name(&dev->vdev, qdev->id,
                                   object_get_typename(OBJECT(qdev)));
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
-    if (qdev_init(vdev) < 0) {
-        return -1;
+    object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+    if (err) {
+        error_propagate(errp, err);
+        return;
     }
 
     s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
-    return 0;
 }
 
 static void s390_virtio_net_instance_init(Object *obj)
@@ -166,16 +168,19 @@ static void s390_virtio_net_instance_init(Object *obj)
                               "bootindex", &error_abort);
 }
 
-static int s390_virtio_blk_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_blk_realize(VirtIOS390Device *s390_dev, Error **errp)
 {
     VirtIOBlkS390 *dev = VIRTIO_BLK_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    Error *err = NULL;
+
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
-    if (qdev_init(vdev) < 0) {
-        return -1;
+    object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+    if (err) {
+        error_propagate(errp, err);
+        return;
     }
     s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
-    return 0;
 }
 
 static void s390_virtio_blk_instance_init(Object *obj)
@@ -190,13 +195,13 @@ static void s390_virtio_blk_instance_init(Object *obj)
                               "bootindex", &error_abort);
 }
 
-static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_serial_realize(VirtIOS390Device *s390_dev, Error **errp)
 {
     VirtIOSerialS390 *dev = VIRTIO_SERIAL_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
     DeviceState *qdev = DEVICE(s390_dev);
+    Error *err = NULL;
     VirtIOS390Bus *bus;
-    int r;
     char *bus_name;
 
     bus = DO_UPCAST(VirtIOS390Bus, bus, qdev->parent_bus);
@@ -212,13 +217,14 @@ static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
     }
 
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
-    if (qdev_init(vdev) < 0) {
-        return -1;
+    object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+    if (err) {
+        error_propagate(errp, err);
+        return;
     }
 
     s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
     bus->console = s390_dev;
-    return 0;
 }
 
 static void s390_virtio_serial_instance_init(Object *obj)
@@ -229,11 +235,12 @@ static void s390_virtio_serial_instance_init(Object *obj)
                                 TYPE_VIRTIO_SERIAL);
 }
 
-static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_scsi_realize(VirtIOS390Device *s390_dev, Error **errp)
 {
     VirtIOSCSIS390 *dev = VIRTIO_SCSI_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
     DeviceState *qdev = DEVICE(s390_dev);
+    Error *err = NULL;
     char *bus_name;
 
     /*
@@ -247,12 +254,13 @@ static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
     }
 
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
-    if (qdev_init(vdev) < 0) {
-        return -1;
+    object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+    if (err) {
+        error_propagate(errp, err);
+        return;
     }
 
     s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
-    return 0;
 }
 
 static void s390_virtio_scsi_instance_init(Object *obj)
@@ -264,18 +272,20 @@ static void s390_virtio_scsi_instance_init(Object *obj)
 }
 
 #ifdef CONFIG_VHOST_SCSI
-static int s390_vhost_scsi_init(VirtIOS390Device *s390_dev)
+static void s390_vhost_scsi_realize(VirtIOS390Device *s390_dev, Error **errp)
 {
     VHostSCSIS390 *dev = VHOST_SCSI_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    Error *err = NULL;
 
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
-    if (qdev_init(vdev) < 0) {
-        return -1;
+    object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+    if (err) {
+        error_propagate(errp, err);
+        return;
     }
 
     s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
-    return 0;
 }
 
 static void s390_vhost_scsi_instance_init(Object *obj)
@@ -288,14 +298,17 @@ static void s390_vhost_scsi_instance_init(Object *obj)
 #endif
 
 
-static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)
+static void s390_virtio_rng_realize(VirtIOS390Device *s390_dev, Error **errp)
 {
     VirtIORNGS390 *dev = VIRTIO_RNG_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    Error *err = NULL;
 
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
-    if (qdev_init(vdev) < 0) {
-        return -1;
+    object_property_set_bool(OBJECT(vdev), true, "realized", &err);
+    if (err) {
+        error_propagate(errp, err);
+        return;
     }
 
     object_property_set_link(OBJECT(dev),
@@ -303,7 +316,6 @@ static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)
                              NULL);
 
     s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));
-    return 0;
 }
 
 static void s390_virtio_rng_instance_init(Object *obj)
@@ -510,7 +522,7 @@ static void s390_virtio_net_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
 
-    k->init = s390_virtio_net_init;
+    k->realize = s390_virtio_net_realize;
     dc->props = s390_virtio_net_properties;
 }
 
@@ -526,7 +538,7 @@ static void s390_virtio_blk_class_init(ObjectClass *klass, void *data)
 {
     VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
 
-    k->init = s390_virtio_blk_init;
+    k->realize = s390_virtio_blk_realize;
 }
 
 static const TypeInfo s390_virtio_blk = {
@@ -546,7 +558,7 @@ static void s390_virtio_serial_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
 
-    k->init = s390_virtio_serial_init;
+    k->realize = s390_virtio_serial_realize;
     dc->props = s390_virtio_serial_properties;
 }
 
@@ -568,7 +580,7 @@ static void s390_virtio_rng_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
 
-    k->init = s390_virtio_rng_init;
+    k->realize = s390_virtio_rng_realize;
     dc->props = s390_virtio_rng_properties;
 }
 
@@ -580,14 +592,14 @@ static const TypeInfo s390_virtio_rng = {
     .class_init    = s390_virtio_rng_class_init,
 };
 
-static int s390_virtio_busdev_init(DeviceState *dev)
+static void s390_virtio_busdev_realize(DeviceState *dev, Error **errp)
 {
     VirtIOS390Device *_dev = (VirtIOS390Device *)dev;
     VirtIOS390DeviceClass *_info = VIRTIO_S390_DEVICE_GET_CLASS(dev);
 
     virtio_s390_bus_new(&_dev->bus, sizeof(_dev->bus), _dev);
 
-    return _info->init(_dev);
+    _info->realize(_dev, errp);
 }
 
 static void s390_virtio_busdev_reset(DeviceState *dev)
@@ -601,7 +613,7 @@ static void virtio_s390_device_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
 
-    dc->init = s390_virtio_busdev_init;
+    dc->realize = s390_virtio_busdev_realize;
     dc->bus_type = TYPE_S390_VIRTIO_BUS;
     dc->reset = s390_virtio_busdev_reset;
 }
@@ -626,7 +638,7 @@ static void s390_virtio_scsi_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
 
-    k->init = s390_virtio_scsi_init;
+    k->realize = s390_virtio_scsi_realize;
     dc->props = s390_virtio_scsi_properties;
 }
 
@@ -649,7 +661,7 @@ static void s390_vhost_scsi_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     VirtIOS390DeviceClass *k = VIRTIO_S390_DEVICE_CLASS(klass);
 
-    k->init = s390_vhost_scsi_init;
+    k->realize = s390_vhost_scsi_realize;
     dc->props = s390_vhost_scsi_properties;
 }
 
diff --git a/hw/s390x/s390-virtio-bus.h b/hw/s390x/s390-virtio-bus.h
index ffd0df7..b8b1e48 100644
--- a/hw/s390x/s390-virtio-bus.h
+++ b/hw/s390x/s390-virtio-bus.h
@@ -81,7 +81,7 @@ typedef struct VirtIOS390Device VirtIOS390Device;
 
 typedef struct VirtIOS390DeviceClass {
     DeviceClass qdev;
-    int (*init)(VirtIOS390Device *dev);
+    void (*realize)(VirtIOS390Device *dev, Error **errp);
 } VirtIOS390DeviceClass;
 
 struct VirtIOS390Device {
-- 
1.9.3

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

* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
  2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
  2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
  2015-02-27 13:55 ` [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize() Markus Armbruster
@ 2015-03-01 15:30 ` Michael S. Tsirkin
  2015-03-02  8:04 ` Christian Borntraeger
  3 siblings, 0 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2015-03-01 15:30 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: qemu-devel, agraf

On Fri, Feb 27, 2015 at 02:55:35PM +0100, Markus Armbruster wrote:
> Markus Armbruster (2):
>   virtio-s390: s390_virtio_device_init() can't fail, simplify
>   virtio-s390: Convert to realize()


Acked-by: Michael S. Tsirkin <mst@redhat.com>

But please merge this in the s390 tree.


>  hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
>  hw/s390x/s390-virtio-bus.h |  2 +-
>  2 files changed, 56 insertions(+), 43 deletions(-)
> 
> -- 
> 1.9.3

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

* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
  2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
                   ` (2 preceding siblings ...)
  2015-03-01 15:30 ` [Qemu-devel] [PATCH 0/2] " Michael S. Tsirkin
@ 2015-03-02  8:04 ` Christian Borntraeger
  2015-03-11 19:25   ` Markus Armbruster
  3 siblings, 1 reply; 7+ messages in thread
From: Christian Borntraeger @ 2015-03-02  8:04 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: agraf, mst

Am 27.02.2015 um 14:55 schrieb Markus Armbruster:
> Markus Armbruster (2):
>   virtio-s390: s390_virtio_device_init() can't fail, simplify
>   virtio-s390: Convert to realize()
> 
>  hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
>  hw/s390x/s390-virtio-bus.h |  2 +-
>  2 files changed, 56 insertions(+), 43 deletions(-)
> 

Applied. Thanks.

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

* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
  2015-03-02  8:04 ` Christian Borntraeger
@ 2015-03-11 19:25   ` Markus Armbruster
  2015-03-11 19:27     ` Markus Armbruster
  0 siblings, 1 reply; 7+ messages in thread
From: Markus Armbruster @ 2015-03-11 19:25 UTC (permalink / raw)
  To: Christian Borntraeger; +Cc: mst, qemu-devel, agraf

Christian Borntraeger <borntraeger@de.ibm.com> writes:

> Am 27.02.2015 um 14:55 schrieb Markus Armbruster:
>> Markus Armbruster (2):
>>   virtio-s390: s390_virtio_device_init() can't fail, simplify
>>   virtio-s390: Convert to realize()
>> 
>>  hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
>>  hw/s390x/s390-virtio-bus.h |  2 +-
>>  2 files changed, 56 insertions(+), 43 deletions(-)
>> 
>
> Applied. Thanks.

Can you take "[PATCH] virtio-ccw: Convert to realize()" as well?

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

* Re: [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize()
  2015-03-11 19:25   ` Markus Armbruster
@ 2015-03-11 19:27     ` Markus Armbruster
  0 siblings, 0 replies; 7+ messages in thread
From: Markus Armbruster @ 2015-03-11 19:27 UTC (permalink / raw)
  To: Christian Borntraeger; +Cc: mst, qemu-devel, agraf

Markus Armbruster <armbru@redhat.com> writes:

> Christian Borntraeger <borntraeger@de.ibm.com> writes:
>
>> Am 27.02.2015 um 14:55 schrieb Markus Armbruster:
>>> Markus Armbruster (2):
>>>   virtio-s390: s390_virtio_device_init() can't fail, simplify
>>>   virtio-s390: Convert to realize()
>>> 
>>>  hw/s390x/s390-virtio-bus.c | 97 ++++++++++++++++++++++++++--------------------
>>>  hw/s390x/s390-virtio-bus.h |  2 +-
>>>  2 files changed, 56 insertions(+), 43 deletions(-)
>>> 
>>
>> Applied. Thanks.
>
> Can you take "[PATCH] virtio-ccw: Convert to realize()" as well?

Nevermind, all of them just landed in master.  Thanks!

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

end of thread, other threads:[~2015-03-11 19:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-27 13:55 [Qemu-devel] [PATCH 0/2] virtio-s390: Convert to realize() Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 1/2] virtio-s390: s390_virtio_device_init() can't fail, simplify Markus Armbruster
2015-02-27 13:55 ` [Qemu-devel] [PATCH 2/2] virtio-s390: Convert to realize() Markus Armbruster
2015-03-01 15:30 ` [Qemu-devel] [PATCH 0/2] " Michael S. Tsirkin
2015-03-02  8:04 ` Christian Borntraeger
2015-03-11 19:25   ` Markus Armbruster
2015-03-11 19:27     ` Markus Armbruster

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).