[PATCH 2/2] bsps/sparc: Add XtratuM BSP.

Daniel Hellstrom daniel at gaisler.com
Wed May 21 08:37:18 UTC 2014


On 05/21/2014 10:01 AM, Sebastian Huber wrote:
> Hello Gedare,
>
> thanks for your review.
>
> On 2014-05-20 16:58, Gedare Bloom wrote:
>>> @@ -54,7 +58,15 @@ SYM(_CPU_Context_switch):
>>> >          ld      [%g6 + SPARC_PER_CPU_ISR_DISPATCH_DISABLE], %o4
>>> >          ! save it a bit later so we do not waste a couple of cycles
>>> >
>>> >+#ifdef RTEMS_PARAVIRT_XTRATUM
>>> >+        mov     %o0, %l6
>>> >+        mov     sparc_get_psr_nr, %o0
>>> >+        __XM_AHC
>> I'm guessing these symbols are defined in xm.h?
>>
>>> >+        mov     %o0, %o2
>>> >+        mov     %l6, %o0
>>> >+#else /* RTEMS_PARAVIRT_XTRATUM */
>>> >          rd      %psr, %o2
>>> >+#endif /* RTEMS_PARAVIRT_XTRATUM */
>> It would be cleaner code if you can write this get_psr as an assembler
>> macro, e.g.
>>
>> .macro GET_PSR REG, TMP0
>> #ifdef RTEMS_PARAVIRT_XTRATUM
>>    mov %o0, \TMP
>>    mov sparc_get_psr_nr, %o0
>>    __XM_AHC
>>    mov %o0, \REG
>>    mov \TMP, %o0
>> #else
>>    rd %psr, \REG
>> #endif
>>
>> Same for some of the other functions that get used multiple times in
>> this file, such as set_psr, set_pil, and clear_pil. Putting these in a
>> header file would make them useful in start.S also.
>>
>> [...]
>>
>
> I also think that assembler macros could be useful here.
>
> Daniel, what is you opinion with respect to the usage of assembler macros in this file?

Personally I prefer C preprocessor macros/defines mixed with the ASM code instead. If the RTEMS project uses ASM macros I'm fine with it.

Thanks,
Daniel





More information about the devel mailing list