diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-10-03 08:45:19 -0400 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2021-10-03 08:45:19 -0400 |
commit | 30bd1db58b09c12b68c35f041f919014b885482d (patch) | |
tree | 4acfdd873daa794d4144fffc2597d6f04360721f /hw | |
parent | f50ecf548c7313c27037f7b7fb8ecc5a5e89249c (diff) | |
parent | cb83ba8c1ab856b4327e7e869c410bbfd4152c2c (diff) | |
download | qemu-30bd1db58b09c12b68c35f041f919014b885482d.zip qemu-30bd1db58b09c12b68c35f041f919014b885482d.tar.gz qemu-30bd1db58b09c12b68c35f041f919014b885482d.tar.bz2 |
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
* -smp cleanpus (Yanan)
* Hyper-V enlightenment functionality (Vitaly)
* virtio-mem support in dump, tpm and QMP (David)
* NetBSD GCC 7.4 compiler support (Nia)
# gpg: Signature made Sun 03 Oct 2021 03:41:30 AM EDT
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
* remotes/bonzini/tags/for-upstream:
softmmu/memory_mapping: optimize for RamDiscardManager sections
softmmu/memory_mapping: factor out adding physical memory ranges
softmmu/memory_mapping: never merge ranges accross memory regions
tpm: mark correct memory region range dirty when clearing RAM
monitor: Rate-limit MEMORY_DEVICE_SIZE_CHANGE qapi events per device
qapi: Include qom-path in MEMORY_DEVICE_SIZE_CHANGE qapi events
virtio-mem-pci: Fix memory leak when creating MEMORY_DEVICE_SIZE_CHANGE event
configure: Loosen GCC requirement from 7.5.0 to 7.4.0
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/tpm/tpm_ppi.c | 5 | ||||
-rw-r--r-- | hw/virtio/virtio-mem-pci.c | 10 |
2 files changed, 8 insertions, 7 deletions
diff --git a/hw/tpm/tpm_ppi.c b/hw/tpm/tpm_ppi.c index 362edcc..274e9aa 100644 --- a/hw/tpm/tpm_ppi.c +++ b/hw/tpm/tpm_ppi.c @@ -30,11 +30,14 @@ void tpm_ppi_reset(TPMPPI *tpmppi) guest_phys_blocks_init(&guest_phys_blocks); guest_phys_blocks_append(&guest_phys_blocks); QTAILQ_FOREACH(block, &guest_phys_blocks.head, next) { + hwaddr mr_offs = block->host_addr - + (uint8_t *)memory_region_get_ram_ptr(block->mr); + trace_tpm_ppi_memset(block->host_addr, block->target_end - block->target_start); memset(block->host_addr, 0, block->target_end - block->target_start); - memory_region_set_dirty(block->mr, 0, + memory_region_set_dirty(block->mr, mr_offs, block->target_end - block->target_start); } guest_phys_blocks_free(&guest_phys_blocks); diff --git a/hw/virtio/virtio-mem-pci.c b/hw/virtio/virtio-mem-pci.c index fa5395c..be2383b 100644 --- a/hw/virtio/virtio-mem-pci.c +++ b/hw/virtio/virtio-mem-pci.c @@ -87,14 +87,12 @@ static void virtio_mem_pci_size_change_notify(Notifier *notifier, void *data) VirtIOMEMPCI *pci_mem = container_of(notifier, VirtIOMEMPCI, size_change_notifier); DeviceState *dev = DEVICE(pci_mem); + char *qom_path = object_get_canonical_path(OBJECT(dev)); const uint64_t * const size_p = data; - const char *id = NULL; - if (dev->id) { - id = g_strdup(dev->id); - } - - qapi_event_send_memory_device_size_change(!!id, id, *size_p); + qapi_event_send_memory_device_size_change(!!dev->id, dev->id, *size_p, + qom_path); + g_free(qom_path); } static void virtio_mem_pci_class_init(ObjectClass *klass, void *data) |