[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v12 12/24] tcg: handle EXCP_ATOMIC exception for
From: |
Pranith Kumar |
Subject: |
Re: [Qemu-devel] [PATCH v12 12/24] tcg: handle EXCP_ATOMIC exception for system emulation |
Date: |
Mon, 13 Feb 2017 14:33:45 -0500 |
On Mon, Feb 13, 2017 at 2:19 PM, Richard Henderson <address@hidden> wrote:
> On 02/13/2017 11:10 PM, Alex Bennée wrote:
>>
>> @@ -239,9 +240,16 @@ static void cpu_exec_step(CPUState *cpu)
>> 1 | CF_NOCACHE | CF_IGNORE_ICOUNT);
>> tb->orig_tb = NULL;
>> tb_unlock();
>> - /* execute the generated code */
>> - trace_exec_tb_nocache(tb, pc);
>> - cpu_tb_exec(cpu, tb);
>> +
>> + cc->cpu_exec_enter(cpu);
>> +
>> + if (sigsetjmp(cpu->jmp_env, 0) == 0) {
>> + /* execute the generated code */
>> + trace_exec_tb_nocache(tb, pc);
>> + cpu_tb_exec(cpu, tb);
>> + }
>
>
> I don't understand this, since cpu_tb_exec has its own sigsetjmp. Where is
> the exception supposed to come from that escapes?
cpu_exec() has its own sigsetjmp, not cpu_tb_exec(). The exception is
the debug exception from the generated code. Without this new
sigsetjmp, it'll jump to cpu_exec() instead of coming back here.
Thanks,
--
Pranith
- [Qemu-devel] [PATCH v12 14/24] cputlb: tweak qemu_ram_addr_from_host_nofail reporting, (continued)
- [Qemu-devel] [PATCH v12 14/24] cputlb: tweak qemu_ram_addr_from_host_nofail reporting, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 13/24] cputlb: add assert_cpu_is_self checks, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 15/24] cputlb: introduce tlb_flush_* async work., Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 16/24] cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 18/24] cputlb: atomically update tlb fields used by tlb_reset_dirty, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 09/24] tcg: remove global exit_request, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 10/24] tcg: enable tb_lock() for SoftMMU, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 08/24] tcg: drop global lock during TCG code execution, Alex Bennée, 2017/02/13
- [Qemu-devel] [PATCH v12 12/24] tcg: handle EXCP_ATOMIC exception for system emulation, Alex Bennée, 2017/02/13
[Qemu-devel] [PATCH v12 11/24] tcg: enable thread-per-vCPU, Alex Bennée, 2017/02/13
[Qemu-devel] [PATCH v12 17/24] cputlb: add tlb_flush_by_mmuidx async routines, Alex Bennée, 2017/02/13
[Qemu-devel] [PATCH v12 22/24] target-arm: ensure all cross vCPUs TLB flushes complete, Alex Bennée, 2017/02/13
[Qemu-devel] [PATCH v12 21/24] target-arm: don't generate WFE/YIELD calls for MTTCG, Alex Bennée, 2017/02/13
[Qemu-devel] [PATCH v12 23/24] hw/misc/imx6_src: defer clearing of SRC_SCR reset bits, Alex Bennée, 2017/02/13