]> git.proxmox.com Git - qemu.git/commit
i440fx: avoid destroying memory regions within a transaction
authorAvi Kivity <avi@redhat.com>
Wed, 17 Oct 2012 15:10:04 +0000 (17:10 +0200)
committerAvi Kivity <avi@redhat.com>
Wed, 17 Oct 2012 15:10:04 +0000 (17:10 +0200)
commit2725aec70114cf1bee00443aeb47a305f9b0c665
tree2ba2027bcb59de7229b26a8c7fb83b59d3f576a4
parent28f362be6e7f45ea9b7a57a08555c4c784f36198
i440fx: avoid destroying memory regions within a transaction

Calling memory_region_destroy() within a transaction is illegal, since
the memory API is allowed to continue to dispatch to a region until the
transaction commits.  440fx does that however when managing PAM registers.

This bug is benign, since the regions are all aliases (which the memory
core tends to throw anyway), and since we don't do concurrent dispatch yet,
but instead of relying on that, tighten ship ahead of the coming concurrency
storm.

Fix by having a predefined set of regions, of which one will be enabled at
any time.

Signed-off-by: Avi Kivity <avi@redhat.com>
hw/piix_pci.c