diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2025-03-08 08:23:47 +0100 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2025-03-08 09:34:43 -0800 |
commit | b73f58496dc7e14b56521c9eeec7aa1225861fc2 (patch) | |
tree | 46bdb05843bf692419e1457fe5557277b5a8a38e /include/accel | |
parent | bf4a155b7a847c9290b1b5ab4208ca361f5a469c (diff) | |
download | qemu-b73f58496dc7e14b56521c9eeec7aa1225861fc2.zip qemu-b73f58496dc7e14b56521c9eeec7aa1225861fc2.tar.gz qemu-b73f58496dc7e14b56521c9eeec7aa1225861fc2.tar.bz2 |
accel/tcg: Split out getpc.h
Split out GETPC to a target-independent header.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250308072348.65723-3-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/accel')
-rw-r--r-- | include/accel/tcg/getpc.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/accel/tcg/getpc.h b/include/accel/tcg/getpc.h new file mode 100644 index 0000000..8a97ce3 --- /dev/null +++ b/include/accel/tcg/getpc.h @@ -0,0 +1,24 @@ +/* + * Get host pc for helper unwinding. + * + * Copyright (c) 2003 Fabrice Bellard + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef ACCEL_TCG_GETPC_H +#define ACCEL_TCG_GETPC_H + +#ifndef CONFIG_TCG +#error Can only include this header with TCG +#endif + +/* GETPC is the true target of the return instruction that we'll execute. */ +#ifdef CONFIG_TCG_INTERPRETER +extern __thread uintptr_t tci_tb_ptr; +# define GETPC() tci_tb_ptr +#else +# define GETPC() \ + ((uintptr_t)__builtin_extract_return_addr(__builtin_return_address(0))) +#endif + +#endif /* ACCEL_TCG_GETPC_H */ |