All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hu Tao <hutao@cn.fujitsu.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 1/5] range: add Range structure
Date: Fri, 31 May 2013 10:41:03 +0800	[thread overview]
Message-ID: <20130531024103.GG9509@localhost.localdomain> (raw)
In-Reply-To: <1369911913-10934-2-git-send-email-mst@redhat.com>

On Thu, May 30, 2013 at 02:07:16PM +0300, Michael S. Tsirkin wrote:
> Sometimes we need to pass ranges around, add a
> handy structure for this purpose.
> 
> Note: memory.c defines its own concept of AddrRange structure for
> working with 128 addresses.  It's necessary there for doing range math.
> This is not needed for most users: struct Range is
> much simpler, and is only used for passing the range around.
> 
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>  include/qemu/range.h | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/include/qemu/range.h b/include/qemu/range.h
> index 3502372..b76cc0d 100644
> --- a/include/qemu/range.h
> +++ b/include/qemu/range.h
> @@ -1,6 +1,22 @@
>  #ifndef QEMU_RANGE_H
>  #define QEMU_RANGE_H
>  
> +#include <inttypes.h>
> +
> +/*
> + * Operations on 64 bit address ranges.
> + * Notes:
> + *   - ranges must not wrap around 0, but can include the last byte ~0x0LL.
> + *   - this can not represent a full 0 to ~0x0LL range.
> + */
> +
> +/* A structure representing a range of addresses. */
> +struct Range {
> +    uint64_t begin; /* First byte of the range, or 0 if empty. */

I don't understand, can't a range start from 0?

> +    uint64_t end;   /* 1 + the last byte. 0 if range empty or ends at ~0x0LL. */

How to tell from the two? Instead I suggest this be a length field,
whereas 0 means empty.

> +};
> +typedef struct Range Range;
> +
>  /* Get last byte of a range from offset + length.
>   * Undefined for ranges that wrap around 0. */
>  static inline uint64_t range_get_last(uint64_t offset, uint64_t len)
> -- 
> MST
> 

  reply	other threads:[~2013-05-31  2:41 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-30 11:07 [Qemu-devel] [PATCH v2 0/5] pc: pass pci window data to guests Michael S. Tsirkin
2013-05-30 11:07 ` [Qemu-devel] [PATCH v2 1/5] range: add Range structure Michael S. Tsirkin
2013-05-31  2:41   ` Hu Tao [this message]
2013-05-30 11:07 ` [Qemu-devel] [PATCH v2 2/5] pci: store PCI hole ranges in guestinfo structure Michael S. Tsirkin
2013-05-30 12:16   ` Gerd Hoffmann
2013-05-30 12:19     ` Michael S. Tsirkin
2013-05-30 12:32       ` Gerd Hoffmann
2013-05-30 12:55         ` Michael S. Tsirkin
2013-05-31  5:43           ` Gerd Hoffmann
2013-05-30 12:25   ` Laszlo Ersek
2013-05-30 12:45     ` Michael S. Tsirkin
2013-05-31  3:26   ` Hu Tao
2013-05-30 11:07 ` [Qemu-devel] [PATCH v2 3/5] pc: pass PCI hole ranges to Guests Michael S. Tsirkin
2013-05-30 11:07 ` [Qemu-devel] [PATCH v2 4/5] pc: add 1.6 compat type Michael S. Tsirkin
2013-05-30 15:55   ` Andreas Färber
2013-05-30 17:40     ` Michael S. Tsirkin
2013-05-30 11:07 ` [Qemu-devel] [PATCH v2 5/5] pc: pci-info add compat support Michael S. Tsirkin
2013-05-30 16:32   ` Laszlo Ersek
2013-05-30 17:39     ` Michael S. Tsirkin

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=20130531024103.GG9509@localhost.localdomain \
    --to=hutao@cn.fujitsu.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.