[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/5] target-tricore: Add trap handling
From: |
Bastian Koppelmann |
Subject: |
Re: [Qemu-devel] [PATCH 1/5] target-tricore: Add trap handling |
Date: |
Fri, 12 Feb 2016 21:08:35 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
On 02/12/2016 07:55 PM, Richard Henderson wrote:
> On 02/12/2016 10:12 PM, Bastian Koppelmann wrote:
>> On 02/12/2016 03:39 AM, Richard Henderson wrote:
>>
>> What do you mean by "pre-interrupt state"? The register context is saved
>> by generate_trap() calls.
>
> Because do_interrupt is normally for handling asynchronous interrupts.
> Stuff that isn't related at all to the instruction stream. Which
> therefore could not have saved anything at all.
>
Ah, I see. This makes a lot of sense now. I didn't know that
do_interrupt() is only for asynchronous interrupts.
> It does get (ab)used on some targets for synchronous events, because the
> method by which kernel entry is made is the same and the author wanted
> to share code.
>
> But if you have no external hardware devices, no timer interrupt or
> anything, let's not start by passing synchronous events through this
> function. It sounds like the code here in do_interrupt more properly
> belongs at the end of generate_trap.
>
> Err.. the generate_trap in op_helper I mean. It's confusing that you
> have two (static) functions of the same name in different files.
Fair enough. I guess it makes sense to always use the helper for
generate_trap, since a helper call is necessary anyways.
>
> I do wonder if these two functions ought to share more code. For
> instance, op_helper.c places TIN into a_15, whereas translate.c places
> TIN into d_15.
Woops... good catch :).
Thanks for the review.
Cheers,
Bastian
[Qemu-devel] [PATCH 2/5] target-tricore: Save the pc before CSA operations for exceptions, Bastian Koppelmann, 2016/02/11
[Qemu-devel] [PATCH 3/5] target-tricore: add context managment trap generation, Bastian Koppelmann, 2016/02/11
[Qemu-devel] [PATCH 5/5] target-tricore: add opd trap generation, Bastian Koppelmann, 2016/02/11
[Qemu-devel] [PATCH 4/5] target-tricore: add illegal opcode trap generation, Bastian Koppelmann, 2016/02/11