[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC v2 08/18] target/i386: sev: Remove redundant handle field
From: |
David Gibson |
Subject: |
[RFC v2 08/18] target/i386: sev: Remove redundant handle field |
Date: |
Thu, 21 May 2020 13:42:54 +1000 |
The user can explicitly specify a handle via the "handle" property wired
to SevGuestState::handle. That gets passed to the KVM_SEV_LAUNCH_START
ioctl() which may update it, the final value being copied back to both
SevGuestState::handle and SEVState::handle.
AFAICT, nothing will be looking SEVState::handle before it and
SevGuestState::handle have been updated from the ioctl(). So, remove the
field and just use SevGuestState::handle directly.
Signed-off-by: David Gibson <address@hidden>
---
target/i386/sev.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/target/i386/sev.c b/target/i386/sev.c
index 4b261beaa7..24e2dea9b8 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -40,7 +40,6 @@ struct SEVState {
uint8_t api_minor;
uint8_t build_id;
uint64_t me_mask;
- uint32_t handle;
int sev_fd;
SevState state;
gchar *measurement;
@@ -64,13 +63,13 @@ struct SevGuestState {
/* configuration parameters */
char *sev_device;
uint32_t policy;
- uint32_t handle;
char *dh_cert_file;
char *session_file;
uint32_t cbitpos;
uint32_t reduced_phys_bits;
/* runtime state */
+ uint32_t handle;
SEVState state;
};
@@ -398,7 +397,7 @@ sev_get_info(void)
info->build_id = sev_guest->state.build_id;
info->policy = sev_guest->policy;
info->state = sev_guest->state.state;
- info->handle = sev_guest->state.handle;
+ info->handle = sev_guest->handle;
}
return info;
@@ -517,8 +516,7 @@ sev_launch_start(SevGuestState *sev)
start = g_new0(struct kvm_sev_launch_start, 1);
- start->handle = object_property_get_int(OBJECT(sev), "handle",
- &error_abort);
+ start->handle = sev->handle;
start->policy = sev->policy;
if (sev->session_file) {
if (sev_read_file_base64(sev->session_file, &session, &sz) < 0) {
@@ -544,10 +542,8 @@ sev_launch_start(SevGuestState *sev)
goto out;
}
- object_property_set_int(OBJECT(sev), start->handle, "handle",
- &error_abort);
sev_set_guest_state(sev, SEV_STATE_LAUNCH_UPDATE);
- s->handle = start->handle;
+ sev->handle = start->handle;
ret = 0;
out:
--
2.26.2
- [RFC v2 04/18] target/i386: sev: Embed SEVState in SevGuestState, (continued)
- [RFC v2 04/18] target/i386: sev: Embed SEVState in SevGuestState, David Gibson, 2020/05/20
- [RFC v2 07/18] target/i386: sev: Remove redundant policy field, David Gibson, 2020/05/20
- [RFC v2 11/18] guest memory protection: Handle memory encrption via interface, David Gibson, 2020/05/20
- [RFC v2 09/18] target/i386: sev: Unify SEVState and SevGuestState, David Gibson, 2020/05/20
- [RFC v2 03/18] target/i386: sev: Rename QSevGuestInfo, David Gibson, 2020/05/20
- [RFC v2 05/18] target/i386: sev: Partial cleanup to sev_state global, David Gibson, 2020/05/20
- [RFC v2 08/18] target/i386: sev: Remove redundant handle field,
David Gibson <=
- [RFC v2 12/18] guest memory protection: Perform KVM init via interface, David Gibson, 2020/05/20
- [RFC v2 13/18] guest memory protection: Move side effect out of machine_set_memory_encryption(), David Gibson, 2020/05/20
- [RFC v2 15/18] guest memory protection: Decouple kvm_memcrypt_*() helpers from KVM, David Gibson, 2020/05/20
- [RFC v2 06/18] target/i386: sev: Remove redundant cbitpos and reduced_phys_bits fields, David Gibson, 2020/05/20
- [RFC v2 14/18] guest memory protection: Rework the "memory-encryption" property, David Gibson, 2020/05/20
- [RFC v2 17/18] spapr: Added PEF based guest memory protection, David Gibson, 2020/05/20
- [RFC v2 10/18] guest memory protection: Add guest memory protection interface, David Gibson, 2020/05/20