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 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.