forked from epagris/FreeRTOS-Kernel
		
	Code cleanup (#288)
* Update port.c * Code cleanup Misc coding style cleanup and typo fixes * Fix ASM style Fix ASM style * Fix header check Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com> Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									b08c19f745
								
							
						
					
					
						commit
						75e0c36eb4
					
				@ -243,14 +243,14 @@ __asm void vPortSVCHandler( void )
 | 
			
		||||
    PRESERVE8
 | 
			
		||||
 | 
			
		||||
    /* Get the location of the current TCB. */
 | 
			
		||||
    ldr r3, = pxCurrentTCB
 | 
			
		||||
    ldr r3, =pxCurrentTCB
 | 
			
		||||
    ldr r1, [ r3 ]
 | 
			
		||||
    ldr r0, [ r1 ]
 | 
			
		||||
    /* Pop the core registers. */
 | 
			
		||||
    ldmia r0 !, {r4-r11,r14}
 | 
			
		||||
    ldmia r0!, {r4-r11,r14}
 | 
			
		||||
    msr psp, r0
 | 
			
		||||
    isb
 | 
			
		||||
    mov r0, # 0
 | 
			
		||||
    mov r0, #0
 | 
			
		||||
    msr basepri, r0
 | 
			
		||||
    bx r14
 | 
			
		||||
/* *INDENT-ON* */
 | 
			
		||||
@ -477,12 +477,12 @@ __asm void xPortPendSVHandler( void )
 | 
			
		||||
    str r0, [ r2 ]
 | 
			
		||||
 | 
			
		||||
    stmdb sp!, {r0, r3}
 | 
			
		||||
    mov r0, # configMAX_SYSCALL_INTERRUPT_PRIORITY
 | 
			
		||||
    mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
 | 
			
		||||
    msr basepri, r0
 | 
			
		||||
    dsb
 | 
			
		||||
    isb
 | 
			
		||||
    bl vTaskSwitchContext
 | 
			
		||||
    mov r0, # 0
 | 
			
		||||
    mov r0, #0
 | 
			
		||||
    msr basepri, r0
 | 
			
		||||
    ldmia sp!, {r0, r3}
 | 
			
		||||
 | 
			
		||||
@ -495,7 +495,7 @@ __asm void xPortPendSVHandler( void )
 | 
			
		||||
 | 
			
		||||
    /* Is the task using the FPU context?  If so, pop the high vfp registers
 | 
			
		||||
     * too. */
 | 
			
		||||
    tst r14, # 0x10
 | 
			
		||||
    tst r14, #0x10
 | 
			
		||||
    it eq
 | 
			
		||||
    vldmiaeq r0!, {s16-s31}
 | 
			
		||||
 | 
			
		||||
@ -775,10 +775,10 @@ __asm uint32_t vPortGetIPSR( void )
 | 
			
		||||
             * be set to a value equal to or numerically *higher* than
 | 
			
		||||
             * configMAX_SYSCALL_INTERRUPT_PRIORITY.
 | 
			
		||||
             *
 | 
			
		||||
             * Interrupts that	use the FreeRTOS API must not be left at their
 | 
			
		||||
             * default priority of	zero as that is the highest possible priority,
 | 
			
		||||
             * Interrupts that use the FreeRTOS API must not be left at their
 | 
			
		||||
             * default priority of zero as that is the highest possible priority,
 | 
			
		||||
             * which is guaranteed to be above configMAX_SYSCALL_INTERRUPT_PRIORITY,
 | 
			
		||||
             * and	therefore also guaranteed to be invalid.
 | 
			
		||||
             * and therefore also guaranteed to be invalid.
 | 
			
		||||
             *
 | 
			
		||||
             * FreeRTOS maintains separate thread and ISR API functions to ensure
 | 
			
		||||
             * interrupt entry is as fast and simple as possible.
 | 
			
		||||
 | 
			
		||||
@ -22,14 +22,13 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
#define PORTMACRO_H
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
    extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
@ -173,7 +172,7 @@
 | 
			
		||||
            /* Barrier instructions are not used as this function is only used to
 | 
			
		||||
             * lower the BASEPRI value. */
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
        msr basepri, ulBASEPRI
 | 
			
		||||
            msr basepri, ulBASEPRI
 | 
			
		||||
/* *INDENT-ON* */
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -384,9 +384,9 @@ __asm void prvRestoreContextOfFirstTask( void )
 | 
			
		||||
 */
 | 
			
		||||
BaseType_t xPortStartScheduler( void )
 | 
			
		||||
{
 | 
			
		||||
    /* configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to 0.  See
 | 
			
		||||
     * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */
 | 
			
		||||
    configASSERT( ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) );
 | 
			
		||||
    /* configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to 0.
 | 
			
		||||
     * See https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */
 | 
			
		||||
    configASSERT( configMAX_SYSCALL_INTERRUPT_PRIORITY );
 | 
			
		||||
 | 
			
		||||
    #if ( configASSERT_DEFINED == 1 )
 | 
			
		||||
        {
 | 
			
		||||
@ -942,10 +942,10 @@ __asm uint32_t prvPortGetIPSR( void )
 | 
			
		||||
             * be set to a value equal to or numerically *higher* than
 | 
			
		||||
             * configMAX_SYSCALL_INTERRUPT_PRIORITY.
 | 
			
		||||
             *
 | 
			
		||||
             * Interrupts that	use the FreeRTOS API must not be left at their
 | 
			
		||||
             * default priority of	zero as that is the highest possible priority,
 | 
			
		||||
             * Interrupts that use the FreeRTOS API must not be left at their
 | 
			
		||||
             * default priority of zero as that is the highest possible priority,
 | 
			
		||||
             * which is guaranteed to be above configMAX_SYSCALL_INTERRUPT_PRIORITY,
 | 
			
		||||
             * and	therefore also guaranteed to be invalid.
 | 
			
		||||
             * and therefore also guaranteed to be invalid.
 | 
			
		||||
             *
 | 
			
		||||
             * FreeRTOS maintains separate thread and ISR API functions to ensure
 | 
			
		||||
             * interrupt entry is as fast and simple as possible.
 | 
			
		||||
@ -968,9 +968,8 @@ __asm uint32_t prvPortGetIPSR( void )
 | 
			
		||||
         * devices by calling NVIC_SetPriorityGrouping( 0 ); before starting the
 | 
			
		||||
         * scheduler.  Note however that some vendor specific peripheral libraries
 | 
			
		||||
         * assume a non-zero priority group setting, in which cases using a value
 | 
			
		||||
         * of zero will result in unpredicable behaviour. */
 | 
			
		||||
         * of zero will result in unpredictable behaviour. */
 | 
			
		||||
        configASSERT( ( portAIRCR_REG & portPRIORITY_GROUP_MASK ) <= ulMaxPRIGROUPValue );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
#endif /* configASSERT_DEFINED */
 | 
			
		||||
/*-----------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
@ -233,15 +233,15 @@ static void prvTaskExitError( void )
 | 
			
		||||
 | 
			
		||||
__asm void vPortSVCHandler( void )
 | 
			
		||||
{
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
    PRESERVE8
 | 
			
		||||
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
    /* Get the location of the current TCB. */
 | 
			
		||||
    ldr r3, =pxCurrentTCB
 | 
			
		||||
    ldr r1, [ r3 ]
 | 
			
		||||
    ldr r0, [ r1 ]
 | 
			
		||||
    /* Pop the core registers. */
 | 
			
		||||
    ldmia r0 !, { r4 - r11, r14 }
 | 
			
		||||
    ldmia r0!, { r4-r11, r14 }
 | 
			
		||||
    msr psp, r0
 | 
			
		||||
    isb
 | 
			
		||||
    mov r0, #0
 | 
			
		||||
@ -374,7 +374,6 @@ BaseType_t xPortStartScheduler( void )
 | 
			
		||||
 | 
			
		||||
    /* Make PendSV and SysTick the lowest priority interrupts. */
 | 
			
		||||
    portNVIC_SHPR3_REG |= portNVIC_PENDSV_PRI;
 | 
			
		||||
 | 
			
		||||
    portNVIC_SHPR3_REG |= portNVIC_SYSTICK_PRI;
 | 
			
		||||
 | 
			
		||||
    /* Start the timer that generates the tick ISR.  Interrupts are disabled
 | 
			
		||||
@ -453,15 +452,15 @@ __asm void xPortPendSVHandler( void )
 | 
			
		||||
    /* Is the task using the FPU context?  If so, push high vfp registers. */
 | 
			
		||||
    tst r14, #0x10
 | 
			
		||||
    it eq
 | 
			
		||||
    vstmdbeq r0 !, { s16 - s31 }
 | 
			
		||||
    vstmdbeq r0!, {s16-s31}
 | 
			
		||||
 | 
			
		||||
    /* Save the core registers. */
 | 
			
		||||
    stmdb r0 !, { r4 - r11, r14 }
 | 
			
		||||
    stmdb r0!, {r4-r11, r14 }
 | 
			
		||||
 | 
			
		||||
    /* Save the new top of stack into the first member of the TCB. */
 | 
			
		||||
    str r0, [ r2 ]
 | 
			
		||||
 | 
			
		||||
    stmdb sp !, { r0, r3 }
 | 
			
		||||
    stmdb sp!, { r0, r3 }
 | 
			
		||||
    mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY
 | 
			
		||||
    cpsid i
 | 
			
		||||
    msr basepri, r0
 | 
			
		||||
@ -471,20 +470,20 @@ __asm void xPortPendSVHandler( void )
 | 
			
		||||
    bl vTaskSwitchContext
 | 
			
		||||
    mov r0, #0
 | 
			
		||||
    msr basepri, r0
 | 
			
		||||
    ldmia sp !, { r0, r3 }
 | 
			
		||||
    ldmia sp!, { r0, r3 }
 | 
			
		||||
 | 
			
		||||
    /* The first item in pxCurrentTCB is the task top of stack. */
 | 
			
		||||
    ldr r1, [ r3 ]
 | 
			
		||||
    ldr r0, [ r1 ]
 | 
			
		||||
 | 
			
		||||
    /* Pop the core registers. */
 | 
			
		||||
    ldmia r0 !, { r4 - r11, r14 }
 | 
			
		||||
    ldmia r0!, { r4-r11, r14 }
 | 
			
		||||
 | 
			
		||||
    /* Is the task using the FPU context?  If so, pop the high vfp registers
 | 
			
		||||
     * too. */
 | 
			
		||||
    tst r14, #0x10
 | 
			
		||||
    it eq
 | 
			
		||||
    vldmiaeq r0 !, { s16 - s31 }
 | 
			
		||||
    vldmiaeq r0!, { s16-s31 }
 | 
			
		||||
 | 
			
		||||
    msr psp, r0
 | 
			
		||||
    isb
 | 
			
		||||
 | 
			
		||||
@ -22,16 +22,17 @@
 | 
			
		||||
 * https://www.FreeRTOS.org
 | 
			
		||||
 * https://github.com/FreeRTOS
 | 
			
		||||
 *
 | 
			
		||||
 * 1 tab == 4 spaces!
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef PORTMACRO_H
 | 
			
		||||
    #define PORTMACRO_H
 | 
			
		||||
#define PORTMACRO_H
 | 
			
		||||
 | 
			
		||||
    #ifdef __cplusplus
 | 
			
		||||
        extern "C" {
 | 
			
		||||
    #endif
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
    extern "C" {
 | 
			
		||||
#endif
 | 
			
		||||
/* *INDENT-ON* */
 | 
			
		||||
 | 
			
		||||
/*-----------------------------------------------------------
 | 
			
		||||
 * Port specific definitions.
 | 
			
		||||
@ -257,9 +258,10 @@
 | 
			
		||||
        return xReturn;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    #ifdef __cplusplus
 | 
			
		||||
        }
 | 
			
		||||
    #endif
 | 
			
		||||
/* *INDENT-OFF* */
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
/* *INDENT-ON* */
 | 
			
		||||
 | 
			
		||||
#endif /* PORTMACRO_H */
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user