qemu-e2k/include/exec
Robert Foley 7606488c0e Add use of RCU for qemu_logfile.
This now allows changing the logfile while logging is active,
and also solves the issue of a seg fault while changing the logfile.

Any read access to the qemu_logfile handle will use
the rcu_read_lock()/unlock() around the use of the handle.
To fetch the handle we will use atomic_rcu_read().
We also in many cases do a check for validity of the
logfile handle before using it to deal with the case where the
file is closed and set to NULL.

The cases where we write to the qemu_logfile will use atomic_rcu_set().
Writers will also use call_rcu() with a newly added qemu_logfile_free
function for freeing/closing when readers have finished.

Signed-off-by: Robert Foley <robert.foley@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20191118211528.3221-6-robert.foley@linaro.org>
2019-12-18 20:18:02 +00:00
..
user include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
address-spaces.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
cpu-all.h exec: Cache TARGET_PAGE_MASK for TARGET_PAGE_BITS_VARY 2019-10-28 10:35:20 +01:00
cpu-common.h cputlb: Move NOTDIRTY handling from I/O path to TLB path 2019-09-25 10:43:22 -07:00
cpu-defs.h tcg: let plugins instrument virtual memory accesses 2019-10-28 15:12:38 +00:00
cpu_ldst.h translator: add translator_ld{ub,sw,uw,l,q} 2019-10-28 15:12:38 +00:00
cpu_ldst_template.h cputlb: ensure _cmmu helper functions follow the naming standard 2019-10-28 15:12:38 +00:00
cpu_ldst_useronly_template.h tcg: let plugins instrument virtual memory accesses 2019-10-28 15:12:38 +00:00
cputlb.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
exec-all.h tcg: cputlb: Add probe_read 2019-12-16 10:46:35 +00:00
gdbstub.h gdbstub: Clarify what gdb_handlesig() is doing 2018-05-25 10:10:55 +02:00
gen-icount.h icount: remove unnecessary gen_io_end calls 2019-08-20 17:26:22 +02:00
helper-gen.h plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
helper-head.h include/exec/helper-head.h: support "const void *" in helper calls 2019-02-21 10:22:24 -08:00
helper-proto.h plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
helper-tcg.h plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
hwaddr.h hw: Clean up includes 2016-06-07 18:19:23 +03:00
ioport.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
log.h Add use of RCU for qemu_logfile. 2019-12-18 20:18:02 +00:00
memattrs.h cputlb: Byte swap memory transaction attribute 2019-09-03 08:30:39 -07:00
memop.h cputlb: Replace size and endian operands for MemOp 2019-09-03 08:30:39 -07:00
memory-internal.h cputlb: Merge and move memory_notdirty_write_{prepare,complete} 2019-09-25 10:44:29 -07:00
memory.h Memory: Enable writeback for given memory region 2019-12-16 10:46:35 +00:00
memory_ldst.inc.h exec: move memory access declarations to a common header, inline *_phys functions 2018-05-09 00:13:38 +02:00
memory_ldst_cached.inc.h exec: reintroduce MemoryRegion caching 2018-05-09 00:13:38 +02:00
memory_ldst_phys.inc.h exec: move memory access declarations to a common header, inline *_phys functions 2018-05-09 00:13:38 +02:00
plugin-gen.h plugin-gen: add plugin_insn_append 2019-10-28 15:12:38 +00:00
poison.h configure: Define target access alignment in configure 2019-08-20 17:26:19 +02:00
ram_addr.h Memory: Enable writeback for given memory region 2019-12-16 10:46:35 +00:00
ramlist.h migration: Poison ramblock loops in migration 2018-06-15 14:40:56 +01:00
softmmu-semi.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
target_page.h migration: Make savevm.c target independent 2017-05-18 19:21:00 +02:00
tb-context.h tcg: remove tb_lock 2018-06-15 08:18:48 -10:00
tb-hash.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
tb-lookup.h accel/tcg: Consider cluster index in tb_lookup__cpu_state() 2019-02-06 03:39:24 +00:00
translator.h translator: add translator_ld{ub,sw,uw,l,q} 2019-10-28 15:12:38 +00:00