On Fri, Feb 6, 2015 at 10:48 AM, Daniel Cederman wrote:
>> I'd like to entertain a new name for this "BSP_ISR_handler" function
>> now that it becomes an exported symbol. We should put it into a proper
>> namespace.
>
> Any suggestion on what to change it to?
>
bsp_isr_handler() is fine with me.
> /Daniel C
>
>
> On 2015-02-04 16:12, Gedare Bloom wrote:
>>
>> I'd like to entertain a new name for this "BSP_ISR_handler" function
>> now that it becomes an exported symbol. We should put it into a proper
>> namespace.
>>
>> Also, I'm not sure on the legality of putting a copyright for Cobham
>> Gaisler that predates Cobham's acquisition of Aeroflex. But I am not a
>> lawyer.
>>
>> -Gedare
>>
>> On Wed, Feb 4, 2015 at 4:52 AM, Daniel Cederman
>> wrote:
>>>
>>> This allows it to be wrapped by another function at link-time
>>> and can be used to trace interrupts. If not placed in a separate
>>> file, the function pointer address used in BSP_shared_interrupt_init
>>> will be resolved at compile-time, and the function will not be wrappable.
>>> ---
>>> c/src/lib/libbsp/sparc/Makefile.am | 1 +
>>> c/src/lib/libbsp/sparc/erc32/Makefile.am | 1 +
>>> c/src/lib/libbsp/sparc/erc32/include/bsp.h | 3 ++
>>> c/src/lib/libbsp/sparc/leon2/Makefile.am | 1 +
>>> c/src/lib/libbsp/sparc/leon2/include/bsp.h | 3 ++
>>> c/src/lib/libbsp/sparc/leon3/Makefile.am | 1 +
>>> c/src/lib/libbsp/sparc/leon3/include/bsp.h | 3 ++
>>> .../lib/libbsp/sparc/shared/irq/bsp_isr_handler.c | 35
>>> ++
>>> c/src/lib/libbsp/sparc/shared/irq/irq-shared.c | 32
>>> +++-
>>> 9 files changed, 58 insertions(+), 22 deletions(-)
>>> create mode 100644 c/src/lib/libbsp/sparc/shared/irq/bsp_isr_handler.c
>>>
>>> diff --git a/c/src/lib/libbsp/sparc/Makefile.am
>>> b/c/src/lib/libbsp/sparc/Makefile.am
>>> index 3d433fb..615aea7 100644
>>> --- a/c/src/lib/libbsp/sparc/Makefile.am
>>> +++ b/c/src/lib/libbsp/sparc/Makefile.am
>>> @@ -11,6 +11,7 @@ EXTRA_DIST += shared/start/start.S
>>>
>>> # Interrupt
>>> EXTRA_DIST += shared/irq/irq-shared.c
>>> +EXTRA_DIST += shared/irq/bsp_isr_handler.c
>>>
>>> # AMBA Plug&Play bus
>>> EXTRA_DIST += shared/include/ambapp.h
>>> diff --git a/c/src/lib/libbsp/sparc/erc32/Makefile.am
>>> b/c/src/lib/libbsp/sparc/erc32/Makefile.am
>>> index c99d2fb..8dcdd32 100644
>>> --- a/c/src/lib/libbsp/sparc/erc32/Makefile.am
>>> +++ b/c/src/lib/libbsp/sparc/erc32/Makefile.am
>>> @@ -71,6 +71,7 @@ include_bsp_HEADERS += \
>>> include/bsp/irq.h
>>> libbsp_a_SOURCES += \
>>> ../../sparc/shared/irq/irq-shared.c \
>>> +../../sparc/shared/irq/bsp_isr_handler.c \
>>> ../../shared/src/irq-default-handler.c \
>>> ../../shared/src/irq-generic.c \
>>> ../../shared/src/irq-info.c \
>>> diff --git a/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>> b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>> index 3393910..2e531ec 100644
>>> --- a/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>> +++ b/c/src/lib/libbsp/sparc/erc32/include/bsp.h
>>> @@ -106,6 +106,9 @@ typedef void (*bsp_shared_isr)(void *arg);
>>> /* Initializes the Shared System Interrupt service */
>>> extern void BSP_shared_interrupt_init(void);
>>>
>>> +/* Called directly from IRQ trap handler TRAP[0x10..0x1F] = IRQ[0..15]
>>> */
>>> +void BSP_ISR_handler(rtems_vector_number vector);
>>> +
>>> /* Registers a shared IRQ handler, and enable it at IRQ controller.
>>> Multiple
>>>* interrupt handlers may use the same IRQ number, all ISRs will be
>>> called
>>>* when an interrupt on that line is fired.
>>> diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am
>>> b/c/src/lib/libbsp/sparc/leon2/Makefile.am
>>> index d1e3817..efcb286 100644
>>> --- a/c/src/lib/libbsp/sparc/leon2/Makefile.am
>>> +++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am
>>> @@ -80,6 +80,7 @@ include_bsp_HEADERS += \
>>> include/bsp/irq.h
>>> libbsp_a_SOURCES += \
>>> ../../sparc/shared/irq/irq-shared.c \
>>> +../../sparc/shared/irq/bsp_isr_handler.c \
>>> ../../shared/src/irq-default-handler.c \
>>> ../../shared/src/irq-generic.c \
>>> ../../shared/src/irq-info.c \
>>> diff --git a/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>> b/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>> index 41a1e43..807f8d9 100644
>>> --- a/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>> +++ b/c/src/lib/libbsp/sparc/leon2/include/bsp.h
>>> @@ -130,6 +130,9 @@ typedef void (*bsp_shared_isr)(void *arg);
>>> /* Initializes the Shared System Interrupt service */
>>> extern void BSP_shared_interrupt_init(void);
>>>
>>> +/* Called directly from IRQ trap handler TRAP[0x10..0x1F] = IRQ[0..15]
>>> */
>>> +void BSP_ISR_handler(rtems_vector_number vector);
>>> +
>>> /* Registers a shared IRQ handler, and enable it at IRQ controller.
>>> Multiple
>>>* interrupt handlers may use the same IRQ number, all ISRs will be
>>> called
>>>* when