From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <366554.1510.qm@domain.hid> Date: Sat, 26 Dec 2009 12:18:13 +0000 (GMT) From: A C MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1082778567-1261829893=:1510" Subject: [Adeos-main] Re : Porting Adeos-Ipipe on AVR32 (NGW 100). List-Id: General discussion about Adeos List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: adeos --0-1082778567-1261829893=:1510 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thu, 2009-12-10 at 16:48 +0000, A C wrote:=0A>> Hello,=0A>> =0A>> We sta= rted to port Adeos for the IRQs part. =0A>> =0A>> Simple question: Why the = function raw_irqs_disabled_flags(flags) is=0A>> the same with or without ip= ipe ? (as we saw in some arch).=0A>> =0A=0A>Because the pipeline code must = guarantee that, for all standard linux=0A>IRQ state accessors/modifiers (e.= g. local_irq_save/restore(),=0A>raw_irqs_disabled_flags()) the same values = are used to assert/test the=0A>interrupt on/off states (e.g. MSR_EE, X86_EF= LAGS_IF and so on), in the=0A>virtualized IRQ flags, than the real IRQ flag= s linux uses when the=0A>pipeline is disabled, for any given arch.=0A=0A>e.= g. on x86, albeit ugly, it must be allowed to open-code:=0A=0A>raw_local_sa= ve_flags(flags);=0A>if (flags & X86_EFLAGS_IF)=0A>interrupts_are_enabled();= =0A=0A>even if the pipeline is enabled.=0A=0A>> (in the case with ipipe) = =0A>> Why not use __ipipe_test_root() -in the same way as the function=0A>>= __raw_local_save_flags()- to write the new function=0A>> raw_irqs_disabled= _flags(flags)?=0A=0A>Because this would break the above rule, since __ipipe= _test_root()=0A>returns 0/1.=0A=0AHello,=0ASorry but we do not still unders= tand what is the exception with the functionraw_irqs_disabled_flags(flags).= In fact, we understand well all others functions (raw_local_irq_disable(),= raw_local_irq_enable()...) in the two differents levels (virtualized IRQ f= lags and real IRQ flags). But with raw_irqs_disabled_flags(flags) we do not= see the rule that we will break if it wasn't the same with the virtualize= d IRQ flags and with the real IRQ flags. =0A=0ARegards=0AAdrien Chiron and = Vincent Vanbesien=0A=0A=0A --0-1082778567-1261829893=:1510 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On Thu, 2009-12-10 at 16:48 +0000, A C wrote:
>>= Hello,
>>
>> We started to port Adeos for the IRQs part= .
>>
>> Simple question: Why the function raw_irqs_disa= bled_flags(flags) is
>> the same with or without ipipe ? (as we sa= w in some arch).
>>

>Because the pipeline code must gua= rantee that, for all standard linux
>IRQ state accessors/modifiers (e= .g. local_irq_save/restore(),
>raw_irqs_disabled_flags()) the same va= lues are used to assert/test the
>interrupt on/off states (e.g. MSR_E= E, X86_EFLAGS_IF and so on), in the
>virtualized IRQ flags, than the = real IRQ flags linux uses when the
>pipeline is disabled, for any giv= en arch.

>e.g. on x86, albeit ugly, it must be allowed to open-code:

>raw_local_save_flags(flags);
>if (flags & = X86_EFLAGS_IF)
>interrupts_are_enabled();

>even if the pipe= line is enabled.

>> (in the case with ipipe)
>> Why = not use __ipipe_test_root() -in the same way as the function
>> __= raw_local_save_flags()- to write the new function
>> raw_irqs_disa= bled_flags(flags)?

>Because this would break the above rule, sinc= e __ipipe_test_root()
>returns 0/1.

Hello,
Sorry but we do = not still understand what is the exception with the function raw_irqs_disabled_flags(flags). In fact, we und= erstand well all others functions (raw_local_irq_disable(), <= meta name=3D"Originator" content=3D"Microsoft Word 11">raw_local_irq_enable()...) in the two differents l= evels (virtualized IRQ flags and real IRQ flags). But with raw_irqs_disable= d_flags(flags) we do not see the rule that we will break if it wasn't = the same with the virtualized IRQ flags and with the real IRQ flags.
<= br>Regards
Adrien Chiron and Vincent Vanbesien


=0A=0A

=0A=0A=0A=0A=0A --0-1082778567-1261829893=:1510--