From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCHv1] xen-blkback: default to X86_32 ABI on x86
Date: Thu, 5 Feb 2015 14:44:50 -0500 [thread overview]
Message-ID: <20150205194449.GH11646@x230.dumpdata.com> (raw)
In-Reply-To: <1423156196-27117-1-git-send-email-david.vrabel@citrix.com>
On Thu, Feb 05, 2015 at 05:09:56PM +0000, David Vrabel wrote:
> Prior to the existance of 64-bit backends using the X86_64 ABI,
> frontends used the X86_32 ABI. These old frontends do not specify the
> ABI and when used with a 64-bit backend do not work.
Whoa. How old are we talking? I had been using RHEL5 guests and
those work OK (64bit dom0, 32-bit domU).
>
> On x86, default to the X86_32 ABI if one is not specified. Backends
> on ARM continue to default to their NATIVE ABI.
>
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> ---
> drivers/block/xen-blkback/common.h | 9 +++++++++
> drivers/block/xen-blkback/xenbus.c | 4 ++--
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
> index f65b807..78b0411 100644
> --- a/drivers/block/xen-blkback/common.h
> +++ b/drivers/block/xen-blkback/common.h
> @@ -214,6 +214,15 @@ enum blkif_protocol {
> BLKIF_PROTOCOL_X86_64 = 3,
> };
>
> +/*
> + * Default protocol if the frontend doesn't specify one.
> + */
> +#ifdef CONFIG_X86
> +# define BLKIF_PROTOCOL_DEFAULT BLKIF_PROTOCOL_X86_32
> +#else
> +# define BLKIF_PROTOCOL_DEFAULT BLKIF_PROTOCOL_NATIVE
> +#endif
> +
> struct xen_vbd {
> /* What the domain refers to this vbd as. */
> blkif_vdev_t handle;
> diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
> index 630a489..e3afe97 100644
> --- a/drivers/block/xen-blkback/xenbus.c
> +++ b/drivers/block/xen-blkback/xenbus.c
> @@ -868,11 +868,11 @@ static int connect_ring(struct backend_info *be)
> return err;
> }
>
> - be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
> + be->blkif->blk_protocol = BLKIF_PROTOCOL_DEFAULT;
> err = xenbus_gather(XBT_NIL, dev->otherend, "protocol",
> "%63s", protocol, NULL);
> if (err)
> - strcpy(protocol, "unspecified, assuming native");
> + strcpy(protocol, "unspecified, assuming default");
> else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_NATIVE))
> be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
> else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_32))
> --
> 1.7.10.4
>
next prev parent reply other threads:[~2015-02-05 19:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 17:09 [PATCHv1] xen-blkback: default to X86_32 ABI on x86 David Vrabel
2015-02-05 19:44 ` Konrad Rzeszutek Wilk [this message]
2015-02-06 10:22 ` David Vrabel
2015-02-09 12:24 ` Roger Pau Monné
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=20150205194449.GH11646@x230.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=xen-devel@lists.xenproject.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.