Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
atomic_template: add inline trace/plugin helpers
In preparation for plugin support. Signed-off-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
- Loading branch information
Showing
4 changed files
with
111 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/* | ||
* Common Atomic Helper Functions | ||
* | ||
* This file should be included before the various instantiations of | ||
* the atomic_template.h helpers. | ||
* | ||
* Copyright (c) 2019 Linaro | ||
* Written by Alex Bennée <alex.bennee@linaro.org> | ||
* | ||
* SPDX-License-Identifier: GPL-2.0-or-later | ||
* | ||
* This work is licensed under the terms of the GNU GPL, version 2 or later. | ||
* See the COPYING file in the top-level directory. | ||
*/ | ||
|
||
static inline | ||
void atomic_trace_rmw_pre(CPUArchState *env, target_ulong addr, uint16_t info) | ||
{ | ||
CPUState *cpu = env_cpu(env); | ||
|
||
trace_guest_mem_before_exec(cpu, addr, info); | ||
trace_guest_mem_before_exec(cpu, addr, info | TRACE_MEM_ST); | ||
} | ||
|
||
static inline void | ||
atomic_trace_rmw_post(CPUArchState *env, target_ulong addr, uint16_t info) | ||
{ | ||
} | ||
|
||
static inline | ||
void atomic_trace_ld_pre(CPUArchState *env, target_ulong addr, uint16_t info) | ||
{ | ||
trace_guest_mem_before_exec(env_cpu(env), addr, info); | ||
} | ||
|
||
static inline | ||
void atomic_trace_ld_post(CPUArchState *env, target_ulong addr, uint16_t info) | ||
{ | ||
} | ||
|
||
static inline | ||
void atomic_trace_st_pre(CPUArchState *env, target_ulong addr, uint16_t info) | ||
{ | ||
trace_guest_mem_before_exec(env_cpu(env), addr, info); | ||
} | ||
|
||
static inline | ||
void atomic_trace_st_post(CPUArchState *env, target_ulong addr, uint16_t info) | ||
{ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters