All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/3] tags/xen-20161021-tag
@ 2016-10-21 20:06 ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell; +Cc: sstabellini, qemu-devel, xen-devel, anthony.perard

The following changes since commit b49e452fe994f8fbcd22bf5a87b79a2355481318:

  Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20160921' into staging (2016-10-21 13:49:58 +0100)

are available in the git repository at:


  git://xenbits.xen.org/people/sstabellini/qemu-dm.git tags/xen-20161021-tag

for you to fetch changes up to 35132016dc1c27de2b1354b161df6cc22f3ac5bf:

  xen_platform: SUSE xenlinux unplug for emulated PCI (2016-10-21 12:11:38 -0700)

----------------------------------------------------------------
Xen 2016/10/21

----------------------------------------------------------------
Olaf Hering (2):
      xen_platform: unplug also SCSI disks
      xen_platform: SUSE xenlinux unplug for emulated PCI

Stefano Stabellini (1):
      xen-usb: do not reference PAGE_SIZE

 hw/i386/xen/xen_platform.c | 31 ++++++++++++++++++++++++++++++-
 hw/usb/xen-usb.c           |  4 ++--
 2 files changed, 32 insertions(+), 3 deletions(-)

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

* [PULL 0/3] tags/xen-20161021-tag
@ 2016-10-21 20:06 ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell; +Cc: anthony.perard, xen-devel, sstabellini, qemu-devel

The following changes since commit b49e452fe994f8fbcd22bf5a87b79a2355481318:

  Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20160921' into staging (2016-10-21 13:49:58 +0100)

are available in the git repository at:


  git://xenbits.xen.org/people/sstabellini/qemu-dm.git tags/xen-20161021-tag

for you to fetch changes up to 35132016dc1c27de2b1354b161df6cc22f3ac5bf:

  xen_platform: SUSE xenlinux unplug for emulated PCI (2016-10-21 12:11:38 -0700)

----------------------------------------------------------------
Xen 2016/10/21

----------------------------------------------------------------
Olaf Hering (2):
      xen_platform: unplug also SCSI disks
      xen_platform: SUSE xenlinux unplug for emulated PCI

Stefano Stabellini (1):
      xen-usb: do not reference PAGE_SIZE

 hw/i386/xen/xen_platform.c | 31 ++++++++++++++++++++++++++++++-
 hw/usb/xen-usb.c           |  4 ++--
 2 files changed, 32 insertions(+), 3 deletions(-)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [Qemu-devel] [PULL 1/3] xen-usb: do not reference PAGE_SIZE
  2016-10-21 20:06 ` Stefano Stabellini
@ 2016-10-21 20:06   ` Stefano Stabellini
  -1 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell; +Cc: sstabellini, qemu-devel, xen-devel, anthony.perard

PAGE_SIZE is undefined on ARM64. Use XC_PAGE_SIZE instead, which is
always 4096 even when page granularity is 64K.

For this to actually work with 64K pages, more changes are required.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
---
 hw/usb/xen-usb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 174d715..de2ebd6 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -160,7 +160,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
     for (i = 0; i < nr_segs; i++) {
         if ((unsigned)usbback_req->req.seg[i].offset +
-            (unsigned)usbback_req->req.seg[i].length > PAGE_SIZE) {
+            (unsigned)usbback_req->req.seg[i].length > XC_PAGE_SIZE) {
             xen_be_printf(xendev, 0, "segment crosses page boundary\n");
             return -EINVAL;
         }
@@ -183,7 +183,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
         for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
             seg = usbback_req->req.seg + i;
-            addr = usbback_req->buffer + i * PAGE_SIZE + seg->offset;
+            addr = usbback_req->buffer + i * XC_PAGE_SIZE + seg->offset;
             qemu_iovec_add(&usbback_req->packet.iov, addr, seg->length);
         }
     }
-- 
1.9.1

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

* [PULL 1/3] xen-usb: do not reference PAGE_SIZE
@ 2016-10-21 20:06   ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell; +Cc: anthony.perard, xen-devel, sstabellini, qemu-devel

PAGE_SIZE is undefined on ARM64. Use XC_PAGE_SIZE instead, which is
always 4096 even when page granularity is 64K.

For this to actually work with 64K pages, more changes are required.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
---
 hw/usb/xen-usb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 174d715..de2ebd6 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -160,7 +160,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
     for (i = 0; i < nr_segs; i++) {
         if ((unsigned)usbback_req->req.seg[i].offset +
-            (unsigned)usbback_req->req.seg[i].length > PAGE_SIZE) {
+            (unsigned)usbback_req->req.seg[i].length > XC_PAGE_SIZE) {
             xen_be_printf(xendev, 0, "segment crosses page boundary\n");
             return -EINVAL;
         }
@@ -183,7 +183,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
         for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
             seg = usbback_req->req.seg + i;
-            addr = usbback_req->buffer + i * PAGE_SIZE + seg->offset;
+            addr = usbback_req->buffer + i * XC_PAGE_SIZE + seg->offset;
             qemu_iovec_add(&usbback_req->packet.iov, addr, seg->length);
         }
     }
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [Qemu-devel] [PULL 2/3] xen_platform: unplug also SCSI disks
  2016-10-21 20:06   ` Stefano Stabellini
@ 2016-10-21 20:06     ` Stefano Stabellini
  -1 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell
  Cc: sstabellini, qemu-devel, xen-devel, anthony.perard, Olaf Hering

From: Olaf Hering <olaf@aepfle.de>

Using 'vdev=sd[a-o]' will create an emulated LSI controller, which can
be used by the emulated BIOS to boot from disk. If the HVM domU has also
PV driver the disk may appear twice in the guest. To avoid this an
unplug of the emulated hardware is needed, similar to what is done for
IDE and NIC drivers already.

Since the SCSI controller provides only disks the entire controller can
be unplugged at once.

Impact of the change for classic and pvops based guest kernels:

 vdev=sda:disk0
before: pvops:   disk0=pv xvda + emulated sda
        classic: disk0=pv sda  + emulated sdq
after:  pvops:   disk0=pv xvda
        classic: disk0=pv sda

 vdev=hda:disk0, vdev=sda:disk1
before: pvops:   disk0=pv xvda
                 disk1=emulated sda
        classic: disk0=pv hda
                 disk1=pv sda  + emulated sdq
after:  pvops:   disk0=pv xvda
                 disk1=not accessible by blkfront, index hda==index sda
        classic: disk0=pv hda
                 disk1=pv sda

 vdev=hda:disk0, vdev=sda:disk1, vdev=sdb:disk2
before: pvops:   disk0=pv xvda
                 disk1=emulated sda
                 disk2=pv xvdb + emulated sdb
        classic: disk0=pv hda
                 disk1=pv sda  + emulated sdq
                 disk2=pv sdb  + emulated sdr
after:  pvops:   disk0=pv xvda
                 disk1=not accessible by blkfront, index hda==index sda
                 disk2=pv xvdb
        classic: disk0=pv hda
                 disk1=pv sda
                 disk2=pv sda

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/i386/xen/xen_platform.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index f85635c..91d8a7a 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -114,6 +114,10 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *o)
             PCI_CLASS_STORAGE_IDE
             && strcmp(d->name, "xen-pci-passthrough") != 0) {
         pci_piix3_xen_ide_unplug(DEVICE(d));
+    } else if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
+            PCI_CLASS_STORAGE_SCSI
+            && strcmp(d->name, "xen-pci-passthrough") != 0) {
+        object_unparent(OBJECT(d));
     }
 }
 
-- 
1.9.1

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

* [PULL 2/3] xen_platform: unplug also SCSI disks
@ 2016-10-21 20:06     ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell
  Cc: anthony.perard, xen-devel, Olaf Hering, sstabellini, qemu-devel

From: Olaf Hering <olaf@aepfle.de>

Using 'vdev=sd[a-o]' will create an emulated LSI controller, which can
be used by the emulated BIOS to boot from disk. If the HVM domU has also
PV driver the disk may appear twice in the guest. To avoid this an
unplug of the emulated hardware is needed, similar to what is done for
IDE and NIC drivers already.

Since the SCSI controller provides only disks the entire controller can
be unplugged at once.

Impact of the change for classic and pvops based guest kernels:

 vdev=sda:disk0
before: pvops:   disk0=pv xvda + emulated sda
        classic: disk0=pv sda  + emulated sdq
after:  pvops:   disk0=pv xvda
        classic: disk0=pv sda

 vdev=hda:disk0, vdev=sda:disk1
before: pvops:   disk0=pv xvda
                 disk1=emulated sda
        classic: disk0=pv hda
                 disk1=pv sda  + emulated sdq
after:  pvops:   disk0=pv xvda
                 disk1=not accessible by blkfront, index hda==index sda
        classic: disk0=pv hda
                 disk1=pv sda

 vdev=hda:disk0, vdev=sda:disk1, vdev=sdb:disk2
before: pvops:   disk0=pv xvda
                 disk1=emulated sda
                 disk2=pv xvdb + emulated sdb
        classic: disk0=pv hda
                 disk1=pv sda  + emulated sdq
                 disk2=pv sdb  + emulated sdr
after:  pvops:   disk0=pv xvda
                 disk1=not accessible by blkfront, index hda==index sda
                 disk2=pv xvdb
        classic: disk0=pv hda
                 disk1=pv sda
                 disk2=pv sda

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/i386/xen/xen_platform.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index f85635c..91d8a7a 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -114,6 +114,10 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *o)
             PCI_CLASS_STORAGE_IDE
             && strcmp(d->name, "xen-pci-passthrough") != 0) {
         pci_piix3_xen_ide_unplug(DEVICE(d));
+    } else if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
+            PCI_CLASS_STORAGE_SCSI
+            && strcmp(d->name, "xen-pci-passthrough") != 0) {
+        object_unparent(OBJECT(d));
     }
 }
 
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* [Qemu-devel] [PULL 3/3] xen_platform: SUSE xenlinux unplug for emulated PCI
  2016-10-21 20:06   ` Stefano Stabellini
@ 2016-10-21 20:06     ` Stefano Stabellini
  -1 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell
  Cc: sstabellini, qemu-devel, xen-devel, anthony.perard, Olaf Hering

From: Olaf Hering <olaf@aepfle.de>

Implement SUSE specific unplug protocol for emulated PCI devices
in PVonHVM guests. Its a simple 'outl(1, (ioaddr + 4));'.
This protocol was implemented and used since Xen 3.0.4.
It is used in all SUSE/SLES/openSUSE releases up to SLES11SP3 and
openSUSE 12.3.
In addition old (pre-2011) VMDP versions are handled as well.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/i386/xen/xen_platform.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 91d8a7a..2e1e543 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -311,13 +311,38 @@ static void xen_platform_ioport_writeb(void *opaque, hwaddr addr,
                                        uint64_t val, unsigned int size)
 {
     PCIXenPlatformState *s = opaque;
+    PCIDevice *pci_dev = PCI_DEVICE(s);
 
     switch (addr) {
     case 0: /* Platform flags */
         platform_fixed_ioport_writeb(opaque, 0, (uint32_t)val);
         break;
+    case 4:
+        if (val == 1) {
+            /*
+             * SUSE unplug for Xenlinux
+             * xen-kmp used this since xen-3.0.4, instead the official protocol
+             * from xen-3.3+ It did an unconditional "outl(1, (ioaddr + 4));"
+             * Pre VMDP 1.7 used 4 and 8 depending on how VMDP was configured.
+             * If VMDP was to control both disk and LAN it would use 4.
+             * If it controlled just disk or just LAN, it would use 8 below.
+             */
+            pci_unplug_disks(pci_dev->bus);
+            pci_unplug_nics(pci_dev->bus);
+        }
+        break;
     case 8:
-        log_writeb(s, (uint32_t)val);
+        switch (val) {
+        case 1:
+            pci_unplug_disks(pci_dev->bus);
+            break;
+        case 2:
+            pci_unplug_nics(pci_dev->bus);
+            break;
+        default:
+            log_writeb(s, (uint32_t)val);
+            break;
+        }
         break;
     default:
         break;
-- 
1.9.1

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

* [PULL 3/3] xen_platform: SUSE xenlinux unplug for emulated PCI
@ 2016-10-21 20:06     ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-10-21 20:06 UTC (permalink / raw)
  To: peter.maydell
  Cc: anthony.perard, xen-devel, Olaf Hering, sstabellini, qemu-devel

From: Olaf Hering <olaf@aepfle.de>

Implement SUSE specific unplug protocol for emulated PCI devices
in PVonHVM guests. Its a simple 'outl(1, (ioaddr + 4));'.
This protocol was implemented and used since Xen 3.0.4.
It is used in all SUSE/SLES/openSUSE releases up to SLES11SP3 and
openSUSE 12.3.
In addition old (pre-2011) VMDP versions are handled as well.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/i386/xen/xen_platform.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 91d8a7a..2e1e543 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -311,13 +311,38 @@ static void xen_platform_ioport_writeb(void *opaque, hwaddr addr,
                                        uint64_t val, unsigned int size)
 {
     PCIXenPlatformState *s = opaque;
+    PCIDevice *pci_dev = PCI_DEVICE(s);
 
     switch (addr) {
     case 0: /* Platform flags */
         platform_fixed_ioport_writeb(opaque, 0, (uint32_t)val);
         break;
+    case 4:
+        if (val == 1) {
+            /*
+             * SUSE unplug for Xenlinux
+             * xen-kmp used this since xen-3.0.4, instead the official protocol
+             * from xen-3.3+ It did an unconditional "outl(1, (ioaddr + 4));"
+             * Pre VMDP 1.7 used 4 and 8 depending on how VMDP was configured.
+             * If VMDP was to control both disk and LAN it would use 4.
+             * If it controlled just disk or just LAN, it would use 8 below.
+             */
+            pci_unplug_disks(pci_dev->bus);
+            pci_unplug_nics(pci_dev->bus);
+        }
+        break;
     case 8:
-        log_writeb(s, (uint32_t)val);
+        switch (val) {
+        case 1:
+            pci_unplug_disks(pci_dev->bus);
+            break;
+        case 2:
+            pci_unplug_nics(pci_dev->bus);
+            break;
+        default:
+            log_writeb(s, (uint32_t)val);
+            break;
+        }
         break;
     default:
         break;
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

* Re: [Qemu-devel] [PULL 0/3] tags/xen-20161021-tag
  2016-10-21 20:06 ` Stefano Stabellini
@ 2016-10-24 10:03   ` Peter Maydell
  -1 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2016-10-24 10:03 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: QEMU Developers, xen-devel, Anthony PERARD

On 21 October 2016 at 21:06, Stefano Stabellini <sstabellini@kernel.org> wrote:
> The following changes since commit b49e452fe994f8fbcd22bf5a87b79a2355481318:
>
>   Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20160921' into staging (2016-10-21 13:49:58 +0100)
>
> are available in the git repository at:
>
>
>   git://xenbits.xen.org/people/sstabellini/qemu-dm.git tags/xen-20161021-tag
>
> for you to fetch changes up to 35132016dc1c27de2b1354b161df6cc22f3ac5bf:
>
>   xen_platform: SUSE xenlinux unplug for emulated PCI (2016-10-21 12:11:38 -0700)
>
> ----------------------------------------------------------------
> Xen 2016/10/21
>
> ----------------------------------------------------------------
> Olaf Hering (2):
>       xen_platform: unplug also SCSI disks
>       xen_platform: SUSE xenlinux unplug for emulated PCI
>
> Stefano Stabellini (1):
>       xen-usb: do not reference PAGE_SIZE

Applied, thanks.

-- PMM

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

* Re: [PULL 0/3] tags/xen-20161021-tag
@ 2016-10-24 10:03   ` Peter Maydell
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2016-10-24 10:03 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: Anthony PERARD, xen-devel, QEMU Developers

On 21 October 2016 at 21:06, Stefano Stabellini <sstabellini@kernel.org> wrote:
> The following changes since commit b49e452fe994f8fbcd22bf5a87b79a2355481318:
>
>   Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20160921' into staging (2016-10-21 13:49:58 +0100)
>
> are available in the git repository at:
>
>
>   git://xenbits.xen.org/people/sstabellini/qemu-dm.git tags/xen-20161021-tag
>
> for you to fetch changes up to 35132016dc1c27de2b1354b161df6cc22f3ac5bf:
>
>   xen_platform: SUSE xenlinux unplug for emulated PCI (2016-10-21 12:11:38 -0700)
>
> ----------------------------------------------------------------
> Xen 2016/10/21
>
> ----------------------------------------------------------------
> Olaf Hering (2):
>       xen_platform: unplug also SCSI disks
>       xen_platform: SUSE xenlinux unplug for emulated PCI
>
> Stefano Stabellini (1):
>       xen-usb: do not reference PAGE_SIZE

Applied, thanks.

-- PMM

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

end of thread, other threads:[~2016-10-24 10:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-21 20:06 [Qemu-devel] [PULL 0/3] tags/xen-20161021-tag Stefano Stabellini
2016-10-21 20:06 ` Stefano Stabellini
2016-10-21 20:06 ` [Qemu-devel] [PULL 1/3] xen-usb: do not reference PAGE_SIZE Stefano Stabellini
2016-10-21 20:06   ` Stefano Stabellini
2016-10-21 20:06   ` [Qemu-devel] [PULL 2/3] xen_platform: unplug also SCSI disks Stefano Stabellini
2016-10-21 20:06     ` Stefano Stabellini
2016-10-21 20:06   ` [Qemu-devel] [PULL 3/3] xen_platform: SUSE xenlinux unplug for emulated PCI Stefano Stabellini
2016-10-21 20:06     ` Stefano Stabellini
2016-10-24 10:03 ` [Qemu-devel] [PULL 0/3] tags/xen-20161021-tag Peter Maydell
2016-10-24 10:03   ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.