From: Anthony PERARD <anthony.perard@citrix.com>
To: Paul Durrant <paul.durrant@citrix.com>
Cc: xen-devel@lists.xenproject.org, qemu-devel@nongnu.org,
Stefano Stabellini <sstabellini@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Eduardo Habkost <ehabkost@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/5] xen: create wrappers for all other uses of xc_hvm_XXX() functions
Date: Wed, 1 Mar 2017 16:13:41 +0000 [thread overview]
Message-ID: <20170301161340.GD1760@perard.uk.xensource.com> (raw)
In-Reply-To: <1487861635-17560-4-git-send-email-paul.durrant@citrix.com>
On Thu, Feb 23, 2017 at 02:53:53PM +0000, Paul Durrant wrote:
> This patch creates inline wrapper functions in xen_common.h for all open
> coded calls to xc_hvm_XXX() functions outside of xen_common.h so that use
> of xen_xc can be made implicit. This again is in preparation for the move
> to using libxendevicemodel.
>
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
> ---
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 1e08b98..31cf25f 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -26,6 +26,50 @@ extern xc_interface *xen_xc;
> * We don't support Xen prior to 4.2.0.
> */
>
> +static inline int xen_set_mem_type(domid_t domid, hvmmem_type_t type,
> + uint64_t first_pfn, uint32_t nr)
> +{
I don't know if it matters from where the functions are called, but
here, xc_hvm_set_mem_type takes a "uint64_t nr" (and not uint32_t).
> + return xc_hvm_set_mem_type(xen_xc, domid, type, first_pfn, nr);
> +}
> +
> +static inline int xen_set_pci_intx_level(domid_t domid, uint16_t segment,
> + uint8_t bus, uint8_t device,
> + uint8_t intx, unsigned int level)
> +{
> + return xc_hvm_set_pci_intx_level(xen_xc, domid, segment, bus, device,
> + intx, level);
> +}
> +
> +static inline int xen_set_pci_link_route(domid_t domid, uint8_t link,
> + uint8_t irq)
> +{
> + return xc_hvm_set_pci_link_route(xen_xc, domid, link, irq);
> +}
> +
> +static inline int xen_inject_msi(domid_t domid, uint64_t msi_addr,
> + uint32_t msi_data)
> +{
> + return xc_hvm_inject_msi(xen_xc, domid, msi_addr, msi_data);
> +}
> +
> +static inline int xen_set_isa_irq_level(domid_t domid, uint8_t irq,
> + unsigned int level)
> +{
> + return xc_hvm_set_isa_irq_level(xen_xc, domid, irq, level);
> +}
> +
> +static inline int xen_track_dirty_vram(domid_t domid, uint64_t first_pfn,
> + uint32_t nr, unsigned long *bitmap)
> +{
Same here.
> + return xc_hvm_track_dirty_vram(xen_xc, domid, first_pfn, nr, bitmap);
> +}
> +
> +static inline int xen_modified_memory(domid_t domid, uint64_t first_pfn,
> + uint32_t nr)
> +{
And here.
> + return xc_hvm_modified_memory(xen_xc, domid, first_pfn, nr);
> +}
> +
> /* Xen 4.2 through 4.6 */
> #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 471
>
The rest looks good.
--
Anthony PERARD
WARNING: multiple messages have this Message-ID (diff)
From: Anthony PERARD <anthony.perard@citrix.com>
To: Paul Durrant <paul.durrant@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Eduardo Habkost <ehabkost@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
xen-devel@lists.xenproject.org,
Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH 3/5] xen: create wrappers for all other uses of xc_hvm_XXX() functions
Date: Wed, 1 Mar 2017 16:13:41 +0000 [thread overview]
Message-ID: <20170301161340.GD1760@perard.uk.xensource.com> (raw)
In-Reply-To: <1487861635-17560-4-git-send-email-paul.durrant@citrix.com>
On Thu, Feb 23, 2017 at 02:53:53PM +0000, Paul Durrant wrote:
> This patch creates inline wrapper functions in xen_common.h for all open
> coded calls to xc_hvm_XXX() functions outside of xen_common.h so that use
> of xen_xc can be made implicit. This again is in preparation for the move
> to using libxendevicemodel.
>
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
> ---
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 1e08b98..31cf25f 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -26,6 +26,50 @@ extern xc_interface *xen_xc;
> * We don't support Xen prior to 4.2.0.
> */
>
> +static inline int xen_set_mem_type(domid_t domid, hvmmem_type_t type,
> + uint64_t first_pfn, uint32_t nr)
> +{
I don't know if it matters from where the functions are called, but
here, xc_hvm_set_mem_type takes a "uint64_t nr" (and not uint32_t).
> + return xc_hvm_set_mem_type(xen_xc, domid, type, first_pfn, nr);
> +}
> +
> +static inline int xen_set_pci_intx_level(domid_t domid, uint16_t segment,
> + uint8_t bus, uint8_t device,
> + uint8_t intx, unsigned int level)
> +{
> + return xc_hvm_set_pci_intx_level(xen_xc, domid, segment, bus, device,
> + intx, level);
> +}
> +
> +static inline int xen_set_pci_link_route(domid_t domid, uint8_t link,
> + uint8_t irq)
> +{
> + return xc_hvm_set_pci_link_route(xen_xc, domid, link, irq);
> +}
> +
> +static inline int xen_inject_msi(domid_t domid, uint64_t msi_addr,
> + uint32_t msi_data)
> +{
> + return xc_hvm_inject_msi(xen_xc, domid, msi_addr, msi_data);
> +}
> +
> +static inline int xen_set_isa_irq_level(domid_t domid, uint8_t irq,
> + unsigned int level)
> +{
> + return xc_hvm_set_isa_irq_level(xen_xc, domid, irq, level);
> +}
> +
> +static inline int xen_track_dirty_vram(domid_t domid, uint64_t first_pfn,
> + uint32_t nr, unsigned long *bitmap)
> +{
Same here.
> + return xc_hvm_track_dirty_vram(xen_xc, domid, first_pfn, nr, bitmap);
> +}
> +
> +static inline int xen_modified_memory(domid_t domid, uint64_t first_pfn,
> + uint32_t nr)
> +{
And here.
> + return xc_hvm_modified_memory(xen_xc, domid, first_pfn, nr);
> +}
> +
> /* Xen 4.2 through 4.6 */
> #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 471
>
The rest looks good.
--
Anthony PERARD
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-03-01 16:14 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-23 14:53 [Qemu-devel] [PATCH 0/5] xen: use new xendevicemodel library Paul Durrant
2017-02-23 14:53 ` Paul Durrant
2017-02-23 14:53 ` [Qemu-devel] [PATCH 1/5] xen: make use of xen_xc implicit in xen_common.h inlines Paul Durrant
2017-02-23 14:53 ` Paul Durrant
2017-03-01 15:19 ` [Qemu-devel] " Anthony PERARD
2017-03-01 15:19 ` Anthony PERARD
2017-02-23 14:53 ` [Qemu-devel] [PATCH 2/5] xen: rename xen_modified_memory() to xen_hvm_modified_memory() Paul Durrant
2017-02-23 14:53 ` Paul Durrant
2017-03-01 15:24 ` [Qemu-devel] " Anthony PERARD
2017-03-01 15:24 ` Anthony PERARD
2017-02-23 14:53 ` [PATCH 3/5] xen: create wrappers for all other uses of xc_hvm_XXX() functions Paul Durrant
2017-02-23 14:53 ` [Qemu-devel] " Paul Durrant
2017-03-01 16:13 ` Anthony PERARD [this message]
2017-03-01 16:13 ` Anthony PERARD
2017-03-01 16:16 ` [Qemu-devel] " Paul Durrant
2017-03-01 16:16 ` Paul Durrant
2017-03-02 10:44 ` [Qemu-devel] " Anthony PERARD
2017-03-02 10:44 ` Anthony PERARD
2017-02-23 14:53 ` [Qemu-devel] [PATCH 4/5] configure: detect presence of libxendevicemodel Paul Durrant
2017-02-23 14:53 ` Paul Durrant
2017-03-01 17:17 ` [Qemu-devel] " Anthony PERARD
2017-03-01 17:17 ` Anthony PERARD
2017-03-02 9:06 ` [Qemu-devel] " Paul Durrant
2017-03-02 9:06 ` Paul Durrant
2017-03-02 10:54 ` [Qemu-devel] " Anthony PERARD
2017-03-02 10:54 ` Anthony PERARD
2017-03-02 10:55 ` [Qemu-devel] " Paul Durrant
2017-03-02 10:55 ` Paul Durrant
2017-03-02 11:01 ` [Qemu-devel] [Xen-devel] " Juergen Gross
2017-03-02 11:01 ` Juergen Gross
2017-03-02 11:06 ` [Qemu-devel] [Xen-devel] " Paul Durrant
2017-03-02 11:06 ` Paul Durrant
2017-03-02 11:26 ` [Qemu-devel] [Xen-devel] " Juergen Gross
2017-03-02 11:26 ` Juergen Gross
2017-02-23 14:53 ` [Qemu-devel] [PATCH 5/5] xen: use libxendevicemodel when available Paul Durrant
2017-02-23 14:53 ` Paul Durrant
2017-03-02 2:05 ` [Qemu-devel] " Stefano Stabellini
2017-03-02 2:05 ` Stefano Stabellini
2017-03-02 8:58 ` [Qemu-devel] " Paul Durrant
2017-03-02 8:58 ` Paul Durrant
2017-02-23 14:55 ` [Qemu-devel] [PATCH 0/5] xen: use new xendevicemodel library Paul Durrant
2017-02-23 14:55 ` Paul Durrant
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=20170301161340.GD1760@perard.uk.xensource.com \
--to=anthony.perard@citrix.com \
--cc=ehabkost@redhat.com \
--cc=mst@redhat.com \
--cc=paul.durrant@citrix.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--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.