mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
target/i386: sev: Use ram_block_discard_disable()
AMD SEV will pin all guest memory, mark discarding of RAM broken. At the time this is called, we cannot have anyone active that relies on discards to work properly - let's still implement error handling. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20200626072248.78761-8-david@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
06df2e692a
commit
fee3f3baff
1 changed files with 7 additions and 0 deletions
|
@ -680,6 +680,12 @@ sev_guest_init(const char *id)
|
||||||
uint32_t host_cbitpos;
|
uint32_t host_cbitpos;
|
||||||
struct sev_user_data_status status = {};
|
struct sev_user_data_status status = {};
|
||||||
|
|
||||||
|
ret = ram_block_discard_disable(true);
|
||||||
|
if (ret) {
|
||||||
|
error_report("%s: cannot disable RAM discard", __func__);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
sev = lookup_sev_guest_info(id);
|
sev = lookup_sev_guest_info(id);
|
||||||
if (!sev) {
|
if (!sev) {
|
||||||
error_report("%s: '%s' is not a valid '%s' object",
|
error_report("%s: '%s' is not a valid '%s' object",
|
||||||
|
@ -751,6 +757,7 @@ sev_guest_init(const char *id)
|
||||||
return sev;
|
return sev;
|
||||||
err:
|
err:
|
||||||
sev_guest = NULL;
|
sev_guest = NULL;
|
||||||
|
ram_block_discard_disable(false);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue