qemu-e2k/include/exec
Stefan Hajnoczi 369d6dc4de memory: add readonly support to memory_region_init_ram_from_file()
There is currently no way to open(O_RDONLY) and mmap(PROT_READ) when
creating a memory region from a file. This functionality is needed since
the underlying host file may not allow writing.

Add a bool readonly argument to memory_region_init_ram_from_file() and
the APIs it calls.

Extend memory_region_init_ram_from_file() rather than introducing a
memory_region_init_rom_from_file() API so that callers can easily make a
choice between read/write and read-only at runtime without calling
different APIs.

No new RAMBlock flag is introduced for read-only because it's unclear
whether RAMBlocks need to know that they are read-only. Pass a bool
readonly argument instead.

Both of these design decisions can be changed in the future. It just
seemed like the simplest approach to me.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Liam Merwick <liam.merwick@oracle.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20210104171320.575838-2-stefanha@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2021-02-01 17:07:34 -05:00
..
user nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
address-spaces.h
cpu_ldst.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
cpu-all.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
cpu-common.h vl: extract softmmu/globals.c 2020-12-15 12:51:50 -05:00
cpu-defs.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
cputlb.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
exec-all.h accel/tcg: Restrict cpu_io_recompile() from other accelerators 2021-01-23 12:13:00 -10:00
gdbstub.h gdbstub: drop gdbserver_cleanup in favour of gdb_exit 2021-01-18 10:05:06 +00:00
gen-icount.h tcg: Use tcg_constant_i32 with icount expander 2021-01-13 08:39:08 -10:00
helper-gen.h
helper-head.h
helper-proto.h tcg: Use memset for large vector byte replication 2021-01-04 06:32:58 -10:00
helper-tcg.h
hwaddr.h
ioport.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
log.h tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
memattrs.h
memop.h
memory_ldst_cached.h.inc nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
memory_ldst_phys.h.inc nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
memory_ldst.h.inc nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
memory-internal.h
memory.h memory: add readonly support to memory_region_init_ram_from_file() 2021-02-01 17:07:34 -05:00
plugin-gen.h
poison.h poison: remove GNUC check 2020-12-15 12:53:13 -05:00
ram_addr.h memory: add readonly support to memory_region_init_ram_from_file() 2021-02-01 17:07:34 -05:00
ramblock.h
ramlist.h
softmmu-semi.h
target_page.h
tb-context.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
tb-hash.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
tb-lookup.h
translate-all.h remove TCG includes from common code 2021-01-02 21:03:36 +01:00
translator.h tcg: Make DisasContextBase.tb const 2021-01-07 05:09:41 -10:00