All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: Eric Blake <eblake@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-trivial@nongnu.org, Igor Mammedov <imammedo@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	qemu-devel@nongnu.org, Stefan Weil <sw@weilnetz.de>
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v5 01/46] include: Add IEC binary prefixes in "qemu/units.h"
Date: Fri, 29 Jun 2018 16:02:36 +0100	[thread overview]
Message-ID: <20180629150236.GV27016@redhat.com> (raw)
In-Reply-To: <0822da0f-1da2-bff3-e465-57654aad7c16@amsat.org>

On Fri, Jun 29, 2018 at 11:49:51AM -0300, Philippe Mathieu-Daudé wrote:
> Hi Eric,
> 
> On 06/29/2018 09:19 AM, Eric Blake wrote:
> > On 06/28/2018 05:53 PM, Philippe Mathieu-Daudé wrote:
> > 
> >>>>> +#ifndef QEMU_UNITS_H
> >>>>> +#define QEMU_UNITS_H
> >>>>> +
> >>>>> +#define KiB     (INT64_C(1) << 10)
> >>>>> +#define MiB     (INT64_C(1) << 20)
> >>>>> +#define GiB     (INT64_C(1) << 30)
> >>>>> +#define TiB     (INT64_C(1) << 40)
> >>>>> +#define PiB     (INT64_C(1) << 50)
> >>>>> +#define EiB     (INT64_C(1) << 60)
> >>>> Shouldn't above use UINT64_C()
> >>>
> >>> Since the decision of signed vs. unsigned was intentional based on
> >>> review on earlier versions, it may be worth a comment in this file that
> >>> these constants are intentionally signed (in usage patterns, these tend
> >>> to be multiplied by another value; and while it is easy to go to
> >>> unsigned by doing '1U * KiB', you can't go in the opposite direction if
> >>> you want a signed number for '1 * KiB' unless KiB is signed).
> >>
> >> OK.
> > 
> > Actually, '1U * KiB' still ends up signed.  Why? Because as written, KiB
> > is a 64-bit quantity, but 1U is 32-bit; type promotion says that since a
> > 64-bit int can represent all 32-bit unsigned values, the result of the
> > expression is still signed 64-bit.
> 
> Are you suggesting this?
> 
> #define KiB     (INT32_C(1) << 10)
> #define MiB     (INT32_C(1) << 20)
> #define GiB     (INT32_C(1) << 30)
> 
> #define TiB     (INT64_C(1) << 40)
> #define PiB     (INT64_C(1) << 50)
> #define EiB     (INT64_C(1) << 60)

This feels dangerous to me as now the calculation may or may not be 32-bit
or 64-bit depending on which constant you happen to pick. I think this
inconsistency is going to be surprising to both devs and reviewers leading
to bugs.

Did you consider just adding unsigned versions  ?  eg UKiB, UMiB, UGiB. It
is a bit ugly but is has the benefit of being obvious whether you're intending
the calculation  to be signed vs unsigned.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: Eric Blake <eblake@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-trivial@nongnu.org, Igor Mammedov <imammedo@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	qemu-devel@nongnu.org, Stefan Weil <sw@weilnetz.de>
Subject: Re: [Qemu-devel] [PATCH v5 01/46] include: Add IEC binary prefixes in "qemu/units.h"
Date: Fri, 29 Jun 2018 16:02:36 +0100	[thread overview]
Message-ID: <20180629150236.GV27016@redhat.com> (raw)
In-Reply-To: <0822da0f-1da2-bff3-e465-57654aad7c16@amsat.org>

On Fri, Jun 29, 2018 at 11:49:51AM -0300, Philippe Mathieu-Daudé wrote:
> Hi Eric,
> 
> On 06/29/2018 09:19 AM, Eric Blake wrote:
> > On 06/28/2018 05:53 PM, Philippe Mathieu-Daudé wrote:
> > 
> >>>>> +#ifndef QEMU_UNITS_H
> >>>>> +#define QEMU_UNITS_H
> >>>>> +
> >>>>> +#define KiB     (INT64_C(1) << 10)
> >>>>> +#define MiB     (INT64_C(1) << 20)
> >>>>> +#define GiB     (INT64_C(1) << 30)
> >>>>> +#define TiB     (INT64_C(1) << 40)
> >>>>> +#define PiB     (INT64_C(1) << 50)
> >>>>> +#define EiB     (INT64_C(1) << 60)
> >>>> Shouldn't above use UINT64_C()
> >>>
> >>> Since the decision of signed vs. unsigned was intentional based on
> >>> review on earlier versions, it may be worth a comment in this file that
> >>> these constants are intentionally signed (in usage patterns, these tend
> >>> to be multiplied by another value; and while it is easy to go to
> >>> unsigned by doing '1U * KiB', you can't go in the opposite direction if
> >>> you want a signed number for '1 * KiB' unless KiB is signed).
> >>
> >> OK.
> > 
> > Actually, '1U * KiB' still ends up signed.  Why? Because as written, KiB
> > is a 64-bit quantity, but 1U is 32-bit; type promotion says that since a
> > 64-bit int can represent all 32-bit unsigned values, the result of the
> > expression is still signed 64-bit.
> 
> Are you suggesting this?
> 
> #define KiB     (INT32_C(1) << 10)
> #define MiB     (INT32_C(1) << 20)
> #define GiB     (INT32_C(1) << 30)
> 
> #define TiB     (INT64_C(1) << 40)
> #define PiB     (INT64_C(1) << 50)
> #define EiB     (INT64_C(1) << 60)

This feels dangerous to me as now the calculation may or may not be 32-bit
or 64-bit depending on which constant you happen to pick. I think this
inconsistency is going to be surprising to both devs and reviewers leading
to bugs.

Did you consider just adding unsigned versions  ?  eg UKiB, UMiB, UGiB. It
is a bit ugly but is has the benefit of being obvious whether you're intending
the calculation  to be signed vs unsigned.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

  reply	other threads:[~2018-06-29 15:02 UTC|newest]

Thread overview: 191+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-25 12:41 [Qemu-trivial] [PATCH v5 00/46] Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:41 ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:41 ` [Qemu-arm] " Philippe Mathieu-Daudé
2018-06-25 12:41 ` [Qemu-trivial] [PATCH v5 01/46] include: Add IEC binary prefixes in "qemu/units.h" Philippe Mathieu-Daudé
2018-06-25 12:41   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  5:48   ` [Qemu-trivial] " Richard Henderson
2018-06-27  5:48     ` Richard Henderson
2018-06-27 11:27   ` [Qemu-trivial] " Igor Mammedov
2018-06-27 11:27     ` Igor Mammedov
2018-06-27 12:26     ` [Qemu-trivial] " Eric Blake
2018-06-27 12:26       ` Eric Blake
2018-06-28 22:53       ` [Qemu-trivial] " Philippe Mathieu-Daudé
2018-06-28 22:53         ` Philippe Mathieu-Daudé
2018-06-29 12:19         ` [Qemu-trivial] " Eric Blake
2018-06-29 12:19           ` Eric Blake
2018-06-29 14:49           ` [Qemu-trivial] " Philippe Mathieu-Daudé
2018-06-29 14:49             ` Philippe Mathieu-Daudé
2018-06-29 15:02             ` Daniel P. Berrangé [this message]
2018-06-29 15:02               ` Daniel P. Berrangé
2018-06-29 17:03               ` [Qemu-trivial] " Eric Blake
2018-06-29 17:03                 ` Eric Blake
2018-06-25 12:41 ` [Qemu-trivial] [PATCH v5 02/46] vdi: Use definitions from "qemu/units.h" Philippe Mathieu-Daudé
2018-06-25 12:41   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  5:48   ` [Qemu-trivial] " Richard Henderson
2018-06-27  5:48     ` Richard Henderson
2018-06-25 12:41 ` [Qemu-trivial] [PATCH v5 03/46] x86/cpu: " Philippe Mathieu-Daudé
2018-06-25 12:41   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  5:49   ` [Qemu-trivial] " Richard Henderson
2018-06-27  5:49     ` Richard Henderson
2018-06-25 12:41 ` [Qemu-devel] [PATCH v5 04/46] checkpatch: Recognize IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-29 20:41   ` Eric Blake
2018-06-29 21:46     ` Joe Perches
2018-07-02 12:37       ` Paolo Bonzini
2018-07-02 14:45         ` Joe Perches
2018-06-25 12:41 ` [Qemu-trivial] [PATCH v5 05/46] hw: Use IEC binary prefix definitions from "qemu/units.h" Philippe Mathieu-Daudé
2018-06-25 12:41   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:41   ` Philippe Mathieu-Daudé
2018-06-27  5:57   ` [Qemu-trivial] " Richard Henderson
2018-06-27  5:57     ` Richard Henderson
2018-06-27  5:57     ` [Qemu-arm] " Richard Henderson
2018-06-25 12:41 ` [Qemu-trivial] [PATCH v5 06/46] hw: Directly use "qemu/units.h" instead of "qemu/cutils.h" Philippe Mathieu-Daudé
2018-06-25 12:41   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:41   ` Philippe Mathieu-Daudé
2018-06-27  6:04   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:04     ` Richard Henderson
2018-06-25 12:41 ` [Qemu-trivial] [PATCH v5 07/46] hw/ivshmem: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:41   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 08/46] hw/ipack: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 09/46] hw/scsi: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:05   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:05     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 10/46] hw/smbios: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:09   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:09     ` Richard Henderson
2018-06-27 14:03   ` [Qemu-trivial] " Igor Mammedov
2018-06-27 14:03     ` Igor Mammedov
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 11/46] hw/xen: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42   ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 12/46] hw/tpm: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 11:24   ` [Qemu-trivial] " Igor Mammedov
2018-06-27 11:24     ` [Qemu-devel] " Igor Mammedov
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 13/46] hw/block: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:12   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:12     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 14/46] hw/display: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42   ` Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 15/46] hw/misc: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:13   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:13     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 16/46] hw/riscv: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 17/46] hw/m68k: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 18/46] hw/sparc: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:14   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:14     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 19/46] hw/s390x: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 13:07   ` [Qemu-trivial] " Cornelia Huck
2018-06-25 13:07     ` [Qemu-devel] " Cornelia Huck
2018-06-25 13:16     ` [Qemu-trivial] " David Hildenbrand
2018-06-25 13:16       ` [Qemu-devel] " David Hildenbrand
2018-06-25 14:21       ` [Qemu-trivial] " Cornelia Huck
2018-06-25 14:21         ` [Qemu-devel] " Cornelia Huck
2018-06-25 13:19     ` [Qemu-trivial] " Philippe Mathieu-Daudé
2018-06-25 13:19       ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 21/46] hw/xtensa: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 22/46] hw/alpha: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:18   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:18     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 23/46] hw/tricore: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 24/46] hw/microblaze: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:19   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:19     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 25/46] hw/nios2: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:59   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:59     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 26/46] hw/cris: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  6:59   ` [Qemu-trivial] " Richard Henderson
2018-06-27  6:59     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 27/46] hw/lm32: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 28/46] hw/sh4: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  7:00   ` [Qemu-trivial] " Richard Henderson
2018-06-27  7:00     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 29/46] hw/mips/r4k: Constify params_size Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 13:48   ` [Qemu-trivial] " Thomas Huth
2018-06-27 13:48     ` Thomas Huth
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 30/46] hw/mips: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 32/46] hw/ppc: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 34/46] hw/net: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42   ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 35/46] hw/usb: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  7:04   ` [Qemu-trivial] " Richard Henderson
2018-06-27  7:04     ` Richard Henderson
2018-06-27 13:03     ` [Qemu-trivial] " Philippe Mathieu-Daudé
2018-06-27 13:03       ` Philippe Mathieu-Daudé
2018-06-27 13:47       ` [Qemu-trivial] " Richard Henderson
2018-06-27 13:47         ` Richard Henderson
2018-06-27 14:43         ` [Qemu-trivial] " Philippe Mathieu-Daudé
2018-06-27 14:43           ` Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 36/46] hw/sd: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  7:19   ` [Qemu-trivial] " Richard Henderson
2018-06-27  7:19     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 37/46] hw/vfio: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27  7:26   ` [Qemu-trivial] " Richard Henderson
2018-06-27  7:26     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 38/46] hw/virtio: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 39/46] hw/rdma: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 40/46] cutils: Do not include "qemu/units.h" directly Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 41/46] hw/ppc: Use the IEC binary prefix definitions Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-26  0:48   ` [Qemu-trivial] " David Gibson
2018-06-26  0:48     ` [Qemu-devel] " David Gibson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 42/46] monitor: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 14:39   ` [Qemu-trivial] " Richard Henderson
2018-06-27 14:39     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 43/46] vl: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 14:40   ` [Qemu-trivial] " Richard Henderson
2018-06-27 14:40     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 44/46] tests/crypto: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 14:41   ` [Qemu-trivial] " Richard Henderson
2018-06-27 14:41     ` Richard Henderson
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 45/46] linux-user: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 14:42   ` [Qemu-trivial] " Richard Henderson
2018-06-27 14:42     ` Richard Henderson
2018-06-27 18:50   ` [Qemu-trivial] " Laurent Vivier
2018-06-27 18:50     ` Laurent Vivier
2018-06-25 12:42 ` [Qemu-trivial] [PATCH v5 46/46] bsd-user: " Philippe Mathieu-Daudé
2018-06-25 12:42   ` [Qemu-devel] " Philippe Mathieu-Daudé
2018-06-27 14:42   ` [Qemu-trivial] " Richard Henderson
2018-06-27 14:42     ` Richard Henderson
2018-06-26  1:08 ` [Qemu-trivial] [PATCH v5 00/46] " Michael S. Tsirkin
2018-06-26  1:08   ` [Qemu-devel] " Michael S. Tsirkin
2018-06-26  1:08   ` [Qemu-arm] " Michael S. Tsirkin
     [not found] ` <20180625124238.25339-34-f4bug@amsat.org>
2018-06-27 14:01   ` [Qemu-trivial] [PATCH v5 33/46] hw/i386: " Igor Mammedov
2018-06-27 14:01     ` [Qemu-devel] " Igor Mammedov
2018-06-29 14:08 ` [Qemu-trivial] [Qemu-block] [PATCH v5 00/46] " Paolo Bonzini
2018-06-29 14:08   ` [Qemu-devel] " Paolo Bonzini
2018-06-29 14:08   ` [Qemu-arm] " Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180629150236.GV27016@redhat.com \
    --to=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=imammedo@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=sw@weilnetz.de \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.