qemu/include/exec
Philippe Mathieu-Daudé 3ab6fdc91b softmmu/physmem: Introduce MemTxAttrs::memory field and MEMTX_ACCESS_ERROR
Add the 'memory' bit to the memory attributes to restrict bus
controller accesses to memories.

Introduce flatview_access_allowed() to check bus permission
before running any bus transaction.

Have read/write accessors return MEMTX_ACCESS_ERROR if an access is
restricted.

There is no change for the default case where 'memory' is not set.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211215182421.418374-4-philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[thuth: Replaced MEMTX_BUS_ERROR with MEMTX_ACCESS_ERROR, remove "inline"]
Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-03-21 10:10:58 +01:00
..
user nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
address-spaces.h
confidential-guest-support.h confidential guest support: Introduce cgs "ready" flag 2021-02-08 16:57:38 +11:00
cpu_ldst.h exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition 2022-03-06 13:15:42 +01:00
cpu-all.h exec: Make cpu_memory_rw_debug() target agnostic 2022-03-06 13:15:42 +01:00
cpu-common.h softmmu: List CPU types again 2022-03-16 08:43:10 +01:00
cpu-defs.h exec/cpu-defs: Remove TCG backends dependency 2021-02-05 10:24:14 -10:00
cputlb.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
exec-all.h exec/cpu: Make address_space_init/reloading_memory_map target agnostic 2022-03-06 13:15:42 +01:00
gdbstub.h exec/gdbstub: Make gdb_exit() / gdb_set_stop_cpu() target agnostic 2022-03-06 13:15:42 +01:00
gen-icount.h accel/tcg: introduce CF_NOIRQ 2021-11-29 15:12:37 +00:00
helper-gen.h tracing: excise the tcg related from tracetool 2022-02-09 12:08:42 +00:00
helper-head.h tcg: Remove dh_alias indirection for dh_typecode 2022-02-28 08:04:06 -10:00
helper-proto.h tracing: remove the trace-tcg includes from the build 2022-02-09 12:08:42 +00:00
helper-tcg.h tracing: remove the trace-tcg includes from the build 2022-02-09 12:08:42 +00:00
hwaddr.h move MemMapEntry 2020-09-30 11:29:56 +02:00
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 softmmu/physmem: Introduce MemTxAttrs::memory field and MEMTX_ACCESS_ERROR 2022-03-21 10:10:58 +01:00
memop.h exec/memop: Adding signed quad and octo defines 2022-01-08 15:46:10 +10:00
memopidx.h tcg: Split out MemOpIdx to exec/memopidx.h 2021-10-05 16:53:17 -07: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 cputlb: Merge and move memory_notdirty_write_{prepare,complete} 2019-09-25 10:44:29 -07:00
memory.h exec/memory: Extract address_space_set() from dma_memory_set() 2022-01-20 09:09:37 +01:00
page-vary.h exec: Build page-vary-common.c with -fno-lto 2021-03-23 19:36:47 -06:00
plugin-gen.h plugins: try and make plugin_insn_append more ergonomic 2021-11-04 10:32:01 +00:00
poison.h target: Use CPUArchState as interface to target-specific CPU state 2022-03-06 22:23:09 +01:00
ram_addr.h memory: introduce total_dirty_pages to stat dirty pages 2021-11-01 22:56:44 +01:00
ramblock.h exec/ramblock: Add missing includes 2022-02-21 10:18:06 +01:00
ramlist.h qapi: introduce x-query-ramblock QMP command 2021-11-02 15:55:14 +00:00
softmmu-semi.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
target_page.h
translate-all.h accel/tcg: Clear PAGE_WRITE before translation 2021-09-14 12:00:20 -07:00
translator.h accel/tcg: Clear PAGE_WRITE before translation 2021-09-14 12:00:20 -07:00