# vPortYieldProcessor impelemntation

**URL:** <https://forums.freertos.org/t/vportyieldprocessor-impelemntation/2225>\
**Category:** Kernel\
**Created:** [April 8, 2010, 9:37pm UTC](https://forums.freertos.org/t/vportyieldprocessor-impelemntation/2225 "2010-04-08T21:37:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [April 8, 2010, 9:37pm UTC](https://forums.freertos.org/t/vportyieldprocessor-impelemntation/2225/1 "2010-04-08T21:37:59Z")

</div>

**[alzomor](https://sourceforge.net/u/alzomor/)** wrote on [Thursday, April 08, 2010](https://sourceforge.net/p/freertos/discussion/382005/thread/6229998f/#e9df):

Hi

I am currently working on porting FreeRTOS to AT91SAm7A1 processor.  
While navigating the code I found that vPortYieldProcessor is defined as SWI  
and in boot.s I found that the SWI handler is pointing to vPortYieldProcessor  
which makes an endless loop.  
Am I right or there something that I can’t understand?

Salam  
Hossam Alzomor

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [April 8, 2010, 9:39pm UTC](https://forums.freertos.org/t/vportyieldprocessor-impelemntation/2225/2 "2010-04-08T21:39:35Z")

</div>

**[alzomor](https://sourceforge.net/u/alzomor/)** wrote on [Thursday, April 08, 2010](https://sourceforge.net/p/freertos/discussion/382005/thread/6229998f/#ce6e):

in portisr.c  
/\* ISR to handle manual context switches (from a call to taskYIELD()). \*/  
void vPortYieldProcessor( void ) \_\_attribute\_\_((interrupt(“SWI”), naked));  
and in boot.s  
@ address 0x00000008 ldr&nbsp;&nbsp; pc, \_swi /\* SWI - \_swi \*/  
and  
\_swi:&nbsp;&nbsp; .word vPortYieldProcessor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /\* SWI \*/

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [April 8, 2010, 10:07pm UTC](https://forums.freertos.org/t/vportyieldprocessor-impelemntation/2225/3 "2010-04-08T22:07:42Z")

</div>

**[alzomor](https://sourceforge.net/u/alzomor/)** wrote on [Thursday, April 08, 2010](https://sourceforge.net/p/freertos/discussion/382005/thread/6229998f/#64ac):

I am sorry It seams that the interrupt vector is not copied correctly
