From 34d09737a50b4c0d30e3852615863beca6bfb7e0 Mon Sep 17 00:00:00 2001 From: 488_MP-4 <488_MP-4@iastate.edu> Date: Thu, 11 Apr 2024 18:21:07 +0200 Subject: [PATCH] setting uboot folder correctly --- .../ARM_CA72_64_BIT/port.c | 517 ++++++++++++++++++ .../ARM_CA72_64_BIT/portASM.S | 432 +++++++++++++++ .../ARM_CA72_64_BIT/portmacro.h | 211 +++++++ .../FreeRTOS_asm_vector.o | Bin 0 -> 9240 bytes .../CORTEX_A72_64-bit_Raspberrypi4/Makefile | 87 ++- .../bin/dep/list.o.d | 4 +- .../bin/dep/tasks.o.d | 4 +- .../CORTEX_A72_64-bit_Raspberrypi4/bin/list.o | Bin 585524 -> 587600 bytes .../src/config/FreeRTOSConfig.h | 59 +- .../CORTEX_A72_64-bit_Raspberrypi4/startup.o | Bin 0 -> 1592 bytes 10 files changed, 1294 insertions(+), 20 deletions(-) create mode 100644 uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/port.c create mode 100644 uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portASM.S create mode 100644 uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portmacro.h create mode 100644 uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/FreeRTOS_asm_vector.o create mode 100644 uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/startup.o diff --git a/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/port.c b/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/port.c new file mode 100644 index 000000000..d2b964f01 --- /dev/null +++ b/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/port.c @@ -0,0 +1,517 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/* Standard includes. */ +#include <stdlib.h> + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" + +#ifndef configINTERRUPT_CONTROLLER_BASE_ADDRESS + #error configINTERRUPT_CONTROLLER_BASE_ADDRESS must be defined. See http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html +#endif + +#ifndef configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET + #error configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET must be defined. See http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html +#endif + +#ifndef configUNIQUE_INTERRUPT_PRIORITIES + #error configUNIQUE_INTERRUPT_PRIORITIES must be defined. See http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html +#endif + +#ifndef configSETUP_TICK_INTERRUPT + #error configSETUP_TICK_INTERRUPT() must be defined. See http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html +#endif /* configSETUP_TICK_INTERRUPT */ + +#ifndef configMAX_API_CALL_INTERRUPT_PRIORITY + #error configMAX_API_CALL_INTERRUPT_PRIORITY must be defined. See http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html +#endif + +#if configMAX_API_CALL_INTERRUPT_PRIORITY == 0 + #error configMAX_API_CALL_INTERRUPT_PRIORITY must not be set to 0 +#endif + +#if configMAX_API_CALL_INTERRUPT_PRIORITY > configUNIQUE_INTERRUPT_PRIORITIES + #error configMAX_API_CALL_INTERRUPT_PRIORITY must be less than or equal to configUNIQUE_INTERRUPT_PRIORITIES as the lower the numeric priority value the higher the logical interrupt priority +#endif + +#if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 + /* Check the configuration. */ + #if( configMAX_PRIORITIES > 32 ) + #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32. It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice. + #endif +#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */ + +/* In case security extensions are implemented. */ +#if configMAX_API_CALL_INTERRUPT_PRIORITY <= ( configUNIQUE_INTERRUPT_PRIORITIES / 2 ) + #error configMAX_API_CALL_INTERRUPT_PRIORITY must be greater than ( configUNIQUE_INTERRUPT_PRIORITIES / 2 ) +#endif + +/* Some vendor specific files default configCLEAR_TICK_INTERRUPT() in +portmacro.h. */ +#ifndef configCLEAR_TICK_INTERRUPT + #define configCLEAR_TICK_INTERRUPT() +#endif + +/* A critical section is exited when the critical section nesting count reaches +this value. */ +#define portNO_CRITICAL_NESTING ( ( size_t ) 0 ) + +/* In all GICs 255 can be written to the priority mask register to unmask all +(but the lowest) interrupt priority. */ +#define portUNMASK_VALUE ( 0xFFUL ) + +/* Tasks are not created with a floating point context, but can be given a +floating point context after they have been created. A variable is stored as +part of the tasks context that holds portNO_FLOATING_POINT_CONTEXT if the task +does not have an FPU context, or any other value if the task does have an FPU +context. */ +#define portNO_FLOATING_POINT_CONTEXT ( ( StackType_t ) 0 ) + +/* Constants required to setup the initial task context. */ +#define portSP_ELx ( ( StackType_t ) 0x01 ) +#define portSP_EL0 ( ( StackType_t ) 0x00 ) + +#if defined( GUEST ) + #define portEL1 ( ( StackType_t ) 0x04 ) + #define portINITIAL_PSTATE ( portEL1 | portSP_EL0 ) +#else + #define portEL3 ( ( StackType_t ) 0x0c ) + /* At the time of writing, the BSP only supports EL3. */ + #define portINITIAL_PSTATE ( portEL3 | portSP_EL0 ) +#endif + + +/* Used by portASSERT_IF_INTERRUPT_PRIORITY_INVALID() when ensuring the binary +point is zero. */ +#define portBINARY_POINT_BITS ( ( uint8_t ) 0x03 ) + +/* Masks all bits in the APSR other than the mode bits. */ +#define portAPSR_MODE_BITS_MASK ( 0x0C ) + +/* The I bit in the DAIF bits. */ +#define portDAIF_I ( 0x80 ) + +/* Macro to unmask all interrupt priorities. */ +#define portCLEAR_INTERRUPT_MASK() \ +{ \ + portDISABLE_INTERRUPTS(); \ + portICCPMR_PRIORITY_MASK_REGISTER = portUNMASK_VALUE; \ + __asm volatile ( "DSB SY \n" \ + "ISB SY \n" ); \ + portENABLE_INTERRUPTS(); \ +} + +/* Hardware specifics used when sanity checking the configuration. */ +#define portINTERRUPT_PRIORITY_REGISTER_OFFSET 0x400UL +#define portMAX_8_BIT_VALUE ( ( uint8_t ) 0xff ) +#define portBIT_0_SET ( ( uint8_t ) 0x01 ) + +/*-----------------------------------------------------------*/ + +/* + * Starts the first task executing. This function is necessarily written in + * assembly code so is implemented in portASM.s. + */ +extern void vPortRestoreTaskContext( void ); + +/*-----------------------------------------------------------*/ + +/* A variable is used to keep track of the critical section nesting. This +variable has to be stored as part of the task context and must be initialised to +a non zero value to ensure interrupts don't inadvertently become unmasked before +the scheduler starts. As it is stored as part of the task context it will +automatically be set to 0 when the first task is started. */ +volatile uint64_t ullCriticalNesting = 9999ULL; + +/* Saved as part of the task context. If ullPortTaskHasFPUContext is non-zero +then floating point context must be saved and restored for the task. */ +uint64_t ullPortTaskHasFPUContext = pdFALSE; + +/* Set to 1 to pend a context switch from an ISR. */ +uint64_t ullPortYieldRequired = pdFALSE; + +/* Counts the interrupt nesting depth. A context switch is only performed if +if the nesting depth is 0. */ +uint64_t ullPortInterruptNesting = 0; + +/* Used in the ASM code. */ +__attribute__(( used )) const uint64_t ullICCEOIR = portICCEOIR_END_OF_INTERRUPT_REGISTER_ADDRESS; +__attribute__(( used )) const uint64_t ullICCIAR = portICCIAR_INTERRUPT_ACKNOWLEDGE_REGISTER_ADDRESS; +__attribute__(( used )) const uint64_t ullICCPMR = portICCPMR_PRIORITY_MASK_REGISTER_ADDRESS; +__attribute__(( used )) const uint64_t ullMaxAPIPriorityMask = ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ); + +/*-----------------------------------------------------------*/ + +/* + * See header file for description. + */ +StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) +{ + /* Setup the initial stack of the task. The stack is set exactly as + expected by the portRESTORE_CONTEXT() macro. */ + + /* First all the general purpose registers. */ + pxTopOfStack--; + *pxTopOfStack = 0x0101010101010101ULL; /* R1 */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) pvParameters; /* R0 */ + pxTopOfStack--; + *pxTopOfStack = 0x0303030303030303ULL; /* R3 */ + pxTopOfStack--; + *pxTopOfStack = 0x0202020202020202ULL; /* R2 */ + pxTopOfStack--; + *pxTopOfStack = 0x0505050505050505ULL; /* R5 */ + pxTopOfStack--; + *pxTopOfStack = 0x0404040404040404ULL; /* R4 */ + pxTopOfStack--; + *pxTopOfStack = 0x0707070707070707ULL; /* R7 */ + pxTopOfStack--; + *pxTopOfStack = 0x0606060606060606ULL; /* R6 */ + pxTopOfStack--; + *pxTopOfStack = 0x0909090909090909ULL; /* R9 */ + pxTopOfStack--; + *pxTopOfStack = 0x0808080808080808ULL; /* R8 */ + pxTopOfStack--; + *pxTopOfStack = 0x1111111111111111ULL; /* R11 */ + pxTopOfStack--; + *pxTopOfStack = 0x1010101010101010ULL; /* R10 */ + pxTopOfStack--; + *pxTopOfStack = 0x1313131313131313ULL; /* R13 */ + pxTopOfStack--; + *pxTopOfStack = 0x1212121212121212ULL; /* R12 */ + pxTopOfStack--; + *pxTopOfStack = 0x1515151515151515ULL; /* R15 */ + pxTopOfStack--; + *pxTopOfStack = 0x1414141414141414ULL; /* R14 */ + pxTopOfStack--; + *pxTopOfStack = 0x1717171717171717ULL; /* R17 */ + pxTopOfStack--; + *pxTopOfStack = 0x1616161616161616ULL; /* R16 */ + pxTopOfStack--; + *pxTopOfStack = 0x1919191919191919ULL; /* R19 */ + pxTopOfStack--; + *pxTopOfStack = 0x1818181818181818ULL; /* R18 */ + pxTopOfStack--; + *pxTopOfStack = 0x2121212121212121ULL; /* R21 */ + pxTopOfStack--; + *pxTopOfStack = 0x2020202020202020ULL; /* R20 */ + pxTopOfStack--; + *pxTopOfStack = 0x2323232323232323ULL; /* R23 */ + pxTopOfStack--; + *pxTopOfStack = 0x2222222222222222ULL; /* R22 */ + pxTopOfStack--; + *pxTopOfStack = 0x2525252525252525ULL; /* R25 */ + pxTopOfStack--; + *pxTopOfStack = 0x2424242424242424ULL; /* R24 */ + pxTopOfStack--; + *pxTopOfStack = 0x2727272727272727ULL; /* R27 */ + pxTopOfStack--; + *pxTopOfStack = 0x2626262626262626ULL; /* R26 */ + pxTopOfStack--; + *pxTopOfStack = 0x2929292929292929ULL; /* R29 */ + pxTopOfStack--; + *pxTopOfStack = 0x2828282828282828ULL; /* R28 */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x00; /* XZR - has no effect, used so there are an even number of registers. */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) 0x00; /* R30 - procedure call link register. */ + pxTopOfStack--; + + *pxTopOfStack = portINITIAL_PSTATE; + pxTopOfStack--; + + *pxTopOfStack = ( StackType_t ) pxCode; /* Exception return address. */ + pxTopOfStack--; + + /* The task will start with a critical nesting count of 0 as interrupts are + enabled. */ + *pxTopOfStack = portNO_CRITICAL_NESTING; + pxTopOfStack--; + + /* The task will start without a floating point context. A task that uses + the floating point hardware must call vPortTaskUsesFPU() before executing + any floating point instructions. */ + *pxTopOfStack = portNO_FLOATING_POINT_CONTEXT; + + return pxTopOfStack; +} +/*-----------------------------------------------------------*/ + +BaseType_t xPortStartScheduler( void ) +{ +uint32_t ulAPSR; + + #if( configASSERT_DEFINED == 1 ) + { + volatile uint32_t ulOriginalPriority; + volatile uint8_t * const pucFirstUserPriorityRegister = ( volatile uint8_t * const ) ( configINTERRUPT_CONTROLLER_BASE_ADDRESS + portINTERRUPT_PRIORITY_REGISTER_OFFSET ); + volatile uint8_t ucMaxPriorityValue; + + /* Determine how many priority bits are implemented in the GIC. + + Save the interrupt priority value that is about to be clobbered. */ + ulOriginalPriority = *pucFirstUserPriorityRegister; + + /* Determine the number of priority bits available. First write to + all possible bits. */ + *pucFirstUserPriorityRegister = portMAX_8_BIT_VALUE; + + /* Read the value back to see how many bits stuck. */ + ucMaxPriorityValue = *pucFirstUserPriorityRegister; + + /* Shift to the least significant bits. */ + while( ( ucMaxPriorityValue & portBIT_0_SET ) != portBIT_0_SET ) + { + ucMaxPriorityValue >>= ( uint8_t ) 0x01; + } + + /* Sanity check configUNIQUE_INTERRUPT_PRIORITIES matches the read + value. */ + + configASSERT( ucMaxPriorityValue >= portLOWEST_INTERRUPT_PRIORITY ); + + + /* Restore the clobbered interrupt priority register to its original + value. */ + *pucFirstUserPriorityRegister = ulOriginalPriority; + } + #endif /* conifgASSERT_DEFINED */ + + + /* At the time of writing, the BSP only supports EL3. */ + __asm volatile ( "MRS %0, CurrentEL" : "=r" ( ulAPSR ) ); + ulAPSR &= portAPSR_MODE_BITS_MASK; + +#if defined( GUEST ) + #warning Building for execution as a guest under XEN. THIS IS NOT A FULLY TESTED PATH. + configASSERT( ulAPSR == portEL1 ); + if( ulAPSR == portEL1 ) +#else + configASSERT( ulAPSR == portEL3 ); + if( ulAPSR == portEL3 ) +#endif + { + /* Only continue if the binary point value is set to its lowest possible + setting. See the comments in vPortValidateInterruptPriority() below for + more information. */ + configASSERT( ( portICCBPR_BINARY_POINT_REGISTER & portBINARY_POINT_BITS ) <= portMAX_BINARY_POINT_VALUE ); + + if( ( portICCBPR_BINARY_POINT_REGISTER & portBINARY_POINT_BITS ) <= portMAX_BINARY_POINT_VALUE ) + { + /* Interrupts are turned off in the CPU itself to ensure a tick does + not execute while the scheduler is being started. Interrupts are + automatically turned back on in the CPU when the first task starts + executing. */ + portDISABLE_INTERRUPTS(); + + /* Start the timer that generates the tick ISR. */ + configSETUP_TICK_INTERRUPT(); + + /* Start the first task executing. */ + vPortRestoreTaskContext(); + } + } + + return 0; +} +/*-----------------------------------------------------------*/ + +void vPortEndScheduler( void ) +{ + /* Not implemented in ports where there is nothing to return to. + Artificially force an assert. */ + configASSERT( ullCriticalNesting == 1000ULL ); +} +/*-----------------------------------------------------------*/ + +void vPortEnterCritical( void ) +{ + /* Mask interrupts up to the max syscall interrupt priority. */ + uxPortSetInterruptMask(); + + /* Now interrupts are disabled ullCriticalNesting can be accessed + directly. Increment ullCriticalNesting to keep a count of how many times + portENTER_CRITICAL() has been called. */ + ullCriticalNesting++; + + /* This is not the interrupt safe version of the enter critical function so + assert() if it is being called from an interrupt context. Only API + functions that end in "FromISR" can be used in an interrupt. Only assert if + the critical nesting count is 1 to protect against recursive calls if the + assert function also uses a critical section. */ + if( ullCriticalNesting == 1ULL ) + { + configASSERT( ullPortInterruptNesting == 0 ); + } +} +/*-----------------------------------------------------------*/ + +void vPortExitCritical( void ) +{ + if( ullCriticalNesting > portNO_CRITICAL_NESTING ) + { + /* Decrement the nesting count as the critical section is being + exited. */ + ullCriticalNesting--; + + /* If the nesting level has reached zero then all interrupt + priorities must be re-enabled. */ + if( ullCriticalNesting == portNO_CRITICAL_NESTING ) + { + /* Critical nesting has reached zero so all interrupt priorities + should be unmasked. */ + portCLEAR_INTERRUPT_MASK(); + } + } +} +/*-----------------------------------------------------------*/ + +void FreeRTOS_Tick_Handler( void ) +{ + /* Must be the lowest possible priority. */ + #if !defined( QEMU ) + { + configASSERT( portICCRPR_RUNNING_PRIORITY_REGISTER == ( uint32_t ) ( portLOWEST_USABLE_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ) ); + } + #endif + + /* Interrupts should not be enabled before this point. */ + #if( configASSERT_DEFINED == 1 ) + { + uint32_t ulMaskBits; + + __asm volatile( "mrs %0, daif" : "=r"( ulMaskBits ) :: "memory" ); + configASSERT( ( ulMaskBits & portDAIF_I ) != 0 ); + } + #endif /* configASSERT_DEFINED */ + + /* Set interrupt mask before altering scheduler structures. The tick + handler runs at the lowest priority, so interrupts cannot already be masked, + so there is no need to save and restore the current mask value. It is + necessary to turn off interrupts in the CPU itself while the ICCPMR is being + updated. */ + portICCPMR_PRIORITY_MASK_REGISTER = ( uint32_t ) ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ); + __asm volatile ( "dsb sy \n" + "isb sy \n" ::: "memory" ); + + /* Ok to enable interrupts after the interrupt source has been cleared. */ + configCLEAR_TICK_INTERRUPT(); + portENABLE_INTERRUPTS(); + + /* Increment the RTOS tick. */ + if( xTaskIncrementTick() != pdFALSE ) + { + ullPortYieldRequired = pdTRUE; + } + + /* Ensure all interrupt priorities are active again. */ + portCLEAR_INTERRUPT_MASK(); +} +/*-----------------------------------------------------------*/ + +void vPortTaskUsesFPU( void ) +{ + /* A task is registering the fact that it needs an FPU context. Set the + FPU flag (which is saved as part of the task context). */ + ullPortTaskHasFPUContext = pdTRUE; + + /* Consider initialising the FPSR here - but probably not necessary in + AArch64. */ +} +/*-----------------------------------------------------------*/ + +void vPortClearInterruptMask( UBaseType_t uxNewMaskValue ) +{ + if( uxNewMaskValue == pdFALSE ) + { + portCLEAR_INTERRUPT_MASK(); + } +} +/*-----------------------------------------------------------*/ + +UBaseType_t uxPortSetInterruptMask( void ) +{ +uint32_t ulReturn; + + /* Interrupt in the CPU must be turned off while the ICCPMR is being + updated. */ + portDISABLE_INTERRUPTS(); + if( portICCPMR_PRIORITY_MASK_REGISTER == ( uint32_t ) ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ) ) + { + /* Interrupts were already masked. */ + ulReturn = pdTRUE; + } + else + { + ulReturn = pdFALSE; + portICCPMR_PRIORITY_MASK_REGISTER = ( uint32_t ) ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ); + __asm volatile ( "dsb sy \n" + "isb sy \n" ::: "memory" ); + } + portENABLE_INTERRUPTS(); + + return ulReturn; +} +/*-----------------------------------------------------------*/ + +#if( configASSERT_DEFINED == 1 ) + + void vPortValidateInterruptPriority( void ) + { + /* The following assertion will fail if a service routine (ISR) for + an interrupt that has been assigned a priority above + configMAX_SYSCALL_INTERRUPT_PRIORITY calls an ISR safe FreeRTOS API + function. ISR safe FreeRTOS API functions must *only* be called + from interrupts that have been assigned a priority at or below + configMAX_SYSCALL_INTERRUPT_PRIORITY. + + Numerically low interrupt priority numbers represent logically high + interrupt priorities, therefore the priority of the interrupt must + be set to a value equal to or numerically *higher* than + configMAX_SYSCALL_INTERRUPT_PRIORITY. + + FreeRTOS maintains separate thread and ISR API functions to ensure + interrupt entry is as fast and simple as possible. */ + configASSERT( portICCRPR_RUNNING_PRIORITY_REGISTER >= ( uint32_t ) ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ) ); + + /* Priority grouping: The interrupt controller (GIC) allows the bits + that define each interrupt's priority to be split between bits that + define the interrupt's pre-emption priority bits and bits that define + the interrupt's sub-priority. For simplicity all bits must be defined + to be pre-emption priority bits. The following assertion will fail if + this is not the case (if some bits represent a sub-priority). + + The priority grouping is configured by the GIC's binary point register + (ICCBPR). Writting 0 to ICCBPR will ensure it is set to its lowest + possible value (which may be above 0). */ + configASSERT( ( portICCBPR_BINARY_POINT_REGISTER & portBINARY_POINT_BITS ) <= portMAX_BINARY_POINT_VALUE ); + } + +#endif /* configASSERT_DEFINED */ +/*-----------------------------------------------------------*/ diff --git a/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portASM.S b/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portASM.S new file mode 100644 index 000000000..f6aa78c95 --- /dev/null +++ b/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portASM.S @@ -0,0 +1,432 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + + .text + + /* Variables and functions. */ + .extern ullMaxAPIPriorityMask + .extern pxCurrentTCB + .extern vTaskSwitchContext + .extern vApplicationIRQHandler + .extern ullPortInterruptNesting + .extern ullPortTaskHasFPUContext + .extern ullCriticalNesting + .extern ullPortYieldRequired + .extern ullICCEOIR + .extern ullICCIAR + .extern _freertos_vector_table + + .global FreeRTOS_IRQ_Handler + .global FreeRTOS_SWI_Handler + .global vPortRestoreTaskContext + + +.macro portSAVE_CONTEXT + + /* Switch to use the EL0 stack pointer. */ + MSR SPSEL, #0 + + /* Save the entire context. */ + STP X0, X1, [SP, #-0x10]! + STP X2, X3, [SP, #-0x10]! + STP X4, X5, [SP, #-0x10]! + STP X6, X7, [SP, #-0x10]! + STP X8, X9, [SP, #-0x10]! + STP X10, X11, [SP, #-0x10]! + STP X12, X13, [SP, #-0x10]! + STP X14, X15, [SP, #-0x10]! + STP X16, X17, [SP, #-0x10]! + STP X18, X19, [SP, #-0x10]! + STP X20, X21, [SP, #-0x10]! + STP X22, X23, [SP, #-0x10]! + STP X24, X25, [SP, #-0x10]! + STP X26, X27, [SP, #-0x10]! + STP X28, X29, [SP, #-0x10]! + STP X30, XZR, [SP, #-0x10]! + + /* Save the SPSR. */ +#if defined( GUEST ) + MRS X3, SPSR_EL1 + MRS X2, ELR_EL1 +#else +# MRS X3, SPSR_EL3 + /* Save the ELR. */ +# MRS X2, ELR_EL3 +#endif + + STP X2, X3, [SP, #-0x10]! + + /* Save the critical section nesting depth. */ + LDR X0, ullCriticalNestingConst + LDR X3, [X0] + + /* Save the FPU context indicator. */ + LDR X0, ullPortTaskHasFPUContextConst + LDR X2, [X0] + + /* Save the FPU context, if any (32 128-bit registers). */ + CMP X2, #0 + B.EQ 1f + STP Q0, Q1, [SP,#-0x20]! + STP Q2, Q3, [SP,#-0x20]! + STP Q4, Q5, [SP,#-0x20]! + STP Q6, Q7, [SP,#-0x20]! + STP Q8, Q9, [SP,#-0x20]! + STP Q10, Q11, [SP,#-0x20]! + STP Q12, Q13, [SP,#-0x20]! + STP Q14, Q15, [SP,#-0x20]! + STP Q16, Q17, [SP,#-0x20]! + STP Q18, Q19, [SP,#-0x20]! + STP Q20, Q21, [SP,#-0x20]! + STP Q22, Q23, [SP,#-0x20]! + STP Q24, Q25, [SP,#-0x20]! + STP Q26, Q27, [SP,#-0x20]! + STP Q28, Q29, [SP,#-0x20]! + STP Q30, Q31, [SP,#-0x20]! + +1: + /* Store the critical nesting count and FPU context indicator. */ + STP X2, X3, [SP, #-0x10]! + + LDR X0, pxCurrentTCBConst + LDR X1, [X0] + MOV X0, SP /* Move SP into X0 for saving. */ + STR X0, [X1] + + /* Switch to use the ELx stack pointer. */ + MSR SPSEL, #1 + + .endm + +; /**********************************************************************/ + +.macro portRESTORE_CONTEXT + + /* Switch to use the EL0 stack pointer. */ + MSR SPSEL, #0 + + /* Set the SP to point to the stack of the task being restored. */ + LDR X0, pxCurrentTCBConst + LDR X1, [X0] + LDR X0, [X1] + MOV SP, X0 + + LDP X2, X3, [SP], #0x10 /* Critical nesting and FPU context. */ + + /* Set the PMR register to be correct for the current critical nesting + depth. */ + LDR X0, ullCriticalNestingConst /* X0 holds the address of ullCriticalNesting. */ + MOV X1, #255 /* X1 holds the unmask value. */ + LDR X4, ullICCPMRConst /* X4 holds the address of the ICCPMR constant. */ + CMP X3, #0 + LDR X5, [X4] /* X5 holds the address of the ICCPMR register. */ + B.EQ 1f + LDR X6, ullMaxAPIPriorityMaskConst + LDR X1, [X6] /* X1 holds the mask value. */ +1: + STR W1, [X5] /* Write the mask value to ICCPMR. */ + DSB SY /* _RB_Barriers probably not required here. */ + ISB SY + STR X3, [X0] /* Restore the task's critical nesting count. */ + + /* Restore the FPU context indicator. */ + LDR X0, ullPortTaskHasFPUContextConst + STR X2, [X0] + + /* Restore the FPU context, if any. */ + CMP X2, #0 + B.EQ 1f + LDP Q30, Q31, [SP], #0x20 + LDP Q28, Q29, [SP], #0x20 + LDP Q26, Q27, [SP], #0x20 + LDP Q24, Q25, [SP], #0x20 + LDP Q22, Q23, [SP], #0x20 + LDP Q20, Q21, [SP], #0x20 + LDP Q18, Q19, [SP], #0x20 + LDP Q16, Q17, [SP], #0x20 + LDP Q14, Q15, [SP], #0x20 + LDP Q12, Q13, [SP], #0x20 + LDP Q10, Q11, [SP], #0x20 + LDP Q8, Q9, [SP], #0x20 + LDP Q6, Q7, [SP], #0x20 + LDP Q4, Q5, [SP], #0x20 + LDP Q2, Q3, [SP], #0x20 + LDP Q0, Q1, [SP], #0x20 +1: + LDP X2, X3, [SP], #0x10 /* SPSR and ELR. */ + +#if defined( GUEST ) + /* Restore the SPSR. */ + MSR SPSR_EL1, X3 + /* Restore the ELR. */ + MSR ELR_EL1, X2 +#else + /* Restore the SPSR. */ +# MSR SPSR_EL3, X3 /*_RB_ Assumes started in EL3. */ + /* Restore the ELR. */ +# MSR ELR_EL3, X2 +#endif + + LDP X30, XZR, [SP], #0x10 + LDP X28, X29, [SP], #0x10 + LDP X26, X27, [SP], #0x10 + LDP X24, X25, [SP], #0x10 + LDP X22, X23, [SP], #0x10 + LDP X20, X21, [SP], #0x10 + LDP X18, X19, [SP], #0x10 + LDP X16, X17, [SP], #0x10 + LDP X14, X15, [SP], #0x10 + LDP X12, X13, [SP], #0x10 + LDP X10, X11, [SP], #0x10 + LDP X8, X9, [SP], #0x10 + LDP X6, X7, [SP], #0x10 + LDP X4, X5, [SP], #0x10 + LDP X2, X3, [SP], #0x10 + LDP X0, X1, [SP], #0x10 + + /* Switch to use the ELx stack pointer. _RB_ Might not be required. */ + MSR SPSEL, #1 + + ERET + + .endm + + +/****************************************************************************** + * FreeRTOS_SWI_Handler handler is used to perform a context switch. + *****************************************************************************/ +.align 8 +.type FreeRTOS_SWI_Handler, %function +FreeRTOS_SWI_Handler: + /* Save the context of the current task and select a new task to run. */ + portSAVE_CONTEXT +#if defined( GUEST ) + MRS X0, ESR_EL1 +#else +# MRS X0, ESR_EL3 +#endif + + LSR X1, X0, #26 + +#if defined( GUEST ) + CMP X1, #0x15 /* 0x15 = SVC instruction. */ +#else +# CMP X1, #0x17 /* 0x17 = SMC instruction. */ +#endif + B.NE FreeRTOS_Abort + BL vTaskSwitchContext + + portRESTORE_CONTEXT + +FreeRTOS_Abort: + /* Full ESR is in X0, exception class code is in X1. */ + B . + +/****************************************************************************** + * vPortRestoreTaskContext is used to start the scheduler. + *****************************************************************************/ +.align 8 +.type vPortRestoreTaskContext, %function +vPortRestoreTaskContext: +.set freertos_vector_base, _freertos_vector_table + + /* Install the FreeRTOS interrupt handlers. */ + LDR X1, =freertos_vector_base +#if defined( GUEST ) + MSR VBAR_EL1, X1 +#else +# MSR VBAR_EL3, X1 +#endif + DSB SY + ISB SY + + /* Start the first task. */ + portRESTORE_CONTEXT + + +/****************************************************************************** + * FreeRTOS_IRQ_Handler handles IRQ entry and exit. + *****************************************************************************/ +.align 8 +.type FreeRTOS_IRQ_Handler, %function +FreeRTOS_IRQ_Handler: + /* Save volatile registers. */ + STP X0, X1, [SP, #-0x10]! + STP X2, X3, [SP, #-0x10]! + STP X4, X5, [SP, #-0x10]! + STP X6, X7, [SP, #-0x10]! + STP X8, X9, [SP, #-0x10]! + STP X10, X11, [SP, #-0x10]! + STP X12, X13, [SP, #-0x10]! + STP X14, X15, [SP, #-0x10]! + STP X16, X17, [SP, #-0x10]! + STP X18, X19, [SP, #-0x10]! + STP X29, X30, [SP, #-0x10]! + + /* Save the SPSR and ELR. */ +#if defined( GUEST ) + MRS X3, SPSR_EL1 + MRS X2, ELR_EL1 +#else +# MRS X3, SPSR_EL3 +# MRS X2, ELR_EL3 +#endif + STP X2, X3, [SP, #-0x10]! + + /* Increment the interrupt nesting counter. */ + LDR X5, ullPortInterruptNestingConst + LDR X1, [X5] /* Old nesting count in X1. */ + ADD X6, X1, #1 + STR X6, [X5] /* Address of nesting count variable in X5. */ + + /* Maintain the interrupt nesting information across the function call. */ + STP X1, X5, [SP, #-0x10]! + + /* Read value from the interrupt acknowledge register, which is stored in W0 + for future parameter and interrupt clearing use. */ + LDR X2, ullICCIARConst + LDR X3, [X2] + LDR W0, [X3] /* ICCIAR in W0 as parameter. */ + + /* Maintain the ICCIAR value across the function call. */ + STP X0, X1, [SP, #-0x10]! + + /* Call the C handler. */ + BL vApplicationIRQHandler + + /* Disable interrupts. */ + MSR DAIFSET, #2 + DSB SY + ISB SY + + /* Restore the ICCIAR value. */ + LDP X0, X1, [SP], #0x10 + + /* End IRQ processing by writing ICCIAR to the EOI register. */ + LDR X4, ullICCEOIRConst + LDR X4, [X4] + STR W0, [X4] + + /* Restore the critical nesting count. */ + LDP X1, X5, [SP], #0x10 + STR X1, [X5] + + /* Has interrupt nesting unwound? */ + CMP X1, #0 + B.NE Exit_IRQ_No_Context_Switch + + /* Is a context switch required? */ + LDR X0, ullPortYieldRequiredConst + LDR X1, [X0] + CMP X1, #0 + B.EQ Exit_IRQ_No_Context_Switch + + /* Reset ullPortYieldRequired to 0. */ + MOV X2, #0 + STR X2, [X0] + + /* Restore volatile registers. */ + LDP X4, X5, [SP], #0x10 /* SPSR and ELR. */ +#if defined( GUEST ) + MSR SPSR_EL1, X5 + MSR ELR_EL1, X4 +#else +# MSR SPSR_EL3, X5 /*_RB_ Assumes started in EL3. */ +# MSR ELR_EL3, X4 +#endif + DSB SY + ISB SY + + LDP X29, X30, [SP], #0x10 + LDP X18, X19, [SP], #0x10 + LDP X16, X17, [SP], #0x10 + LDP X14, X15, [SP], #0x10 + LDP X12, X13, [SP], #0x10 + LDP X10, X11, [SP], #0x10 + LDP X8, X9, [SP], #0x10 + LDP X6, X7, [SP], #0x10 + LDP X4, X5, [SP], #0x10 + LDP X2, X3, [SP], #0x10 + LDP X0, X1, [SP], #0x10 + + /* Save the context of the current task and select a new task to run. */ + portSAVE_CONTEXT + BL vTaskSwitchContext + portRESTORE_CONTEXT + +Exit_IRQ_No_Context_Switch: + /* Restore volatile registers. */ + LDP X4, X5, [SP], #0x10 /* SPSR and ELR. */ +#if defined( GUEST ) + MSR SPSR_EL1, X5 + MSR ELR_EL1, X4 +#else +# MSR SPSR_EL3, X5 /*_RB_ Assumes started in EL3. */ +# MSR ELR_EL3, X4 +#endif + DSB SY + ISB SY + + LDP X29, X30, [SP], #0x10 + LDP X18, X19, [SP], #0x10 + LDP X16, X17, [SP], #0x10 + LDP X14, X15, [SP], #0x10 + LDP X12, X13, [SP], #0x10 + LDP X10, X11, [SP], #0x10 + LDP X8, X9, [SP], #0x10 + LDP X6, X7, [SP], #0x10 + LDP X4, X5, [SP], #0x10 + LDP X2, X3, [SP], #0x10 + LDP X0, X1, [SP], #0x10 + + ERET + + + + +.align 8 +pxCurrentTCBConst: .dword pxCurrentTCB +ullCriticalNestingConst: .dword ullCriticalNesting +ullPortTaskHasFPUContextConst: .dword ullPortTaskHasFPUContext +ullICCPMRConst: .dword ullICCPMR +ullMaxAPIPriorityMaskConst: .dword ullMaxAPIPriorityMask +vApplicationIRQHandlerConst: .word vApplicationIRQHandler + +.align 8 +ullPortInterruptNestingConst: .dword ullPortInterruptNesting +ullPortYieldRequiredConst: .dword ullPortYieldRequired +ullICCIARConst: .dword ullICCIAR +ullICCEOIRConst: .dword ullICCEOIR + + + +.end + + + + + diff --git a/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portmacro.h b/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portmacro.h new file mode 100644 index 000000000..c16449976 --- /dev/null +++ b/uboot-compiler/bm_crazyflie_bitcraze/ARM_CA72_64_BIT/portmacro.h @@ -0,0 +1,211 @@ +/* + * FreeRTOS Kernel V10.3.0 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +#ifndef PORTMACRO_H +#define PORTMACRO_H + +#ifdef __cplusplus + extern "C" { +#endif + +/*----------------------------------------------------------- + * Port specific definitions. + * + * The settings in this file configure FreeRTOS correctly for the given hardware + * and compiler. + * + * These settings should not be altered. + *----------------------------------------------------------- + */ + +/* Type definitions. */ +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short +#define portSTACK_TYPE size_t +#define portBASE_TYPE long + +typedef portSTACK_TYPE StackType_t; +typedef portBASE_TYPE BaseType_t; +typedef uint64_t UBaseType_t; + +typedef uint64_t TickType_t; +#define portMAX_DELAY ( ( TickType_t ) 0xffffffffffffffff ) + +/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do +not need to be guarded with a critical section. */ +#define portTICK_TYPE_IS_ATOMIC 1 + +/*-----------------------------------------------------------*/ + +/* Hardware specifics. */ +#define portSTACK_GROWTH ( -1 ) +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#define portBYTE_ALIGNMENT 16 +#define portPOINTER_SIZE_TYPE uint64_t + +/*-----------------------------------------------------------*/ + +/* Task utilities. */ + +/* Called at the end of an ISR that can cause a context switch. */ +#define portEND_SWITCHING_ISR( xSwitchRequired )\ +{ \ +extern uint64_t ullPortYieldRequired; \ + \ + if( xSwitchRequired != pdFALSE ) \ + { \ + ullPortYieldRequired = pdTRUE; \ + } \ +} + +#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x ) +#if defined( GUEST ) + #define portYIELD() __asm volatile ( "SVC 0" ::: "memory" ) +#else + #define portYIELD() __asm volatile ( "SMC 0" ::: "memory" ) +#endif +/*----------------------------------------------------------- + * Critical section control + *----------------------------------------------------------*/ + +extern void vPortEnterCritical( void ); +extern void vPortExitCritical( void ); +extern UBaseType_t uxPortSetInterruptMask( void ); +extern void vPortClearInterruptMask( UBaseType_t uxNewMaskValue ); +extern void vPortInstallFreeRTOSVectorTable( void ); + +#define portDISABLE_INTERRUPTS() \ + __asm volatile ( "MSR DAIFSET, #2" ::: "memory" ); \ + __asm volatile ( "DSB SY" ); \ + __asm volatile ( "ISB SY" ); + +#define portENABLE_INTERRUPTS() \ + __asm volatile ( "MSR DAIFCLR, #2" ::: "memory" ); \ + __asm volatile ( "DSB SY" ); \ + __asm volatile ( "ISB SY" ); + + +/* These macros do not globally disable/enable interrupts. They do mask off +interrupts that have a priority below configMAX_API_CALL_INTERRUPT_PRIORITY. */ +#define portENTER_CRITICAL() vPortEnterCritical(); +#define portEXIT_CRITICAL() vPortExitCritical(); +#define portSET_INTERRUPT_MASK_FROM_ISR() uxPortSetInterruptMask() +#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vPortClearInterruptMask(x) + +/*-----------------------------------------------------------*/ + +/* Task function macros as described on the FreeRTOS.org WEB site. These are +not required for this port but included in case common demo code that uses these +macros is used. */ +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) + +/* Prototype of the FreeRTOS tick handler. This must be installed as the +handler for whichever peripheral is used to generate the RTOS tick. */ +void FreeRTOS_Tick_Handler( void ); + +/* Any task that uses the floating point unit MUST call vPortTaskUsesFPU() +before any floating point instructions are executed. */ +void vPortTaskUsesFPU( void ); +#define portTASK_USES_FLOATING_POINT() vPortTaskUsesFPU() + +#define portLOWEST_INTERRUPT_PRIORITY ( ( ( uint32_t ) configUNIQUE_INTERRUPT_PRIORITIES ) - 1UL ) +#define portLOWEST_USABLE_INTERRUPT_PRIORITY ( portLOWEST_INTERRUPT_PRIORITY - 1UL ) + +/* Architecture specific optimisations. */ +#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION + #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 +#endif + +#if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 + + /* Store/clear the ready priorities in a bit map. */ + #define portRECORD_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) |= ( 1UL << ( uxPriority ) ) + #define portRESET_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) &= ~( 1UL << ( uxPriority ) ) + + /*-----------------------------------------------------------*/ + + #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxReadyPriorities ) uxTopPriority = ( 31 - __builtin_clz( uxReadyPriorities ) ) + +#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */ + +#ifdef configASSERT + void vPortValidateInterruptPriority( void ); + #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() vPortValidateInterruptPriority() +#endif /* configASSERT */ + +#define portNOP() __asm volatile( "NOP" ) +#define portINLINE __inline + +#ifdef __cplusplus + } /* extern C */ +#endif + + +/* The number of bits to shift for an interrupt priority is dependent on the +number of bits implemented by the interrupt controller. */ +#if configUNIQUE_INTERRUPT_PRIORITIES == 16 + #define portPRIORITY_SHIFT 4 + #define portMAX_BINARY_POINT_VALUE 3 +#elif configUNIQUE_INTERRUPT_PRIORITIES == 32 + #define portPRIORITY_SHIFT 3 + #define portMAX_BINARY_POINT_VALUE 2 +#elif configUNIQUE_INTERRUPT_PRIORITIES == 64 + #define portPRIORITY_SHIFT 2 + #define portMAX_BINARY_POINT_VALUE 1 +#elif configUNIQUE_INTERRUPT_PRIORITIES == 128 + #define portPRIORITY_SHIFT 1 + #define portMAX_BINARY_POINT_VALUE 0 +#elif configUNIQUE_INTERRUPT_PRIORITIES == 256 + #define portPRIORITY_SHIFT 0 + #define portMAX_BINARY_POINT_VALUE 0 +#else + #error Invalid configUNIQUE_INTERRUPT_PRIORITIES setting. configUNIQUE_INTERRUPT_PRIORITIES must be set to the number of unique priorities implemented by the target hardware +#endif + +/* Interrupt controller access addresses. */ +#define portICCPMR_PRIORITY_MASK_OFFSET ( 0x04 ) +#define portICCIAR_INTERRUPT_ACKNOWLEDGE_OFFSET ( 0x0C ) +#define portICCEOIR_END_OF_INTERRUPT_OFFSET ( 0x10 ) +#define portICCBPR_BINARY_POINT_OFFSET ( 0x08 ) +#define portICCRPR_RUNNING_PRIORITY_OFFSET ( 0x14 ) + +#define portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS ( configINTERRUPT_CONTROLLER_BASE_ADDRESS + configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET ) +#define portICCPMR_PRIORITY_MASK_REGISTER ( *( ( volatile uint32_t * ) ( portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS + portICCPMR_PRIORITY_MASK_OFFSET ) ) ) +#define portICCIAR_INTERRUPT_ACKNOWLEDGE_REGISTER_ADDRESS ( portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS + portICCIAR_INTERRUPT_ACKNOWLEDGE_OFFSET ) +#define portICCEOIR_END_OF_INTERRUPT_REGISTER_ADDRESS ( portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS + portICCEOIR_END_OF_INTERRUPT_OFFSET ) +#define portICCPMR_PRIORITY_MASK_REGISTER_ADDRESS ( portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS + portICCPMR_PRIORITY_MASK_OFFSET ) +#define portICCBPR_BINARY_POINT_REGISTER ( *( ( const volatile uint32_t * ) ( portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS + portICCBPR_BINARY_POINT_OFFSET ) ) ) +#define portICCRPR_RUNNING_PRIORITY_REGISTER ( *( ( const volatile uint32_t * ) ( portINTERRUPT_CONTROLLER_CPU_INTERFACE_ADDRESS + portICCRPR_RUNNING_PRIORITY_OFFSET ) ) ) + +#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" ) + +#endif /* PORTMACRO_H */ + diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/FreeRTOS_asm_vector.o b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/FreeRTOS_asm_vector.o new file mode 100644 index 0000000000000000000000000000000000000000..efba03d7f333ba6a058665d45dd597c85481ccde GIT binary patch literal 9240 zcmeI2%}T>S5XYyDsPzM?2#OwTK@dSA-o#TBTPz4-DvGC&+K7j0AX%iI^x(lq@J+n> z7(R|W*(AH&qzHOg#98QO=D#yLyT5Fq(0yv1w5yd0WUT`4AiYcl_-snsNlXW7FfB#0 zhyW2F0z`la5P`o$V9D@eslM44K>UfnNdk2KOwtD+{{Nf5+1*ohB0vO)01+SpM8E_A z`u%5ux~xh3B?}W4@i#$T)+GLtg$axJo1iXhe#_q~{YM_af~uTFu`E7P)-0GP$ZLsG z)aS?O;%-1OUMRe;kCs^EZXN4t`c|Tk#-g_~Mn4*(!^RNWZmZ><pLV^A!vhz*n<xk( z7RKH~aLvNVV}5TCfY%E{25ml;gmy1G-m!n*9|VyUJMLL7;$oDx$~Qiv_}P9?pH=kd zbf2itDLNns-U{)GJ`!)ok9U0KV8<*H&)dvm!H|L7_n8lNFOI>Ef`M;~-NvHKuX{Wf z_^v0lnH<f}T#Qv)lRK#CC(%)Z6kE^V<YRcd<fr+&JXfDHDVJVZd09?8*=bi<w)qI2 zX-7sRRs%Q2+fY0bJ{Xs!ucSKGF8g-Au8V-Zba7MMt?`eZkD9)B%=~Cz4{#+Od7n;~ T`wQGE%YSQ%ko`PT7<&E}40%D% literal 0 HcmV?d00001 diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/Makefile b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/Makefile index 2b8a2293a..af98a983e 100644 --- a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/Makefile +++ b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/Makefile @@ -55,7 +55,7 @@ UART2_LINK ?= 0 ############### CPU-specific build configuration ################ ifeq ($(CPU), stm32f4) -PORT = $(FREERTOS)/portable/GCC/ARM_CM4F +PORT = $(FREERTOS)/portable/GCC/ARM_CA72_64_BIT LINKER_DIR = $(CRAZYFLIE_BASE)/tools/make/F405/linker ST_OBJ_DIR = $(CRAZYFLIE_BASE)/tools/make/F405 @@ -78,8 +78,8 @@ ST_OBJ += usb_core.o usb_dcd_int.o usb_dcd.o # USB Device obj ST_OBJ += usbd_ioreq.o usbd_req.o usbd_core.o -PROCESSOR = -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -CFLAGS += -fno-math-errno -DARM_MATH_CM4 -D__FPU_PRESENT=1 -mfp16-format=ieee +PROCESSOR = -mcpu=cortex-a72 #-mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 +CFLAGS += -fno-math-errno -DARM_MATH_CM4 -D__FPU_PRESENT=1 #-mfp16-format=ieee #Flags required by the ST library CFLAGS += -DSTM32F4XX -DSTM32F40_41xxx -DHSE_VALUE=8000000 -DUSE_STDPERIPH_DRIVER @@ -269,6 +269,37 @@ PROJ_OBJ += sleepus.o statsCnt.o rateSupervisor.o PROJ_OBJ += lighthouse_core.o pulse_processor.o pulse_processor_v1.o pulse_processor_v2.o lighthouse_geometry.o ootx_decoder.o lighthouse_calibration.o lighthouse_deck_flasher.o lighthouse_position_est.o lighthouse_storage.o PROJ_OBJ += kve_storage.o kve.o + +# From ./src +PROJ_OBJ = startup.o +PROJ_OBJ +=FreeRTOS_asm_vector.o +PROJ_OBJ +=FreeRTOS_tick_config.o +PROJ_OBJ +=interrupt.o +PROJ_OBJ +=main.o +PROJ_OBJ +=mmu_cfg.o +PROJ_OBJ +=uart.o + +# From ../mmu +PROJ_OBJ +=mmu.o + +# From ../cache +PROJ_OBJ +=cache.o + +# From ../musl_libc +PROJ_OBJ +=memset.o +PROJ_OBJ +=memcpy.o + +# From ../../../Source/portable/GCC/ARM_CA72_64_BIT +#PROJ_OBJ +=port.o +#PROJ_OBJ +=portASM.o + +#PROJ_OBJ +=list.o +#PROJ_OBJ +=queue.o +#PROJ_OBJ +=tasks.o +#PROJ_OBJ +=timers.o + +#PROJ_OBJ +=heap_1.o + ifeq ($(DEBUG_PRINT_ON_SEGGER_RTT), 1) VPATH += $(LIB)/Segger_RTT/RTT INCLUDES += -I$(LIB)/Segger_RTT/RTT @@ -308,6 +339,11 @@ INCLUDES += -I$(LIB)/STM32_USB_Device_Library/Core/inc INCLUDES += -I$(LIB)/STM32_USB_OTG_Driver/inc INCLUDES += -I$(LIB)/STM32F4xx_StdPeriph_Driver/inc INCLUDES += -I$(LIB)/vl53l1 -I$(LIB)/vl53l1/core/inc +INCLUDES += -I$./src/uart/src +INCLUDES += -I$./src/musl_libc +INCLUDES += -I$./src/mmu +#INCLUDES += -I$../../Source/include +#INCLUDES += -I$../../Source/portable/GCC/ARM_CA72_64_BIT CFLAGS += -g3 ifeq ($(DEBUG), 1) @@ -343,6 +379,15 @@ CFLAGS += -ffunction-sections -fdata-sections # Prevent promoting floats to doubles CFLAGS += -Wdouble-promotion +CFLAGS += -fpic \ + -ffreestanding \ + -std=gnu99 \ + -O2 \ + -Wall \ + -Wextra \ + -DGUEST \ + -D__LINUX__ + ASFLAGS = $(PROCESSOR) $(INCLUDES) LDFLAGS += --specs=nosys.specs --specs=nano.specs $(PROCESSOR) -Wl,-Map=$(PROG).map,--cref,--gc-sections,--undefined=uxTopUsedPriority @@ -394,8 +439,10 @@ ifeq ($(wildcard $(CRAZYFLIE_BASE)/vendor/*/*),) endif #################### Targets ############################### +BUILTIN_OPS = -fno-builtin-memset +ASMFLAGS = -mcpu=cortex-a72 -all: bin/ bin/dep bin/vendor check_submodules build +all: bin/ bin/dep bin/vendor check_submodules build linker build: # Each target is in a different line, so they are executed one after the other even when the processor has multiple cores (when the -j option for the make command is > 1). See: https://www.gnu.org/software/make/manual/html_node/Parallel.html @$(MAKE) --no-print-directory clean_version CRAZYFLIE_BASE=$(CRAZYFLIE_BASE) @@ -404,6 +451,38 @@ build: @$(MAKE) --no-print-directory size CRAZYFLIE_BASE=$(CRAZYFLIE_BASE) compile: $(PROG).hex $(PROG).bin $(PROG).dfu +linker : src/raspberrypi4.ld $(PROJ_OBJ) + $(CROSS)gcc -Wl,--build-id=none -std=gnu99 -T src/raspberrypi4.ld -o $@ -ffreestanding -nostdlib --specs=nosys.specs $(BUILTIN_OPS) $(PROJ_OBJ) + $(CROSS)objdump -d cf2.elf > cf2.list + + +%.o : src/uart/src/%.S + $(CROSS)as $(ASMFLAGS) -c -o $@ $< + +%.o : src/uart/src/%.c + $(CROSS)gcc $(CFLAGS) -c -o $@ $< + +%.o : src/mmu/%.c + $(CROSS)gcc $(CFLAGS) -c -o $@ $< + +%.o : src/cache/%.S + $(CROSS)gcc $(CFLAGS) -c -o $@ $< + +%.o : src/musl_libc/%.c + $(CROSS)gcc $(CFLAGS) -c -o $@ $< + +#%.o : ../../Source/%.c +# $(CROSS)gcc $(CFLAGS) -c -o $@ $< + +#%.o : ../../Source/portable/GCC/ARM_CA72_64_BIT/%.c +# $(CROSS)gcc $(CFLAGS) -c -o $@ $< + +#%.o : ../../Source/portable/GCC/ARM_CA72_64_BIT/%.S +# $(CROSS)as $(ASMFLAGS) -c -o $@ $< + +#%.o : ../../Source/portable/MemMang/%.c +# $(CROSS)gcc $(CFLAGS) -c -o $@ $< + bin/: mkdir -p bin diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/list.o.d b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/list.o.d index 1e6318307..23833862a 100644 --- a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/list.o.d +++ b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/list.o.d @@ -53,7 +53,7 @@ list.o: vendor/FreeRTOS/list.c /usr/include/newlib/stdlib.h \ /usr/lib/gcc/arm-none-eabi/9.2.1/include/stdarg.h \ vendor/FreeRTOS/include/projdefs.h vendor/FreeRTOS/include/portable.h \ vendor/FreeRTOS/include/deprecated_definitions.h \ - vendor/FreeRTOS/portable/GCC/ARM_CM4F/portmacro.h \ + vendor/FreeRTOS/portable/GCC/ARM_CA72_64_BIT/portmacro.h \ vendor/FreeRTOS/include/mpu_wrappers.h vendor/FreeRTOS/include/list.h /usr/include/newlib/stdlib.h: @@ -192,7 +192,7 @@ vendor/FreeRTOS/include/portable.h: vendor/FreeRTOS/include/deprecated_definitions.h: -vendor/FreeRTOS/portable/GCC/ARM_CM4F/portmacro.h: +vendor/FreeRTOS/portable/GCC/ARM_CA72_64_BIT/portmacro.h: vendor/FreeRTOS/include/mpu_wrappers.h: diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/tasks.o.d b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/tasks.o.d index 99bf82091..586a0444c 100644 --- a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/tasks.o.d +++ b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/dep/tasks.o.d @@ -55,7 +55,7 @@ tasks.o: vendor/FreeRTOS/tasks.c /usr/include/newlib/stdlib.h \ /usr/lib/gcc/arm-none-eabi/9.2.1/include/stdarg.h \ vendor/FreeRTOS/include/projdefs.h vendor/FreeRTOS/include/portable.h \ vendor/FreeRTOS/include/deprecated_definitions.h \ - vendor/FreeRTOS/portable/GCC/ARM_CM4F/portmacro.h \ + vendor/FreeRTOS/portable/GCC/ARM_CA72_64_BIT/portmacro.h \ vendor/FreeRTOS/include/mpu_wrappers.h vendor/FreeRTOS/include/task.h \ vendor/FreeRTOS/include/list.h vendor/FreeRTOS/include/timers.h \ vendor/FreeRTOS/include/task.h vendor/FreeRTOS/include/stack_macros.h @@ -204,7 +204,7 @@ vendor/FreeRTOS/include/portable.h: vendor/FreeRTOS/include/deprecated_definitions.h: -vendor/FreeRTOS/portable/GCC/ARM_CM4F/portmacro.h: +vendor/FreeRTOS/portable/GCC/ARM_CA72_64_BIT/portmacro.h: vendor/FreeRTOS/include/mpu_wrappers.h: diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/list.o b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/bin/list.o index ada96f33fd1c3ffe235469aa4a921cf141a5dfc3..e4956caae04af2468a7f27f7c60ee80846070a14 100644 GIT binary patch delta 81748 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�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 delta 79889 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 S$MQN|lqxN=O?obpss96ObyNQU diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/src/config/FreeRTOSConfig.h b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/src/config/FreeRTOSConfig.h index ad9af7c29..af4e8d8f9 100644 --- a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/src/config/FreeRTOSConfig.h +++ b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/src/config/FreeRTOSConfig.h @@ -70,17 +70,17 @@ * See http://www.freertos.org/a00110.html. *----------------------------------------------------------*/ -#define configUSE_PREEMPTION 1 -#define configUSE_IDLE_HOOK 1 -#define configUSE_TICK_HOOK 0 +// #define configUSE_PREEMPTION 1 +// #define configUSE_IDLE_HOOK 1 +// #define configUSE_TICK_HOOK 0 #define configCPU_CLOCK_HZ ( ( unsigned long ) FREERTOS_MCU_CLOCK_HZ ) #define configTICK_RATE_HZ_RAW 1000 -#define configTICK_RATE_HZ ( ( portTickType ) configTICK_RATE_HZ_RAW ) -#define configMINIMAL_STACK_SIZE ( ( unsigned short ) FREERTOS_MIN_STACK_SIZE ) -#define configTOTAL_HEAP_SIZE ( ( size_t ) ( FREERTOS_HEAP_SIZE ) ) +//#define configTICK_RATE_HZ ( ( portTickType ) configTICK_RATE_HZ_RAW ) +//#define configMINIMAL_STACK_SIZE ( ( unsigned short ) FREERTOS_MIN_STACK_SIZE ) +//#define configTOTAL_HEAP_SIZE ( ( size_t ) ( FREERTOS_HEAP_SIZE ) ) #define configMAX_TASK_NAME_LEN ( 10 ) #define configUSE_16_BIT_TICKS 0 -#define configIDLE_SHOULD_YIELD 0 +//#define configIDLE_SHOULD_YIELD 0 #define configUSE_CO_ROUTINES 0 #ifdef DEBUG #define configCHECK_FOR_STACK_OVERFLOW 1 @@ -88,12 +88,12 @@ #define configCHECK_FOR_STACK_OVERFLOW 0 #endif #define configUSE_TIMERS 1 -#define configTIMER_TASK_PRIORITY 1 -#define configTIMER_QUEUE_LENGTH 20 +//#define configTIMER_TASK_PRIORITY 1 +//#define configTIMER_QUEUE_LENGTH 20 #define configUSE_MALLOC_FAILED_HOOK 1 -#define configTIMER_TASK_STACK_DEPTH (configMINIMAL_STACK_SIZE * 4) +//#define configTIMER_TASK_STACK_DEPTH (configMINIMAL_STACK_SIZE * 4) -#define configMAX_PRIORITIES ( 6 ) +//#define configMAX_PRIORITIES ( 6 ) #define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) /* Set the following definitions to 1 to include the API function, or zero @@ -118,7 +118,8 @@ to exclude the API function. */ //Map the port handler to the crt0 interruptions handlers #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler tickFreeRTOS -#define vPortSVCHandler SVC_Handler +#define vPortSVCHandler SVCne configUSE_PREEMPTION 1 +//#define configUSE_IDLE_HOOK 1_Handler //Milliseconds to OS Ticks #if configTICK_RATE_HZ_RAW != 1000 @@ -170,4 +171,38 @@ to exclude the API function. */ void qm_traceQUEUE_SEND_FAILED(void* xQueue); #endif // DEBUG_QUEUE_MONITOR +#define configUSE_PREEMPTION 1 +#define configUSE_IDLE_HOOK 1 +#define configUSE_TICK_HOOK 1 +#define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) +#define configMAX_PRIORITIES ( 8 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 200 ) +#define configTOTAL_HEAP_SIZE ( 124 * 1024 ) +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 1 + +#define configUSE_MUTEXES 1 + +/* Software timer definitions. */ +#define configUSE_TIMERS 1 +#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) +#define configTIMER_QUEUE_LENGTH 5 +#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 ) + +/* Set the following definitions to 1 to include the API function, or zero +to exclude the API function. */ +#define INCLUDE_vTaskDelay 1 + +#define INCLUDE_xSemaphoreGetMutexHolder 1 + +void vConfigureTickInterrupt( void ); +#define configSETUP_TICK_INTERRUPT() vConfigureTickInterrupt() +void vClearTickInterrupt( void ); +#define configCLEAR_TICK_INTERRUPT() vClearTickInterrupt() + +#define configINTERRUPT_CONTROLLER_BASE_ADDRESS (0xFF841000U) +#define configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET (0x1000U) +#define configUNIQUE_INTERRUPT_PRIORITIES (16) +#define configMAX_API_CALL_INTERRUPT_PRIORITY (14) + #endif /* FREERTOS_CONFIG_H */ diff --git a/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/startup.o b/uboot-compiler/bm_crazyflie_bitcraze/FreeRTOS/Demo/CORTEX_A72_64-bit_Raspberrypi4/startup.o new file mode 100644 index 0000000000000000000000000000000000000000..3ff0c1abe7f60c886c96d1d23b5a18cb0f8378aa GIT binary patch literal 1592 zcmbW1&ui2`6vw~GgxW&Yv|d&!($=CLBv60RgODidsRsoQ1rKR<8|~6=BiSjeB6KbO z0aZMB5W4mxo{ATHES@|EvRC~VysfADCYjh_nq2n5WZwJC`!Vy9$<~9#ho)hm5Ch+F zY!wt3uw&iJR1aeq#b+#}GnV(>9mk(H3{Qal1lan9i3{m3m!*51Zen`5z75#3Qvc0% z`*-by6eGQ48u;qjwUp}axWKz*6H9>G4`}{jphj^w-M1Lrv+#KD=;#)e|8U6szHzae zY#Ugb1^(_%v(%>nbQ7_bZE?s4EA0TlV3uZNv{EJv)(M>V_9V}Vh1Xid+03?JYy7<A zcQk%U@{bxX>VDFA;osBvWwPy({a?$t=1k`83Vy$WKdRtQEBJB+$6N<%&BmJFh~n@D z+B}H4AFf~jugzm_1%5q>xIpB{qZepI8_$~0H{;N6wKn1V^>*9OLJPh5Dnu)2Zjhbx zMXE3495wQEu4Ydz^(o>L3NQL^5?9|{Px^=}cSiC5qVW8k=U`vqlZro__RAIz>NN8> zpH~ZwhaC=QCEx)ZIvJceTn`*UovaUPnql=R3Zx@oL`&dlc3}!%Rc6Q#Ouspv>ZIs; z{1sXor7>*$JjIHfRr^1nHC03{Rm43Ich*xO=~v~3b|e@1g<lb0lU&p;`<o2p`cHY_ kQ)G|R(BsF5>1P+AhcfA^Fci`IC%)CP_yY;`|B4>}57!=li2wiq literal 0 HcmV?d00001 -- GitLab