From: varinder.p Date: Mon, 16 May 2022 12:29:54 +0000 (+0530) Subject: Fixed minor issues for x86_64 target. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd1edcbccc39acc5499274ac7549af6a0d2ac920;p=sdk%2Femulator%2Fqemu.git Fixed minor issues for x86_64 target. Change-Id: Ia852ef69a388262a08c01bf95a830cd9cb264a5c Signed-off-by: varinder.p --- diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index d95c4848a4..3a4cc97a04 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -662,7 +662,7 @@ static inline void cpu_loop_exec_tb(CPUState *cpu, TranslationBlock *tb, int cpu_exec(CPUState *cpu) { CPUClass *cc = CPU_GET_CLASS(cpu); - int ret; + int ret = 0; SyncClocks sc = { 0 }; /* replay_interrupt may need current_cpu */ diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 9924e66d1f..16c6da209e 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -29,6 +29,9 @@ #include "tcg/tcg.h" #if defined(CONFIG_USER_ONLY) #include "qemu.h" +#if defined(TARGET_X86_64) +#include "vsyscall.h" +#endif #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include #if __FreeBSD_version >= 700104 @@ -1821,6 +1824,14 @@ TranslationBlock *tb_gen_code(CPUState *cpu, ROUND_UP((uintptr_t)gen_code_buf + gen_code_size + search_size, CODE_GEN_ALIGN)); +#if defined(CONFIG_USER_ONLY) && defined(TARGET_X86_64) + /* if we are doing vsyscall don't link the page as it lies in high memory + and tb_alloc_page will abort due to page_l1_map returning NULL */ + if (unlikely(phys_pc >= TARGET_VSYSCALL_START + && phys_pc < TARGET_VSYSCALL_END)) + return tb; +#endif + /* init jump list */ qemu_spin_init(&tb->jmp_lock); tb->jmp_list_head = (uintptr_t)NULL; diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c index b0bc22c3c1..43413e29df 100644 --- a/contrib/vhost-user-gpu/virgl.c +++ b/contrib/vhost-user-gpu/virgl.c @@ -519,7 +519,7 @@ virgl_write_fence(void *opaque, uint32_t fence) g_debug("FENCE %" PRIu64, cmd->cmd_hdr.fence_id); vg_ctrl_response_nodata(g, cmd, VIRTIO_GPU_RESP_OK_NODATA); QTAILQ_REMOVE(&g->fenceq, cmd, next); - free(cmd); + g_free(cmd); g->inflight--; } }