qemu/include/exec
Steve Sistare b0182e537e exec/memory: Introduce RAM_NAMED_FILE flag
migrate_ignore_shared() is an optimization that avoids copying memory
that is visible and can be mapped on the target.  However, a
memory-backend-ram or a memory-backend-memfd block with the RAM_SHARED
flag set is not migrated when migrate_ignore_shared() is true.  This is
wrong, because the block has no named backing store, and its contents will
be lost.  To fix, ignore shared memory iff it is a named file.  Define a
new flag RAM_NAMED_FILE to distinguish this case.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-Id: <1686151116-253260-1-git-send-email-steven.sistare@oracle.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2023-06-13 11:28:58 +02:00
..
user tcg: Split out exec/user/guest-base.h 2023-05-16 20:13:51 -07:00
address-spaces.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
confidential-guest-support.h confidential guest support: Introduce cgs "ready" flag 2021-02-08 16:57:38 +11:00
cpu_ldst.h tcg: Split out tcg/oversized-guest.h 2023-06-05 12:04:28 -07:00
cpu-all.h tcg: Move TLB_FLAGS_MASK check out of get_alignment_bits 2023-06-05 12:04:29 -07:00
cpu-common.h exec/memory: Introduce RAM_NAMED_FILE flag 2023-06-13 11:28:58 +02:00
cpu-defs.h tcg: Add tlb_fast_offset to TCGContext 2023-06-05 12:04:28 -07:00
cputlb.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
exec-all.h include/exec: Remove CODE_GEN_AVG_BLOCK_SIZE 2023-06-05 12:04:29 -07:00
gdbstub.h gdbstub: move syscall handling to new file 2023-03-07 20:44:08 +00:00
helper-gen-common.h tcg: Split helper-gen.h 2023-06-05 12:04:29 -07:00
helper-gen.h tcg: Split helper-gen.h 2023-06-05 12:04:29 -07:00
helper-gen.h.inc tcg: Split helper-gen.h 2023-06-05 12:04:29 -07:00
helper-head.h tcg: Move env defines out of NEED_CPU_H in helper-head.h 2023-06-05 12:04:29 -07:00
helper-info.c.inc tcg: Pass TCGHelperInfo to tcg_gen_callN 2023-06-05 12:04:29 -07:00
helper-proto-common.h tcg: Split helper-proto.h 2023-06-05 12:04:29 -07:00
helper-proto.h tcg: Split helper-proto.h 2023-06-05 12:04:29 -07:00
helper-proto.h.inc tcg: Split helper-proto.h 2023-06-05 12:04:29 -07:00
hwaddr.h bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
ioport.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
log.h include/exec/log: Do not reference QemuLogFile directly 2022-04-20 10:51:11 -07:00
memattrs.h softmmu/physmem: Introduce MemTxAttrs::memory field and MEMTX_ACCESS_ERROR 2022-03-21 10:10:58 +01:00
memop.h include/exec/memop: Add MO_ATOM_* 2023-05-16 15:21:38 -07:00
memopidx.h Normalize header guard symbol definition 2022-05-11 16:50:26 +02:00
memory_ldst_cached.h.inc exec/memory_ldst_cached: Use correct type size 2021-05-26 08:35:51 -07:00
memory_ldst_phys.h.inc exec/memory_ldst_phys: Use correct type sizes 2021-05-26 08:35:51 -07:00
memory_ldst.h.inc exec/memory_ldst: Use correct type sizes 2021-05-26 08:35:51 -07:00
memory-internal.h exec/memory: Expose memory_region_access_valid() 2023-01-09 13:50:13 +01:00
memory.h exec/memory: Introduce RAM_NAMED_FILE flag 2023-06-13 11:28:58 +02:00
page-vary.h include: move target page bits declaration to page-vary.h 2022-04-06 14:31:43 +02:00
plugin-gen.h plugins: Drop unused headers from exec/plugin-gen.h 2023-06-05 12:04:29 -07:00
poison.h exec/poison: Do not poison CONFIG_SOFTMMU 2023-06-05 12:04:29 -07:00
ram_addr.h exec/ram_addr: Return number of dirty pages in cpu_physical_memory_set_dirty_lebitmap() 2023-06-13 11:28:58 +02:00
ramblock.h hostmem-file: add offset option 2023-05-23 16:47:03 +02:00
ramlist.h qapi: introduce x-query-ramblock QMP command 2021-11-02 15:55:14 +00:00
replay-core.h replay: Extract core API to 'exec/replay-core.h' 2023-02-27 22:29:01 +01:00
target_long.h include: split target_long definition from cpu-defs 2023-03-07 20:44:09 +00:00
target_page.h softmmu: Create qemu_target_pages_to_MiB() 2023-05-15 10:33:03 +02:00
tb-flush.h includes: move tb_flush into its own header 2023-03-07 17:06:33 +00:00
tlb-common.h tcg: Add tlb_fast_offset to TCGContext 2023-06-05 12:04:28 -07:00
translate-all.h accel/tcg: Move remainder of page locking to tb-maint.c 2022-12-20 17:11:12 -08:00
translation-block.h tcg: Spit out exec/translation-block.h 2023-06-05 12:04:29 -07:00
translator.h accel/tcg: Tidy includes for translator.[ch] 2023-06-05 12:04:29 -07:00
tswap.h include/exec: Provide the tswap() functions for target independent code, too 2023-04-20 11:25:32 +02:00