From: Thomas Huth <thuth@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel@nongnu.org,
Sean Christopherson <sean.j.christopherson@intel.com>
Cc: Yang Zhong <yang.zhong@intel.com>
Subject: Re: [PULL 05/33] i386: Add 'sgx-epc' device to expose EPC sections to guest
Date: Tue, 9 Nov 2021 15:25:00 +0100 [thread overview]
Message-ID: <32078e7f-608c-2c62-b92e-58efb6f6d241@redhat.com> (raw)
In-Reply-To: <20210928125116.183620-6-pbonzini@redhat.com>
On 28/09/2021 14.50, Paolo Bonzini wrote:
> From: Sean Christopherson <sean.j.christopherson@intel.com>
>
> SGX EPC is enumerated through CPUID, i.e. EPC "devices" need to be
> realized prior to realizing the vCPUs themselves, which occurs long
> before generic devices are parsed and realized. Because of this,
> do not allow 'sgx-epc' devices to be instantiated after vCPUS have
> been created.
>
> The 'sgx-epc' device is essentially a placholder at this time, it will
> be fully implemented in a future patch along with a dedicated command
> to create 'sgx-epc' devices.
>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Message-Id: <20210719112136.57018-5-yang.zhong@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/i386/meson.build | 1 +
> hw/i386/sgx-epc.c | 167 ++++++++++++++++++++++++++++++++++++++
> include/hw/i386/sgx-epc.h | 44 ++++++++++
> 3 files changed, 212 insertions(+)
> create mode 100644 hw/i386/sgx-epc.c
> create mode 100644 include/hw/i386/sgx-epc.h
...
> +static void sgx_epc_class_init(ObjectClass *oc, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(oc);
> + MemoryDeviceClass *mdc = MEMORY_DEVICE_CLASS(oc);
> +
> + dc->hotpluggable = false;
> + dc->realize = sgx_epc_realize;
> + dc->unrealize = sgx_epc_unrealize;
> + dc->desc = "SGX EPC section";
> + device_class_set_props(dc, sgx_epc_properties);
> +
> + mdc->get_addr = sgx_epc_md_get_addr;
> + mdc->set_addr = sgx_epc_md_set_addr;
> + mdc->get_plugged_size = sgx_epc_md_get_plugged_size;
> + mdc->get_memory_region = sgx_epc_md_get_memory_region;
> + mdc->fill_device_info = sgx_epc_md_fill_device_info;
> +}
Hi!
Our device-crash-test script reports that this new device can be used to
crash QEMU:
$ ./qemu-system-x86_64 -M none -device sgx-epc
/home/thuth/devel/qemu/include/hw/i386/pc.h:128:PC_MACHINE: Object
0x55c80d332290 is not an instance of type generic-pc-machine
Should it be marked with:
dc->user_creatable = false
?
Thomas
next prev parent reply other threads:[~2021-11-09 14:27 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-28 12:50 [PULL 00/33] x86 and misc changes for 2021-09-28 Paolo Bonzini
2021-09-28 12:50 ` [PULL 01/33] memory: Add RAM_PROTECTED flag to skip IOMMU mappings Paolo Bonzini
2021-09-28 12:50 ` [PULL 02/33] Kconfig: Add CONFIG_SGX support Paolo Bonzini
2021-09-28 12:50 ` [PULL 03/33] hostmem: Add hostmem-epc as a backend for SGX EPC Paolo Bonzini
2021-09-28 12:50 ` [PULL 04/33] qom: Add memory-backend-epc ObjectOptions support Paolo Bonzini
2021-09-28 12:50 ` [PULL 05/33] i386: Add 'sgx-epc' device to expose EPC sections to guest Paolo Bonzini
2021-11-09 14:25 ` Thomas Huth [this message]
2021-11-09 17:48 ` Paolo Bonzini
2021-11-10 6:41 ` Yang Zhong
2021-11-10 7:00 ` Thomas Huth
2021-09-28 12:50 ` [PULL 06/33] vl: Add sgx compound properties to expose SGX " Paolo Bonzini
2021-09-28 12:50 ` [PULL 07/33] i386: Add primary SGX CPUID and MSR defines Paolo Bonzini
2021-09-28 12:50 ` [PULL 08/33] i386: Add SGX CPUID leaf FEAT_SGX_12_0_EAX Paolo Bonzini
2021-09-28 12:50 ` [PULL 09/33] i386: Add SGX CPUID leaf FEAT_SGX_12_0_EBX Paolo Bonzini
2021-09-28 12:50 ` [PULL 10/33] i386: Add SGX CPUID leaf FEAT_SGX_12_1_EAX Paolo Bonzini
2021-09-28 12:50 ` [PULL 11/33] i386: Add get/set/migrate support for SGX_LEPUBKEYHASH MSRs Paolo Bonzini
2021-09-28 12:50 ` [PULL 12/33] i386: Add feature control MSR dependency when SGX is enabled Paolo Bonzini
2021-09-28 12:50 ` [PULL 13/33] i386: Update SGX CPUID info according to hardware/KVM/user input Paolo Bonzini
2021-09-28 12:50 ` [PULL 14/33] i386: kvm: Add support for exposing PROVISIONKEY to guest Paolo Bonzini
2021-09-28 12:50 ` [PULL 15/33] i386: Propagate SGX CPUID sub-leafs to KVM Paolo Bonzini
2021-09-28 12:50 ` [PULL 16/33] Adjust min CPUID level to 0x12 when SGX is enabled Paolo Bonzini
2021-09-28 12:51 ` [PULL 17/33] hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly Paolo Bonzini
2021-09-28 12:51 ` [PULL 18/33] hw/i386/pc: Account for SGX EPC sections when calculating device memory Paolo Bonzini
2021-09-28 12:51 ` [PULL 19/33] i386/pc: Add e820 entry for SGX EPC section(s) Paolo Bonzini
2021-09-28 12:51 ` [PULL 20/33] i386: acpi: Add SGX EPC entry to ACPI tables Paolo Bonzini
2021-09-28 12:51 ` [PULL 21/33] q35: Add support for SGX EPC Paolo Bonzini
2021-09-28 12:51 ` [PULL 22/33] i440fx: " Paolo Bonzini
2021-09-28 12:51 ` [PULL 23/33] sgx-epc: Add the fill_device_info() callback support Paolo Bonzini
2021-09-28 12:51 ` [PULL 24/33] docs/system: Add SGX documentation to the system manual Paolo Bonzini
2021-09-28 12:51 ` [PULL 25/33] target/i386: Add HMP and QMP interfaces for SGX Paolo Bonzini
2021-09-28 12:51 ` [PULL 26/33] target/i386: Add the query-sgx-capabilities QMP command Paolo Bonzini
2021-09-28 12:51 ` [PULL 27/33] meson: unpack edk2 firmware even if --disable-blobs Paolo Bonzini
2021-09-28 12:51 ` [PULL 28/33] tests: qtest: bios-tables-test depends on the unpacked edk2 ROMs Paolo Bonzini
2021-09-28 12:51 ` [PULL 29/33] target/i386: Fix memory leak in sev_read_file_base64() Paolo Bonzini
2021-09-28 12:51 ` [PULL 30/33] memory: Name all the memory listeners Paolo Bonzini
2021-09-28 12:51 ` [PULL 31/33] memory: Add tracepoint for dirty sync Paolo Bonzini
2021-09-28 12:51 ` [PULL 32/33] build-sys: add HAVE_IPPROTO_MPTCP Paolo Bonzini
2021-09-28 12:51 ` [PULL 33/33] meson_options.txt: Switch the default value for the vnc option to 'auto' Paolo Bonzini
2021-09-29 20:19 ` [PULL 00/33] x86 and misc changes for 2021-09-28 Peter Maydell
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=32078e7f-608c-2c62-b92e-58efb6f6d241@redhat.com \
--to=thuth@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sean.j.christopherson@intel.com \
--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 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).