[PATCH v5 04/26] qom: Add memory-backend-epc ObjectOptions support

Paolo Bonzini posted 26 patches 4 years, 4 months ago
Maintainers: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, David Hildenbrand <david@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Markus Armbruster <armbru@redhat.com>, Eric Blake <eblake@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Ani Sinha <ani@anisinha.ca>, Marcelo Tosatti <mtosatti@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <ehabkost@redhat.com>, Thomas Huth <thuth@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Peter Xu <peterx@redhat.com>
[PATCH v5 04/26] qom: Add memory-backend-epc ObjectOptions support
Posted by Paolo Bonzini 4 years, 4 months ago
From: Yang Zhong <yang.zhong@intel.com>

Add the new 'memory-backend-epc' user creatable QOM object in
the ObjectOptions to support SGX since v6.1, or the sgx backend
object cannot bootup.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20210719112136.57018-4-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 qapi/qom.json | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/qapi/qom.json b/qapi/qom.json
index a25616bc7a..0222bb4506 100644
--- a/qapi/qom.json
+++ b/qapi/qom.json
@@ -647,6 +647,23 @@
             '*hugetlbsize': 'size',
             '*seal': 'bool' } }
 
+##
+# @MemoryBackendEpcProperties:
+#
+# Properties for memory-backend-epc objects.
+#
+# The @share boolean option is true by default with epc
+#
+# The @merge boolean option is false by default with epc
+#
+# The @dump boolean option is false by default with epc
+#
+# Since: 6.2
+##
+{ 'struct': 'MemoryBackendEpcProperties',
+  'base': 'MemoryBackendProperties',
+  'data': {} }
+
 ##
 # @PrManagerHelperProperties:
 #
@@ -797,6 +814,7 @@
     { 'name': 'memory-backend-memfd',
       'if': 'CONFIG_LINUX' },
     'memory-backend-ram',
+    'memory-backend-epc',
     'pef-guest',
     'pr-manager-helper',
     'qtest',
@@ -855,6 +873,7 @@
       'memory-backend-memfd':       { 'type': 'MemoryBackendMemfdProperties',
                                       'if': 'CONFIG_LINUX' },
       'memory-backend-ram':         'MemoryBackendProperties',
+      'memory-backend-epc':         'MemoryBackendEpcProperties',
       'pr-manager-helper':          'PrManagerHelperProperties',
       'qtest':                      'QtestProperties',
       'rng-builtin':                'RngProperties',
-- 
2.31.1



Re: [PATCH v5 04/26] qom: Add memory-backend-epc ObjectOptions support
Posted by Eric Blake 4 years, 4 months ago
On Fri, Sep 24, 2021 at 01:24:47PM +0200, Paolo Bonzini wrote:
> From: Yang Zhong <yang.zhong@intel.com>
> 
> Add the new 'memory-backend-epc' user creatable QOM object in
> the ObjectOptions to support SGX since v6.1, or the sgx backend
> object cannot bootup.
> 
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Message-Id: <20210719112136.57018-4-yang.zhong@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  qapi/qom.json | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/qapi/qom.json b/qapi/qom.json
> index a25616bc7a..0222bb4506 100644
> --- a/qapi/qom.json
> +++ b/qapi/qom.json
> @@ -647,6 +647,23 @@
>              '*hugetlbsize': 'size',
>              '*seal': 'bool' } }
>  
> +##
> +# @MemoryBackendEpcProperties:
> +#
> +# Properties for memory-backend-epc objects.
> +#
> +# The @share boolean option is true by default with epc
> +#
> +# The @merge boolean option is false by default with epc
> +#
> +# The @dump boolean option is false by default with epc
> +#
> +# Since: 6.2
> +##
> +{ 'struct': 'MemoryBackendEpcProperties',
> +  'base': 'MemoryBackendProperties',
> +  'data': {} }

Is the intent to add more members to data in later patches?  Otherwise,...

> +
>  ##
>  # @PrManagerHelperProperties:
>  #
> @@ -797,6 +814,7 @@
>      { 'name': 'memory-backend-memfd',
>        'if': 'CONFIG_LINUX' },
>      'memory-backend-ram',
> +    'memory-backend-epc',
>      'pef-guest',
>      'pr-manager-helper',
>      'qtest',
> @@ -855,6 +873,7 @@
>        'memory-backend-memfd':       { 'type': 'MemoryBackendMemfdProperties',
>                                        'if': 'CONFIG_LINUX' },
>        'memory-backend-ram':         'MemoryBackendProperties',
> +      'memory-backend-epc':         'MemoryBackendEpcProperties',

...this could have just been MemoryBackendProperties.

>        'pr-manager-helper':          'PrManagerHelperProperties',
>        'qtest':                      'QtestProperties',
>        'rng-builtin':                'RngProperties',
> -- 
> 2.31.1
> 
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


Re: [PATCH v5 04/26] qom: Add memory-backend-epc ObjectOptions support
Posted by Yang Zhong 4 years, 4 months ago
On Fri, Sep 24, 2021 at 08:56:40AM -0500, Eric Blake wrote:
> On Fri, Sep 24, 2021 at 01:24:47PM +0200, Paolo Bonzini wrote:
> > From: Yang Zhong <yang.zhong@intel.com>
> > 
> > Add the new 'memory-backend-epc' user creatable QOM object in
> > the ObjectOptions to support SGX since v6.1, or the sgx backend
> > object cannot bootup.
> > 
> > Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> > Message-Id: <20210719112136.57018-4-yang.zhong@intel.com>
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
> >  qapi/qom.json | 19 +++++++++++++++++++
> >  1 file changed, 19 insertions(+)
> > 
> > diff --git a/qapi/qom.json b/qapi/qom.json
> > index a25616bc7a..0222bb4506 100644
> > --- a/qapi/qom.json
> > +++ b/qapi/qom.json
> > @@ -647,6 +647,23 @@
> >              '*hugetlbsize': 'size',
> >              '*seal': 'bool' } }
> >  
> > +##
> > +# @MemoryBackendEpcProperties:
> > +#
> > +# Properties for memory-backend-epc objects.
> > +#
> > +# The @share boolean option is true by default with epc
> > +#
> > +# The @merge boolean option is false by default with epc
> > +#
> > +# The @dump boolean option is false by default with epc
> > +#
> > +# Since: 6.2
> > +##
> > +{ 'struct': 'MemoryBackendEpcProperties',
> > +  'base': 'MemoryBackendProperties',
> > +  'data': {} }
> 
> Is the intent to add more members to data in later patches?  Otherwise,...

  No new members will be added. thanks! MemoryBackendProperties will replace this.

  Yang


> 
> > +
> >  ##
> >  # @PrManagerHelperProperties:
> >  #
> > @@ -797,6 +814,7 @@
> >      { 'name': 'memory-backend-memfd',
> >        'if': 'CONFIG_LINUX' },
> >      'memory-backend-ram',
> > +    'memory-backend-epc',
> >      'pef-guest',
> >      'pr-manager-helper',
> >      'qtest',
> > @@ -855,6 +873,7 @@
> >        'memory-backend-memfd':       { 'type': 'MemoryBackendMemfdProperties',
> >                                        'if': 'CONFIG_LINUX' },
> >        'memory-backend-ram':         'MemoryBackendProperties',
> > +      'memory-backend-epc':         'MemoryBackendEpcProperties',
> 
> ...this could have just been MemoryBackendProperties.

  Ditto, thanks!

  Yang

> 
> >        'pr-manager-helper':          'PrManagerHelperProperties',
> >        'qtest':                      'QtestProperties',
> >        'rng-builtin':                'RngProperties',
> > -- 
> > 2.31.1
> > 
> > 
> 
> -- 
> Eric Blake, Principal Software Engineer
> Red Hat, Inc.           +1-919-301-3266
> Virtualization:  qemu.org | libvirt.org