accel/tcg: Trace tb_gen_code() buffer overflow
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <20250925035610.80605-3-philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
committed by
Richard Henderson
parent
98d7c29941
commit
31dd80e1e7
@@ -12,6 +12,7 @@ memory_notdirty_set_dirty(uint64_t vaddr) "0x%" PRIx64
|
||||
|
||||
# translate-all.c
|
||||
translate_block(void *tb, uintptr_t pc, const void *tb_code) "tb:%p, pc:0x%"PRIxPTR", tb_code:%p"
|
||||
tb_gen_code_buffer_overflow(const char *reason) "reason: %s"
|
||||
|
||||
# ldst_atomicity
|
||||
load_atom2_fallback(uint32_t memop, uintptr_t ra) "mop:0x%"PRIx32", ra:0x%"PRIxPTR""
|
||||
|
||||
@@ -290,6 +290,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s)
|
||||
if (unlikely(!tb)) {
|
||||
/* flush must be done */
|
||||
if (cpu_in_serial_context(cpu)) {
|
||||
trace_tb_gen_code_buffer_overflow("tcg_tb_alloc");
|
||||
tb_flush__exclusive_or_serial();
|
||||
goto buffer_overflow;
|
||||
}
|
||||
@@ -325,6 +326,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s)
|
||||
if (unlikely(gen_code_size < 0)) {
|
||||
switch (gen_code_size) {
|
||||
case -1:
|
||||
trace_tb_gen_code_buffer_overflow("setjmp_gen_code");
|
||||
/*
|
||||
* Overflow of code_gen_buffer, or the current slice of it.
|
||||
*
|
||||
@@ -389,6 +391,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s)
|
||||
|
||||
search_size = encode_search(tb, (void *)gen_code_buf + gen_code_size);
|
||||
if (unlikely(search_size < 0)) {
|
||||
trace_tb_gen_code_buffer_overflow("encode_search");
|
||||
tb_unlock_pages(tb);
|
||||
goto buffer_overflow;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user