Browse Source
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>pull/291/head
2 changed files with 25 additions and 9 deletions
@ -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 */ |
|||
Loading…
Reference in new issue