[PATCH 24] SPARC BSPS: added defines for set_vec type argument to bsp.h
Gedare Bloom
gedare at rtems.org
Thu Mar 29 20:15:51 UTC 2012
How do you want to proceed?
On Thu, Mar 29, 2012 at 4:09 PM, Joel Sherrill
<joel.sherrill at oarcorp.com> wrote:
> On 03/29/2012 02:54 PM, Gedare Bloom wrote:
>>
>> I do like the idea of pushing the macro up so that other architectures
>> will implement it, but I'm not sure where the macro should live in
>> that case.
>
> If bootcard.h were "bsp_framework.h", it would be perfect. :)
>
> For now, we are stuff with something like bsp/setvec.h.
>
>>
>> Renaming it is a good idea but clearly requires more consideration.
>
> Yep. Likely to break stuff but not more than a search and replace.
>
>>
>> On Thu, Mar 29, 2012 at 3:48 PM, Joel Sherrill
>> <joel.sherrill at oarcorp.com> wrote:
>>>
>>> On 03/29/2012 02:45 PM, Gedare Bloom wrote:
>>>>
>>>> looks good
>>>
>>> I am OK with it also but it seems like set_vector() is a
>>> required part of BSPs for the Simple Vectored Architectures.
>>> Shouldn't the prototype and any constants associated
>>> with it be in a common header file?
>>>
>>> And maybe (I hate to suggest this), it be renamed
>>> to bsp_set_vector() per current naming guidelines.
>>>>
>>>>
>>>> On Thu, Mar 29, 2012 at 7:52 AM, Daniel Hellstrom<daniel at gaisler.com>
>>>> wrote:
>>>>>
>>>>> Signed-off-by: Daniel Hellstrom<daniel at gaisler.com>
>>>>> ---
>>>>> c/src/lib/libbsp/sparc/erc32/include/bsp.h | 4 ++++
>>>>> c/src/lib/libbsp/sparc/erc32/startup/setvec.c | 2 +-
>>>>> c/src/lib/libbsp/sparc/leon2/include/bsp.h | 4 ++++
>>>>> c/src/lib/libbsp/sparc/leon2/startup/setvec.c | 2 +-
>>>>> c/src/lib/libbsp/sparc/leon3/include/bsp.h | 4 ++++
>>>>> c/src/lib/libbsp/sparc/leon3/startup/setvec.c | 2 +-
>>>>> 6 files changed, 15 insertions(+), 3 deletions(-)
>>>>>
>>>>> diff --git a/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>>>> b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>>>> index a88673e..70f1ce3 100644
>>>>> --- a/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>>>> +++ b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>>>> @@ -69,6 +69,10 @@ extern int end; /* last address in the
>>>>> program */
>>>>>
>>>>> /* functions */
>>>>>
>>>>> +/* set_vec type */
>>>>> +#define SET_VECTOR_RAW 0 /* Raw trap handler */
>>>>> +#define SET_VECTOR_INT 1 /* Trap handler with _ISR_Handler interrupt
>>>>> handler */
>>>>> +
>>>>> rtems_isr_entry set_vector( /* returns old vector
>>>>> */
>>>>> rtems_isr_entry handler, /* isr routine
>>>>> */
>>>>> rtems_vector_number vector, /* vector number
>>>>> */
>>>>> diff --git a/c/src/lib/libbsp/sparc/erc32/startup/setvec.c
>>>>> b/c/src/lib/libbsp/sparc/erc32/startup/setvec.c
>>>>> index 3a7601d..7e697a0 100644
>>>>> --- a/c/src/lib/libbsp/sparc/erc32/startup/setvec.c
>>>>> +++ b/c/src/lib/libbsp/sparc/erc32/startup/setvec.c
>>>>> @@ -42,7 +42,7 @@ rtems_isr_entry set_vector( /*
>>>>> returns old vector */
>>>>> uint32_t real_trap;
>>>>> uint32_t source;
>>>>>
>>>>> - if ( type )
>>>>> + if ( type == SET_VECTOR_INT )
>>>>> rtems_interrupt_catch( handler, vector,&previous_isr );
>>>>>
>>>>> else
>>>>> _CPU_ISR_install_raw_handler( vector, handler, (void
>>>>> *)&previous_isr
>>>>> );
>>>>> diff --git a/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>>>> b/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>>>> index 796290e..a2f3360 100644
>>>>> --- a/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>>>> +++ b/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>>>> @@ -88,6 +88,10 @@ extern int end; /* last address in the
>>>>> program */
>>>>>
>>>>> /* miscellaneous stuff assumed to exist */
>>>>>
>>>>> +/* set_vec type */
>>>>> +#define SET_VECTOR_RAW 0 /* Raw trap handler */
>>>>> +#define SET_VECTOR_INT 1 /* Trap handler with _ISR_Handler interrupt
>>>>> handler */
>>>>> +
>>>>> rtems_isr_entry set_vector( /* returns old vector
>>>>> */
>>>>> rtems_isr_entry handler, /* isr routine
>>>>> */
>>>>> rtems_vector_number vector, /* vector number
>>>>> */
>>>>> diff --git a/c/src/lib/libbsp/sparc/leon2/startup/setvec.c
>>>>> b/c/src/lib/libbsp/sparc/leon2/startup/setvec.c
>>>>> index c7b8af6..028b17a 100644
>>>>> --- a/c/src/lib/libbsp/sparc/leon2/startup/setvec.c
>>>>> +++ b/c/src/lib/libbsp/sparc/leon2/startup/setvec.c
>>>>> @@ -42,7 +42,7 @@ rtems_isr_entry set_vector( /*
>>>>> returns old vector */
>>>>> uint32_t real_trap;
>>>>> uint32_t source;
>>>>>
>>>>> - if ( type )
>>>>> + if ( type == SET_VECTOR_INT )
>>>>> rtems_interrupt_catch( handler, vector,&previous_isr );
>>>>>
>>>>> else
>>>>> _CPU_ISR_install_raw_handler( vector, handler, (void
>>>>> *)&previous_isr
>>>>> );
>>>>> diff --git a/c/src/lib/libbsp/sparc/leon3/include/bsp.h
>>>>> b/c/src/lib/libbsp/sparc/leon3/include/bsp.h
>>>>> index 07a7412..04279d9 100644
>>>>> --- a/c/src/lib/libbsp/sparc/leon3/include/bsp.h
>>>>> +++ b/c/src/lib/libbsp/sparc/leon3/include/bsp.h
>>>>> @@ -98,6 +98,10 @@ extern int end; /* last address in the
>>>>> program */
>>>>>
>>>>> /* miscellaneous stuff assumed to exist */
>>>>>
>>>>> +/* set_vec type */
>>>>> +#define SET_VECTOR_RAW 0 /* Raw trap handler */
>>>>> +#define SET_VECTOR_INT 1 /* Trap handler with _ISR_Handler interrupt
>>>>> handler */
>>>>> +
>>>>> rtems_isr_entry set_vector( /* returns old vector
>>>>> */
>>>>> rtems_isr_entry handler, /* isr routine
>>>>> */
>>>>> rtems_vector_number vector, /* vector number
>>>>> */
>>>>> diff --git a/c/src/lib/libbsp/sparc/leon3/startup/setvec.c
>>>>> b/c/src/lib/libbsp/sparc/leon3/startup/setvec.c
>>>>> index c7b8af6..028b17a 100644
>>>>> --- a/c/src/lib/libbsp/sparc/leon3/startup/setvec.c
>>>>> +++ b/c/src/lib/libbsp/sparc/leon3/startup/setvec.c
>>>>> @@ -42,7 +42,7 @@ rtems_isr_entry set_vector( /*
>>>>> returns old vector */
>>>>> uint32_t real_trap;
>>>>> uint32_t source;
>>>>>
>>>>> - if ( type )
>>>>> + if ( type == SET_VECTOR_INT )
>>>>> rtems_interrupt_catch( handler, vector,&previous_isr );
>>>>>
>>>>> else
>>>>> _CPU_ISR_install_raw_handler( vector, handler, (void
>>>>> *)&previous_isr
>>>>> );
>>>>> --
>>>>> 1.7.0.4
>>>>>
>>>>> _______________________________________________
>>>>> rtems-devel mailing list
>>>>> rtems-devel at rtems.org
>>>>> http://www.rtems.org/mailman/listinfo/rtems-devel
>>>>
>>>> _______________________________________________
>>>> rtems-devel mailing list
>>>> rtems-devel at rtems.org
>>>> http://www.rtems.org/mailman/listinfo/rtems-devel
>>>
>>>
>>>
>>> --
>>> Joel Sherrill, Ph.D. Director of Research& Development
>>> joel.sherrill at OARcorp.com On-Line Applications Research
>>> Ask me about RTEMS: a free RTOS Huntsville AL 35805
>>> Support Available (256) 722-9985
>>>
>>>
>
>
> --
> Joel Sherrill, Ph.D. Director of Research& Development
> joel.sherrill at OARcorp.com On-Line Applications Research
> Ask me about RTEMS: a free RTOS Huntsville AL 35805
> Support Available (256) 722-9985
>
>
More information about the devel
mailing list