[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v14 11/33] target-tilegx: Framework for decoding
From: |
Chen Gang |
Subject: |
Re: [Qemu-devel] [PATCH v14 11/33] target-tilegx: Framework for decoding bundles |
Date: |
Sun, 30 Aug 2015 08:01:01 +0800 |
On 8/29/15 22:50, Peter Maydell wrote:
> On 24 August 2015 at 17:17, Richard Henderson <address@hidden> wrote:
>
>> + qemu_log_mask(CPU_LOG_TB_IN_ASM, " %" PRIx64 ": { ", dc->pc);
>> + if (get_Mode(bundle)) {
>> + notice_excp(dc, bundle, "y0", decode_y0(dc, bundle));
>> + qemu_log_mask(CPU_LOG_TB_IN_ASM, " ; ");
>> + notice_excp(dc, bundle, "y1", decode_y1(dc, bundle));
>> + qemu_log_mask(CPU_LOG_TB_IN_ASM, " ; ");
>> + notice_excp(dc, bundle, "y2", decode_y2(dc, bundle));
>> + } else {
>> + notice_excp(dc, bundle, "x0", decode_x0(dc, bundle));
>> + qemu_log_mask(CPU_LOG_TB_IN_ASM, " ; ");
>> + notice_excp(dc, bundle, "x1", decode_x1(dc, bundle));
>> + }
>
> I notice that even if the first insn in a bundle generates an
> exception we'll go ahead and generate unreachable code for
> the rest.
>
> I haven't tried to find and compare against any instruction
> set documentation, but structurally it looks good, so
>
For me, I am not quite sure it is really safe, more explanations are
welcomed.
And for each bundle, I still suggest to:
- buffering dest regs in temp regs for each pipe.
- buffering 1st exception information in env for the related pipe.
- flush temp regs to dest regs.
- gen exception based on the env information.
I assumed all exceptions which can still let working flow continue are
all in pipe x1 (at present, it should be corret), so it is enough for us
to only process 1st exception of bundle.
> Reviewed-by: Peter Maydell <address@hidden>
Thanks.
--
Chen Gang
Open, share, and attitude like air, water, and life which God blessed
- Re: [Qemu-devel] [PATCH v14 10/33] target-tilegx: Add several helpers for instructions translation, (continued)
- [Qemu-devel] [PATCH v14 12/33] target-tilegx: Generate SEGV properly, Richard Henderson, 2015/08/24
- [Qemu-devel] [PATCH v14 14/33] target-tilegx: Handle simple logical operations, Richard Henderson, 2015/08/24
- [Qemu-devel] [PATCH v14 15/33] target-tilegx: Handle arithmetic instructions, Richard Henderson, 2015/08/24
- [Qemu-devel] [PATCH v14 11/33] target-tilegx: Framework for decoding bundles, Richard Henderson, 2015/08/24
- Re: [Qemu-devel] [PATCH v14 11/33] target-tilegx: Framework for decoding bundles, Peter Maydell, 2015/08/29
- [Qemu-devel] [PATCH v14 16/33] target-tilegx: Handle most bit manipulation instructions, Richard Henderson, 2015/08/24
- [Qemu-devel] [PATCH v14 17/33] target-tilegx: Handle basic load and store instructions, Richard Henderson, 2015/08/24
- [Qemu-devel] [PATCH v14 19/33] target-tilegx: Handle unconditional jump instructions, Richard Henderson, 2015/08/24
- [Qemu-devel] [PATCH v14 22/33] target-tilegx: Implement system and memory management instructions, Richard Henderson, 2015/08/24