2021-01-21 07:15:06 +01:00
|
|
|
/*
|
|
|
|
* Internal execution defines for qemu
|
|
|
|
*
|
|
|
|
* Copyright (c) 2003 Fabrice Bellard
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ACCEL_TCG_INTERNAL_H
|
|
|
|
#define ACCEL_TCG_INTERNAL_H
|
|
|
|
|
|
|
|
#include "exec/exec-all.h"
|
|
|
|
|
|
|
|
TranslationBlock *tb_gen_code(CPUState *cpu, target_ulong pc,
|
|
|
|
target_ulong cs_base, uint32_t flags,
|
|
|
|
int cflags);
|
2022-04-20 15:26:02 +02:00
|
|
|
G_NORETURN void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr);
|
2021-03-10 00:42:16 +01:00
|
|
|
void page_init(void);
|
|
|
|
void tb_htable_init(void);
|
2021-01-17 17:48:12 +01:00
|
|
|
|
2022-08-15 22:16:06 +02:00
|
|
|
/* Return the current PC from CPU, which may be cached in TB. */
|
|
|
|
static inline target_ulong log_pc(CPUState *cpu, const TranslationBlock *tb)
|
|
|
|
{
|
2022-08-12 18:53:53 +02:00
|
|
|
#if TARGET_TB_PCREL
|
|
|
|
return cpu->cc->get_pc(cpu);
|
|
|
|
#else
|
2022-08-15 22:16:06 +02:00
|
|
|
return tb_pc(tb);
|
2022-08-12 18:53:53 +02:00
|
|
|
#endif
|
2022-08-15 22:16:06 +02:00
|
|
|
}
|
|
|
|
|
2021-01-21 07:15:06 +01:00
|
|
|
#endif /* ACCEL_TCG_INTERNAL_H */
|