* [PULL v2 00/33] x86 and misc changes for 2021-09-28
@ 2021-09-30 14:57 Paolo Bonzini
2021-09-30 14:57 ` [PULL v2 17/33] hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly Paolo Bonzini
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Paolo Bonzini @ 2021-09-30 14:57 UTC (permalink / raw)
To: qemu-devel
The following changes since commit ba0fa56bc06e563de68d2a2bf3ddb0cfea1be4f9:
Merge remote-tracking branch 'remotes/vivier/tags/q800-for-6.2-pull-request' into staging (2021-09-29 21:20:49 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to c1de5858bd39b299d3d8baec38b0376bed7f19e8:
meson_options.txt: Switch the default value for the vnc option to 'auto' (2021-09-30 15:30:25 +0200)
----------------------------------------------------------------
* SGX implementation for x86
* Miscellaneous bugfixes
* Fix dependencies from ROMs to qtests
----------------------------------------------------------------
Marc-André Lureau (1):
build-sys: add HAVE_IPPROTO_MPTCP
Paolo Bonzini (2):
meson: unpack edk2 firmware even if --disable-blobs
tests: qtest: bios-tables-test depends on the unpacked edk2 ROMs
Peter Maydell (1):
target/i386: Fix memory leak in sev_read_file_base64()
Peter Xu (2):
memory: Name all the memory listeners
memory: Add tracepoint for dirty sync
Sean Christopherson (21):
memory: Add RAM_PROTECTED flag to skip IOMMU mappings
hostmem: Add hostmem-epc as a backend for SGX EPC
i386: Add 'sgx-epc' device to expose EPC sections to guest
vl: Add sgx compound properties to expose SGX EPC sections to guest
i386: Add primary SGX CPUID and MSR defines
i386: Add SGX CPUID leaf FEAT_SGX_12_0_EAX
i386: Add SGX CPUID leaf FEAT_SGX_12_0_EBX
i386: Add SGX CPUID leaf FEAT_SGX_12_1_EAX
i386: Add get/set/migrate support for SGX_LEPUBKEYHASH MSRs
i386: Add feature control MSR dependency when SGX is enabled
i386: Update SGX CPUID info according to hardware/KVM/user input
i386: kvm: Add support for exposing PROVISIONKEY to guest
i386: Propagate SGX CPUID sub-leafs to KVM
Adjust min CPUID level to 0x12 when SGX is enabled
hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly
hw/i386/pc: Account for SGX EPC sections when calculating device memory
i386/pc: Add e820 entry for SGX EPC section(s)
i386: acpi: Add SGX EPC entry to ACPI tables
q35: Add support for SGX EPC
i440fx: Add support for SGX EPC
docs/system: Add SGX documentation to the system manual
Thomas Huth (1):
meson_options.txt: Switch the default value for the vnc option to 'auto'
Yang Zhong (5):
Kconfig: Add CONFIG_SGX support
qom: Add memory-backend-epc ObjectOptions support
sgx-epc: Add the fill_device_info() callback support
target/i386: Add HMP and QMP interfaces for SGX
target/i386: Add the query-sgx-capabilities QMP command
accel/hvf/hvf-accel-ops.c | 1 +
accel/kvm/kvm-all.c | 7 +-
backends/hostmem-epc.c | 82 ++++++++++++++
backends/meson.build | 1 +
configs/devices/i386-softmmu/default.mak | 1 +
docs/system/i386/sgx.rst | 165 +++++++++++++++++++++++++++
docs/system/target-i386.rst | 1 +
hmp-commands-info.hx | 15 +++
hw/i386/Kconfig | 5 +
hw/i386/acpi-build.c | 22 ++++
hw/i386/fw_cfg.c | 12 +-
hw/i386/meson.build | 2 +
hw/i386/pc.c | 15 ++-
hw/i386/pc_piix.c | 1 +
hw/i386/pc_q35.c | 1 +
hw/i386/sgx-epc.c | 184 +++++++++++++++++++++++++++++++
hw/i386/sgx-stub.c | 26 +++++
hw/i386/sgx.c | 170 ++++++++++++++++++++++++++++
hw/i386/x86.c | 29 +++++
hw/i386/xen/xen-hvm.c | 2 +
hw/intc/openpic_kvm.c | 1 +
hw/remote/proxy-memory-listener.c | 1 +
hw/vfio/common.c | 2 +
hw/vfio/spapr.c | 1 +
hw/virtio/vhost-vdpa.c | 1 +
hw/virtio/vhost.c | 2 +
hw/virtio/virtio.c | 1 +
hw/xen/xen_pt.c | 2 +
include/exec/memory.h | 23 +++-
include/hw/i386/hostmem-epc.h | 28 +++++
include/hw/i386/pc.h | 6 +
include/hw/i386/sgx-epc.h | 67 +++++++++++
include/hw/i386/sgx.h | 12 ++
include/hw/i386/x86.h | 1 +
include/monitor/hmp-target.h | 1 +
include/sysemu/kvm_int.h | 2 +-
io/dns-resolver.c | 2 +-
meson.build | 18 +--
meson_options.txt | 2 +-
monitor/hmp-cmds.c | 10 ++
pc-bios/descriptors/meson.build | 4 +-
pc-bios/meson.build | 5 +-
qapi/machine.json | 63 ++++++++++-
qapi/misc-target.json | 61 ++++++++++
qapi/qom.json | 19 ++++
qapi/sockets.json | 2 +-
qemu-options.hx | 10 +-
softmmu/memory.c | 7 ++
softmmu/physmem.c | 4 +-
softmmu/trace-events | 1 +
target/arm/kvm.c | 1 +
target/i386/cpu.c | 167 +++++++++++++++++++++++++++-
target/i386/cpu.h | 16 +++
target/i386/hax/hax-mem.c | 1 +
target/i386/kvm/kvm.c | 77 ++++++++++++-
target/i386/kvm/kvm_i386.h | 2 +
target/i386/machine.c | 20 ++++
target/i386/monitor.c | 32 ++++++
target/i386/nvmm/nvmm-all.c | 1 +
target/i386/sev.c | 2 +-
target/i386/whpx/whpx-all.c | 1 +
tests/qtest/meson.build | 6 +-
tests/qtest/qmp-cmd-test.c | 2 +
util/qemu-sockets.c | 6 +-
64 files changed, 1397 insertions(+), 38 deletions(-)
create mode 100644 backends/hostmem-epc.c
create mode 100644 docs/system/i386/sgx.rst
create mode 100644 hw/i386/sgx-epc.c
create mode 100644 hw/i386/sgx-stub.c
create mode 100644 hw/i386/sgx.c
create mode 100644 include/hw/i386/hostmem-epc.h
create mode 100644 include/hw/i386/sgx-epc.h
create mode 100644 include/hw/i386/sgx.h
--
2.31.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PULL v2 17/33] hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly
2021-09-30 14:57 [PULL v2 00/33] x86 and misc changes for 2021-09-28 Paolo Bonzini
@ 2021-09-30 14:57 ` Paolo Bonzini
2021-09-30 20:15 ` [PULL v2 00/33] x86 and misc changes for 2021-09-28 Peter Maydell
2021-10-02 0:38 ` Richard Henderson
2 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2021-09-30 14:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Yang Zhong, Sean Christopherson
From: Sean Christopherson <sean.j.christopherson@intel.com>
Request SGX an SGX Launch Control to be enabled in FEATURE_CONTROL
when the features are exposed to the guest. Our design is the SGX
Launch Control bit will be unconditionally set in FEATURE_CONTROL,
which is unlike host bios.
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20210719112136.57018-17-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/i386/fw_cfg.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/hw/i386/fw_cfg.c b/hw/i386/fw_cfg.c
index 4e68d5dea4..a283785a8d 100644
--- a/hw/i386/fw_cfg.c
+++ b/hw/i386/fw_cfg.c
@@ -159,7 +159,7 @@ void fw_cfg_build_feature_control(MachineState *ms, FWCfgState *fw_cfg)
{
X86CPU *cpu = X86_CPU(ms->possible_cpus->cpus[0].cpu);
CPUX86State *env = &cpu->env;
- uint32_t unused, ecx, edx;
+ uint32_t unused, ebx, ecx, edx;
uint64_t feature_control_bits = 0;
uint64_t *val;
@@ -174,6 +174,16 @@ void fw_cfg_build_feature_control(MachineState *ms, FWCfgState *fw_cfg)
feature_control_bits |= FEATURE_CONTROL_LMCE;
}
+ if (env->cpuid_level >= 7) {
+ cpu_x86_cpuid(env, 0x7, 0, &unused, &ebx, &ecx, &unused);
+ if (ebx & CPUID_7_0_EBX_SGX) {
+ feature_control_bits |= FEATURE_CONTROL_SGX;
+ }
+ if (ecx & CPUID_7_0_ECX_SGX_LC) {
+ feature_control_bits |= FEATURE_CONTROL_SGX_LC;
+ }
+ }
+
if (!feature_control_bits) {
return;
}
--
2.31.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PULL v2 00/33] x86 and misc changes for 2021-09-28
2021-09-30 14:57 [PULL v2 00/33] x86 and misc changes for 2021-09-28 Paolo Bonzini
2021-09-30 14:57 ` [PULL v2 17/33] hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly Paolo Bonzini
@ 2021-09-30 20:15 ` Peter Maydell
2021-10-02 0:38 ` Richard Henderson
2 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2021-09-30 20:15 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Thu, 30 Sept 2021 at 16:00, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit ba0fa56bc06e563de68d2a2bf3ddb0cfea1be4f9:
>
> Merge remote-tracking branch 'remotes/vivier/tags/q800-for-6.2-pull-request' into staging (2021-09-29 21:20:49 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to c1de5858bd39b299d3d8baec38b0376bed7f19e8:
>
> meson_options.txt: Switch the default value for the vnc option to 'auto' (2021-09-30 15:30:25 +0200)
>
> ----------------------------------------------------------------
> * SGX implementation for x86
> * Miscellaneous bugfixes
> * Fix dependencies from ROMs to qtests
>
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/6.2
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PULL v2 00/33] x86 and misc changes for 2021-09-28
2021-09-30 14:57 [PULL v2 00/33] x86 and misc changes for 2021-09-28 Paolo Bonzini
2021-09-30 14:57 ` [PULL v2 17/33] hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly Paolo Bonzini
2021-09-30 20:15 ` [PULL v2 00/33] x86 and misc changes for 2021-09-28 Peter Maydell
@ 2021-10-02 0:38 ` Richard Henderson
2021-10-02 10:09 ` Peter Maydell
2 siblings, 1 reply; 6+ messages in thread
From: Richard Henderson @ 2021-10-02 0:38 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
On 9/30/21 10:57 AM, Paolo Bonzini wrote:
> The following changes since commit ba0fa56bc06e563de68d2a2bf3ddb0cfea1be4f9:
>
> Merge remote-tracking branch 'remotes/vivier/tags/q800-for-6.2-pull-request' into staging (2021-09-29 21:20:49 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to c1de5858bd39b299d3d8baec38b0376bed7f19e8:
>
> meson_options.txt: Switch the default value for the vnc option to 'auto' (2021-09-30 15:30:25 +0200)
Applied, thanks
r~
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PULL v2 00/33] x86 and misc changes for 2021-09-28
2021-10-02 0:38 ` Richard Henderson
@ 2021-10-02 10:09 ` Peter Maydell
2021-10-02 12:57 ` Richard Henderson
0 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2021-10-02 10:09 UTC (permalink / raw)
To: Richard Henderson; +Cc: Paolo Bonzini, QEMU Developers
On Sat, 2 Oct 2021 at 01:41, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 9/30/21 10:57 AM, Paolo Bonzini wrote:
> > The following changes since commit ba0fa56bc06e563de68d2a2bf3ddb0cfea1be4f9:
> >
> > Merge remote-tracking branch 'remotes/vivier/tags/q800-for-6.2-pull-request' into staging (2021-09-29 21:20:49 +0100)
> >
> > are available in the Git repository at:
> >
> > https://gitlab.com/bonzini/qemu.git tags/for-upstream
> >
> > for you to fetch changes up to c1de5858bd39b299d3d8baec38b0376bed7f19e8:
> >
> > meson_options.txt: Switch the default value for the vnc option to 'auto' (2021-09-30 15:30:25 +0200)
>
> Applied, thanks
Uh, I'd already done this one :-)
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PULL v2 00/33] x86 and misc changes for 2021-09-28
2021-10-02 10:09 ` Peter Maydell
@ 2021-10-02 12:57 ` Richard Henderson
0 siblings, 0 replies; 6+ messages in thread
From: Richard Henderson @ 2021-10-02 12:57 UTC (permalink / raw)
To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers
On 10/2/21 6:09 AM, Peter Maydell wrote:
> On Sat, 2 Oct 2021 at 01:41, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>>
>> On 9/30/21 10:57 AM, Paolo Bonzini wrote:
>>> The following changes since commit ba0fa56bc06e563de68d2a2bf3ddb0cfea1be4f9:
>>>
>>> Merge remote-tracking branch 'remotes/vivier/tags/q800-for-6.2-pull-request' into staging (2021-09-29 21:20:49 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>>>
>>> for you to fetch changes up to c1de5858bd39b299d3d8baec38b0376bed7f19e8:
>>>
>>> meson_options.txt: Switch the default value for the vnc option to 'auto' (2021-09-30 15:30:25 +0200)
>>
>> Applied, thanks
>
> Uh, I'd already done this one :-)
I seem to have replied to the wrong cover. How odd.
r~
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-10-02 13:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-30 14:57 [PULL v2 00/33] x86 and misc changes for 2021-09-28 Paolo Bonzini
2021-09-30 14:57 ` [PULL v2 17/33] hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly Paolo Bonzini
2021-09-30 20:15 ` [PULL v2 00/33] x86 and misc changes for 2021-09-28 Peter Maydell
2021-10-02 0:38 ` Richard Henderson
2021-10-02 10:09 ` Peter Maydell
2021-10-02 12:57 ` Richard Henderson
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.