From: Elena <elena.ufimtseva@oracle.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: eduardo@habkost.net, john.g.johnson@oracle.com,
cohuck@redhat.com, jag.raman@oracle.com, john.levon@nutanix.com,
eblake@redhat.com, david@redhat.com, qemu-devel@nongnu.org,
peterx@redhat.com, mst@redhat.com, berrange@redhat.com,
stefanha@redhat.com, pbonzini@redhat.com, philmd@redhat.com
Subject: Re: [RFC 4/8] ioregionfd: Introduce IORegionDFObject type
Date: Tue, 15 Feb 2022 10:19:27 -0800 [thread overview]
Message-ID: <20220215181927.GC33858@nuker> (raw)
In-Reply-To: <874k55o6rc.fsf@pond.sub.org>
On Fri, Feb 11, 2022 at 02:46:47PM +0100, Markus Armbruster wrote:
> Elena Ufimtseva <elena.ufimtseva@oracle.com> writes:
>
> > Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
>
> [...]
>
> > diff --git a/qapi/qom.json b/qapi/qom.json
> > index eeb5395ff3..439fb94c93 100644
> > --- a/qapi/qom.json
> > +++ b/qapi/qom.json
> > @@ -689,6 +689,29 @@
> > 'data': { 'chardev': 'str',
> > '*log': 'str' } }
> >
> > +##
> > +# @IORegionFDObjectProperties:
> > +#
> > +# Describes ioregionfd for the device
> > +#
> > +# @devid: the id of the device to be associated with the ioregionfd
> > +#
> > +# @iofd: File descriptor
> > +#
> > +# @bar: BAR number to use with ioregionfd
> > +#
> > +# @start: offset from the BAR start address of ioregionfd
> > +#
> > +# @size: size of the ioregionfd
> > +##
> > +# Since: 2.9
> > +{ 'struct': 'IORegionFDObjectProperties',
> > + 'data': { 'devid': 'str',
> > + 'iofd': 'str',
> > + 'bar': 'int',
> > + '*start': 'int',
> > + '*size':'int' } }
>
> Should these three be 'uint32' to match struct IORegionFD?
>
That is right, I will fix this.
Thank you Markus.
> > +
> > ##
> > # @RemoteObjectProperties:
> > #
> > @@ -842,8 +865,10 @@
> > 'tls-creds-psk',
> > 'tls-creds-x509',
> > 'tls-cipher-suites',
> > - { 'name': 'x-remote-object', 'features': [ 'unstable' ] }
> > - ] }
> > + { 'name': 'x-remote-object', 'features': [ 'unstable' ] },
> > + { 'name' :'ioregionfd-object',
> > + 'if': 'CONFIG_IOREGIONFD' }
> > + ] }
> >
> > ##
> > # @ObjectOptions:
> > @@ -905,7 +930,8 @@
> > 'tls-creds-psk': 'TlsCredsPskProperties',
> > 'tls-creds-x509': 'TlsCredsX509Properties',
> > 'tls-cipher-suites': 'TlsCredsProperties',
> > - 'x-remote-object': 'RemoteObjectProperties'
> > + 'x-remote-object': 'RemoteObjectProperties',
> > + 'ioregionfd-object': 'IORegionFDObjectProperties'
> > } }
> >
> > ##
> > diff --git a/include/hw/remote/ioregionfd.h b/include/hw/remote/ioregionfd.h
> > new file mode 100644
> > index 0000000000..c8a8b32ee0
> > --- /dev/null
> > +++ b/include/hw/remote/ioregionfd.h
> > @@ -0,0 +1,40 @@
> > +/*
> > + * Ioregionfd headers
> > + *
> > + * Copyright © 2018, 2022 Oracle and/or its affiliates.
> > + *
> > + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> > + * See the COPYING file in the top-level directory.
> > + *
> > + */
> > +
> > +#ifndef IOREGIONFD_H
> > +#define IOREGIONFD_H
> > +
> > +#define PCI_BARS_NR 6
> > +
> > +typedef struct {
> > + uint64_t val;
> > + bool memory;
> > +} IORegionFDOp;
> > +
> > +typedef struct {
> > + int fd;
> > + char *devid;
> > + uint32_t bar;
> > + uint32_t start;
> > + uint32_t size;
> > + bool memory;
> > +} IORegionFD;
> > +
> > +struct IORegionFDObject {
> > + /* private */
> > + Object parent;
> > +
> > + IORegionFD ioregfd;
> > + QTAILQ_ENTRY(IORegionFDObject) next;
> > +};
> > +
> > +typedef struct IORegionFDObject IORegionFDObject;
> > +
> > +#endif /* IOREGIONFD_H */
>
> [...]
>
next prev parent reply other threads:[~2022-02-15 18:24 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-08 7:22 [RFC 0/8] ioregionfd introduction Elena Ufimtseva
2022-02-08 7:22 ` [RFC 1/8] ioregionfd: introduce a syscall and memory API Elena Ufimtseva
2022-02-16 12:19 ` David Hildenbrand
2022-02-08 7:22 ` [RFC 2/8] multiprocess: place RemoteObject definition in a header file Elena Ufimtseva
2022-02-08 7:22 ` [RFC 3/8] ioregionfd: introduce memory API functions Elena Ufimtseva
2022-02-14 14:32 ` Stefan Hajnoczi
2022-02-08 7:22 ` [RFC 4/8] ioregionfd: Introduce IORegionDFObject type Elena Ufimtseva
2022-02-11 13:46 ` Markus Armbruster
2022-02-15 18:19 ` Elena [this message]
2022-02-14 14:37 ` Stefan Hajnoczi
2022-02-15 18:18 ` Elena
2022-02-16 11:08 ` Stefan Hajnoczi
2022-02-08 7:22 ` [RFC 5/8] multiprocess: prepare ioregionfds for remote device Elena Ufimtseva
2022-02-08 7:22 ` [RFC 6/8] multiprocess: add MPQEMU_CMD_BAR_INFO Elena Ufimtseva
2022-02-08 7:22 ` [RFC 7/8] multiprocess: add ioregionfd memory region in proxy Elena Ufimtseva
2022-02-08 7:22 ` [RFC 8/8] multiprocess: handle ioregionfd commands Elena Ufimtseva
2022-02-09 10:33 ` [RFC 0/8] ioregionfd introduction Stefan Hajnoczi
2022-02-14 14:52 ` Stefan Hajnoczi
2022-02-15 18:16 ` Elena
2022-02-16 11:20 ` Stefan Hajnoczi
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=20220215181927.GC33858@nuker \
--to=elena.ufimtseva@oracle.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=jag.raman@oracle.com \
--cc=john.g.johnson@oracle.com \
--cc=john.levon@nutanix.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).