qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]