qemu/include/system
Gavin Shan ff77a51511 system/memory: Make ram device region directly accessible
This basically reverts 4a2e242bbb ("memory: Don't use memcpy for
ram_device regions") to make ram device region directly accessible
again. With this, the bounce buffer is bypassed in address_space_map()
when a ram device region is involved, potentially avoid to overrun
the (small) bounce buffer.

Reported-by: Julia Graham <jugraham@redhat.com>
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Suggested-by: Peter Xu <peterx@redhat.com>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Link: https://lore.kernel.org/r/20260728031731.286666-4-gshan@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
2026-08-11 15:34:38 -04:00
..
accel-blocker.h
accel-irq.h accel/accel-irq: add generic begin_route_changes 2026-06-25 19:08:45 +02:00
address-spaces.h include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
balloon.h include: reorganize memory API headers 2025-12-27 10:11:09 +01:00
block-backend-common.h
block-backend-global-state.h block-backend: mark blk_io_limits_disable() as GRAPH_UNLOCKED 2025-07-14 15:42:12 +02:00
block-backend-io.h block: Add flags parameter to blk_*_pdiscard() 2026-05-19 17:25:48 +02:00
block-backend.h
block-ram-registrar.h include: reorganize memory API headers 2025-12-27 10:11:09 +01:00
blockdev.h
confidential-guest-support.h accel/kvm: add confidential class member to indicate guest rebuild capability 2026-02-27 14:22:07 +01:00
cpu-throttle.h
cpu-timers-internal.h include/qemu/atomic: Drop aligned_{u}int64_t 2026-01-17 10:46:51 +11:00
cpu-timers.h include/exec: Split out icount.h 2025-04-23 14:08:44 -07:00
cpus.h bsd-user, linux-user: introduce qemu_process_cpu_events 2025-09-17 19:00:56 +02:00
cryptodev-vhost-user.h
cryptodev-vhost.h
cryptodev.h
device_tree.h hw: Centralize handling of -machine dumpdtb option 2025-02-24 15:03:42 +00:00
dirtylimit.h
dirtyrate.h
dma.h include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
dump-arch.h
dump.h
event-loop-base.h qom: replace 'can_be_deleted' with 'prepare_delete' 2026-07-07 11:16:22 +02:00
host_iommu_device.h iommufd: Introduce handler for device ATS support 2026-07-07 07:12:46 +02:00
hostmem.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
hvf.h hw/arm, target/arm: nested virtualisation on HVF 2026-05-05 09:25:21 +01:00
hvf_int.h accel: Use GdbBreakpointType enum 2026-07-06 15:42:18 +02:00
hw_accel.h accel: Add Nitro Enclaves accelerator 2026-02-27 08:18:31 +01:00
igvm-cfg.h igvm: Pass machine state to IGVM file processing 2026-02-03 08:32:33 +01:00
igvm-internal.h igvm: Report error on missing parameter area in directive handlers 2026-07-02 11:14:19 +02:00
igvm.h typedefs: move QIgvm out of typedefs.h 2026-03-12 12:02:55 +01:00
iommufd.h target-arm queue: 2026-06-17 10:17:03 -04:00
ioport.h include/system: Move exec/ioport.h to system/ioport.h 2025-04-23 14:08:21 -07:00
iothread.h qapi/iothread: introduce poll-weight parameter for aio-poll 2026-04-29 11:31:44 -04:00
kvm.h accel: Use GdbBreakpointType enum 2026-07-06 15:42:18 +02:00
kvm_int.h accel: Remove AccelOpsClass::supports_guest_debug 2026-07-06 15:42:18 +02:00
kvm_xen.h system/kvm_xen: Include missing 'exec/target_page.h' header 2026-05-06 12:37:33 +02:00
memory.h system/memory: Make ram device region directly accessible 2026-08-11 15:34:38 -04:00
memory_cached.h system/memory: Constify various MemoryRegionCache arguments 2026-06-18 14:27:04 +02:00
memory_ldst.h.inc system: Allow restricting legacy address_space_ldst() native-endian API 2026-01-22 10:48:45 +01:00
memory_ldst_cached.h.inc system/memory: Constify various MemoryRegionCache arguments 2026-06-18 14:27:04 +02:00
memory_ldst_endian.h.inc system/memory: Define address_space_ldst[Q] endian variants via template 2026-01-22 10:48:45 +01:00
memory_ldst_phys.h.inc system: Allow restricting the legacy ld/st_phys() 'native-endian' API 2026-01-22 10:48:45 +01:00
memory_ldst_phys_endian.h.inc system/memory: Define address_space_ldst[Q] endian variants via template 2026-01-22 10:48:45 +01:00
memory_mapping.h include: reorganize memory API headers 2025-12-27 10:11:09 +01:00
mshv.h accel/mshv: use s->irq_routes in commit_routes 2026-06-25 19:09:20 +02:00
mshv_int.h accel/mshv: Replace @dirty field by generic CPUState::vcpu_dirty field 2026-07-06 15:42:18 +02:00
nitro-accel.h accel: Add Nitro Enclaves accelerator 2026-02-27 08:18:31 +01:00
numa.h
nvmm.h accel/nvmm: Expose nvmm_enabled() to common code 2025-07-04 14:43:46 +02:00
os-posix.h os: add an ability to lock memory on_fault 2025-02-12 11:36:01 -05:00
os-wasm.h include/qemu/osdep.h: Add Emscripten-specific OS dependencies 2025-05-06 16:02:04 +02:00
os-win32.h error: Kill @error_warn 2025-10-01 08:33:24 +02:00
physmem.h system: Move cpu_physical_memory_*() declarations to 'system/physmem.h' 2026-06-18 14:27:04 +02:00
qtest.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
ram-discard-manager.h system/memory: implement RamDiscardManager multi-source aggregation 2026-06-22 17:08:48 -04:00
ram_addr.h include: reorganize memory API headers 2025-12-27 10:11:09 +01:00
ramblock.h system/physmem: make ram_block_discard_range() handle guest_memfd 2026-06-22 17:08:49 -04:00
ramlist.h include: reorganize memory API headers 2025-12-27 10:11:09 +01:00
replay.h ui/input: Introduce QemuInputEvent typedef 2026-05-25 01:00:54 +04:00
reset.h include: move hw/resettable.h to hw/core/ 2025-12-27 10:11:08 +01:00
rng-random.h
rng.h hw/virtio-rng: Fix host use-after-free (CVE-2026-50624) 2026-07-27 15:14:13 -04:00
rtc.h
runstate-action.h
runstate.h Accelerators patches 2025-07-16 07:13:40 -04:00
seccomp.h
spdm-socket.h spdm: define SPDM transport enum types 2025-10-30 07:07:14 +01:00
stats.h
system.h system: drop the -old-param option 2025-09-16 17:31:54 +01:00
tcg.h tcg: Move qemu_tcg_mttcg_enabled() to 'system/tcg.h' 2025-04-23 15:07:32 -07:00
tpm.h hw/tpm: Simplify tpm_ppi_enabled() 2026-04-24 21:20:44 +02:00
tpm_backend.h
tpm_util.h
vhost-user-backend.h char: rename CharBackend->CharFrontend 2025-10-28 14:49:52 +01:00
watchdog.h
whpx-accel-ops.h whpx: common, i386, arm: rework state levels 2026-02-26 18:58:39 +01:00
whpx-all.h accel: Remove AccelOpsClass::supports_guest_debug 2026-07-06 15:42:18 +02:00
whpx-common.h whpx: i386: fix CPUID[1:EDX].APIC reporting 2026-04-30 17:55:03 +02:00
whpx-internal.h whpx: i386: add SeparateSecurityDomain flag and make default 2026-04-30 17:55:04 +02:00
whpx.h hw, target, accel: whpx: change apic_in_platform to kernel_irqchip 2026-02-10 11:34:49 +00:00
xen-mapcache.h system/xen: Constify various MemoryRegion arguments 2026-03-09 15:27:26 -04:00
xen.h system/xen: Constify various MemoryRegion arguments 2026-03-09 15:27:26 -04:00