summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/raspberrypi/irq/irq.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-10-02arm/raspberrypi: change interrupt dispatch and enable to generic vector id ↵Pavel Pisa1-43/+90
based approach. Using conditional branches to find bits is extremely inefficient and for asynchronous delivery of different interrupt sources lead to total confusion of branch prediction unit. Updates #2783
2016-10-02arm/raspberrypi: remove duplicate setup of IRQ handler in the main ARM ↵Pavel Pisa1-17/+0
exception table. Exception table setup is processed by common CPU architecture support. For ARM architecture, it can be found in the file rtems/c/src/lib/libbsp/arm/shared/start/start.S and ends by bsp_vector_table_copy_done label. The actual tabel content can be found at bsp_start_vector_table_begin For ARMv7-A and even other variant with hypervisor mode support, it is even not necessary to copy table to address 0 at all because CP15 register can be used to specify alternative table start address arm_cp15_set_vector_base_address(&)bsp_start_vector_table_begin; ARMv7-M have register to set exception table base as well. Updates #2783
2016-10-02arm/raspberrypi: ensure that RTEMS application image can be started by U-boot.Pavel Pisa1-0/+4
The current versions of U-boot start kernel/RTEMS application image with instruction and data caches enabled and it sets exception base register to new address after its self-relocation. ldr r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */ mcr p15, 0, r0, c12, c0, 0 /* Set VBAR */ Included changes in bsp_start_hook_0 restore default state to allow RTEMS image to run after startup from newer U-boot version on Raspberry Pi. Clear interrupt enable registers in interrupt controller to ensure that RTEMS starts from well defined state. Updates #2783
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-11-27raspberrypi doxygen refactoringDaniel Ramirez1-1/+1
2013-03-24bsp/raspberrypi: New BSPAlan Cudmore1-0/+124