Jagannathan Raman <jag.ra...@oracle.com> writes: > Define vfio-user object which is remote process server for QEMU. Setup > object initialization functions and properties necessary to instantiate > the object > > Signed-off-by: Elena Ufimtseva <elena.ufimts...@oracle.com> > Signed-off-by: John G Johnson <john.g.john...@oracle.com> > Signed-off-by: Jagannathan Raman <jag.ra...@oracle.com> > --- > qapi/qom.json | 20 +++- > include/hw/remote/machine.h | 2 + > hw/remote/machine.c | 27 +++++ > hw/remote/vfio-user-obj.c | 210 ++++++++++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > hw/remote/meson.build | 1 + > hw/remote/trace-events | 3 + > 7 files changed, 262 insertions(+), 2 deletions(-) > create mode 100644 hw/remote/vfio-user-obj.c > > diff --git a/qapi/qom.json b/qapi/qom.json > index eeb5395ff3..582def0522 100644 > --- a/qapi/qom.json > +++ b/qapi/qom.json > @@ -703,6 +703,20 @@ > { 'struct': 'RemoteObjectProperties', > 'data': { 'fd': 'str', 'devid': 'str' } } > > +## > +# @VfioUserServerProperties: > +# > +# Properties for x-vfio-user-server objects. > +# > +# @socket: socket to be used by the libvfio-user library > +# > +# @device: the id of the device to be emulated at the server
Suggest "the ID", because "id" is not a word. What kind of ID is this? The kind set with -device id=...? > +# > +# Since: 7.1 > +## > +{ 'struct': 'VfioUserServerProperties', > + 'data': { 'socket': 'SocketAddress', 'device': 'str' } } > + > ## > # @RngProperties: > # > @@ -842,7 +856,8 @@ > 'tls-creds-psk', > 'tls-creds-x509', > 'tls-cipher-suites', > - { 'name': 'x-remote-object', 'features': [ 'unstable' ] } > + { 'name': 'x-remote-object', 'features': [ 'unstable' ] }, > + { 'name': 'x-vfio-user-server', 'features': [ 'unstable' ] } > ] } > > ## > @@ -905,7 +920,8 @@ > 'tls-creds-psk': 'TlsCredsPskProperties', > 'tls-creds-x509': 'TlsCredsX509Properties', > 'tls-cipher-suites': 'TlsCredsProperties', > - 'x-remote-object': 'RemoteObjectProperties' > + 'x-remote-object': 'RemoteObjectProperties', > + 'x-vfio-user-server': 'VfioUserServerProperties' > } } > > ## [...]