From: Igor Mammedov <imammedo@redhat.com>
To: Yang Zhong <yang.zhong@intel.com>
Cc: "Jean-Philippe Brucker" <jean-philippe@linaro.org>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
qemu-devel@nongnu.org, "Ani Sinha" <ani@anisinha.ca>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH v4 4/4] hw/i386/sgx: Attach SGX-EPC objects to machine
Date: Mon, 14 Feb 2022 09:21:07 +0100 [thread overview]
Message-ID: <20220214092107.56d3f300@redhat.com> (raw)
In-Reply-To: <20220214065857.GA5015@yangzhon-Virtual>
On Mon, 14 Feb 2022 14:58:57 +0800
Yang Zhong <yang.zhong@intel.com> wrote:
> On Mon, Feb 07, 2022 at 09:37:52AM +0100, Igor Mammedov wrote:
> > On Sat, 5 Feb 2022 13:45:26 +0100
> > Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >
> > > Previously SGX-EPC objects were exposed in the QOM tree at a path
> > >
> > > /machine/unattached/device[nn]
> > >
> > > where the 'nn' varies depending on what devices were already created.
> > >
> > > With this change the SGX-EPC objects are now at
> > >
> > > /machine/sgx-epc[nn]
> > >
> > > where the 'nn' of the first SGX-EPC object is always zero.
> >
> > yet again, why it's necessary?
>
>
> Igor, Sorry for delay feedback because of Chinese New Year holiday.
>
> This series patches are to fix below issues I reported before,
> https://lists.nongnu.org/archive/html/qemu-devel/2021-11/msg05670.html
>
> Since the /machine/unattached/device[0] is used by vcpu and Libvirt
> use this interface to get unavailable-features list. But in the SGX
> VM, the device[0] will be occupied by virtual sgx epc device, Libvirt
> can't get unavailable-features from this device[0].
>
> Although patch 2 in this series already fixed "unavailable-features" issue,
I've seen patches on libvirt fixing "unavailable-features" in another way
without dependence on /machine/unattached/device[0].
see:
https://www.mail-archive.com/libvir-list@redhat.com/msg226244.html
> this patch can move sgx virtual device from /machine/unattached/device[nn]
> to /machine/sgx-epc[nn], which seems more clear. Thanks!
with those patches device[0] becomes non issue, and this patch also becomes
unnecessary.
I don't mind putting sgx-epc under machine, but that shall be justified
somehow. A drawback I noticed in this case is an extra manual
plumbing/wiring without apparent need for it.
PS:
general note on submitting patches.
Commit message shall
1 describe problem (+error message/way to reproduce the issue)
2 what patch does
3 and why patch fixes the issue in a certain way
commit message in this patch only does #2, without any clue
to what the problem was nor why it tries to fix it this way.
>
> Yang
>
>
> >
> > >
> > > Reported-by: Yang Zhong <yang.zhong@intel.com>
> > > Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > > ---
> > > hw/i386/sgx.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/hw/i386/sgx.c b/hw/i386/sgx.c
> > > index a2b318dd938..3ab2217ca43 100644
> > > --- a/hw/i386/sgx.c
> > > +++ b/hw/i386/sgx.c
> > > @@ -304,6 +304,8 @@ void pc_machine_init_sgx_epc(PCMachineState *pcms)
> > > for (list = x86ms->sgx_epc_list; list; list = list->next) {
> > > obj = object_new("sgx-epc");
> > >
> > > + object_property_add_child(OBJECT(pcms), "sgx-epc[*]", OBJECT(obj));
> > > +
> > > /* set the memdev link with memory backend */
> > > object_property_parse(obj, SGX_EPC_MEMDEV_PROP, list->value->memdev,
> > > &error_fatal);
>
next prev parent reply other threads:[~2022-02-14 8:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-05 12:45 [PATCH v4 0/4] hw/i386: QOM-attach CPUs/SGX-EPC objects to their parents Philippe Mathieu-Daudé via
2022-02-05 12:45 ` [PATCH v4 1/4] tests/qtest/acpi: Temporary allow VIOT table changes Philippe Mathieu-Daudé via
2022-02-05 12:45 ` [PATCH v4 2/4] hw/i386: Attach CPUs to machine Philippe Mathieu-Daudé via
2022-02-07 8:14 ` Igor Mammedov
2022-02-07 9:18 ` Igor Mammedov
2022-02-07 9:36 ` Peter Krempa
2022-02-07 9:41 ` Peter Krempa
2022-02-07 11:20 ` Ani Sinha
2022-02-07 11:28 ` Peter Krempa
2022-02-07 11:37 ` Ani Sinha
2022-02-07 10:06 ` Daniel P. Berrangé
2022-02-07 11:22 ` Igor Mammedov
2022-02-07 11:48 ` Daniel P. Berrangé
2022-02-07 13:17 ` Igor Mammedov
2022-02-07 13:51 ` Peter Maydell
2022-02-05 12:45 ` [PATCH v4 3/4] tests/qtest/acpi: Update VIOT table blob Philippe Mathieu-Daudé via
2022-02-05 12:45 ` [PATCH v4 4/4] hw/i386/sgx: Attach SGX-EPC objects to machine Philippe Mathieu-Daudé via
2022-02-07 8:37 ` Igor Mammedov
2022-02-07 8:47 ` Philippe Mathieu-Daudé via
2022-02-14 6:58 ` Yang Zhong
2022-02-14 8:21 ` Igor Mammedov [this message]
2022-02-14 10:30 ` Daniel P. Berrangé
2022-02-16 9:01 ` Igor Mammedov
2022-02-14 7:27 ` Yang Zhong
2022-02-05 16:24 ` [PATCH v4 0/4] hw/i386: QOM-attach CPUs/SGX-EPC objects to their parents Philippe Mathieu-Daudé via
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=20220214092107.56d3f300@redhat.com \
--to=imammedo@redhat.com \
--cc=ani@anisinha.ca \
--cc=berrange@redhat.com \
--cc=f4bug@amsat.org \
--cc=jean-philippe@linaro.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yang.zhong@intel.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.