mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 19:18:23 +00:00
hw/virtio: Access MemoryRegion with MemOp
The memory_region_dispatch_{read|write} operand "unsigned size" is
being converted into a "MemOp op".
Convert interfaces by using no-op size_memop.
After all interfaces are converted, size_memop will be implemented
and the memory_region_dispatch_{read|write} operand "unsigned size"
will be converted into a "MemOp op".
As size_memop is a no-op, this patch does not change any behaviour.
Signed-off-by: Tony Nguyen <tony.nguyen@bt.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <ebf1f78029d5ac1de1739a11d679740a87a1f02f.1566466906.git.tony.nguyen@bt.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
committed by
Richard Henderson
parent
40f74205da
commit
062c08d1fb
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
|
||||||
|
#include "exec/memop.h"
|
||||||
#include "standard-headers/linux/virtio_pci.h"
|
#include "standard-headers/linux/virtio_pci.h"
|
||||||
#include "hw/virtio/virtio.h"
|
#include "hw/virtio/virtio.h"
|
||||||
#include "migration/qemu-file-types.h"
|
#include "migration/qemu-file-types.h"
|
||||||
@@ -552,7 +553,8 @@ void virtio_address_space_write(VirtIOPCIProxy *proxy, hwaddr addr,
|
|||||||
/* As length is under guest control, handle illegal values. */
|
/* As length is under guest control, handle illegal values. */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memory_region_dispatch_write(mr, addr, val, len, MEMTXATTRS_UNSPECIFIED);
|
memory_region_dispatch_write(mr, addr, val, size_memop(len),
|
||||||
|
MEMTXATTRS_UNSPECIFIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -575,7 +577,8 @@ virtio_address_space_read(VirtIOPCIProxy *proxy, hwaddr addr,
|
|||||||
/* Make sure caller aligned buf properly */
|
/* Make sure caller aligned buf properly */
|
||||||
assert(!(((uintptr_t)buf) & (len - 1)));
|
assert(!(((uintptr_t)buf) & (len - 1)));
|
||||||
|
|
||||||
memory_region_dispatch_read(mr, addr, &val, len, MEMTXATTRS_UNSPECIFIED);
|
memory_region_dispatch_read(mr, addr, &val, size_memop(len),
|
||||||
|
MEMTXATTRS_UNSPECIFIED);
|
||||||
switch (len) {
|
switch (len) {
|
||||||
case 1:
|
case 1:
|
||||||
pci_set_byte(buf, val);
|
pci_set_byte(buf, val);
|
||||||
|
|||||||
Reference in New Issue
Block a user