mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-12 06:35:19 -05:00
Fixed include paths to submodules in preprocessing script.
This commit is contained in:
parent
ea00b82275
commit
75fa197ac9
2 changed files with 178 additions and 126 deletions
|
|
@ -46,8 +46,8 @@ clang -E -C -DFREE_RTOS_KERNEL_SMP=1 -DLIB_FREERTOS_KERNEL=1 -DLIB_PICO_BIT_OPS
|
||||||
-I"$VF_DIR/bin" \
|
-I"$VF_DIR/bin" \
|
||||||
-I"$PROOF_SETUP_DIR" \
|
-I"$PROOF_SETUP_DIR" \
|
||||||
-I"$SMP_DEMO_DIR/FreeRTOS/Demo/CORTEX_M0+_RP2040/OnEitherCore" \
|
-I"$SMP_DEMO_DIR/FreeRTOS/Demo/CORTEX_M0+_RP2040/OnEitherCore" \
|
||||||
-I"$SMP_DEMO_DIR/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include" \
|
-I"$REPO_BASE_DIR/portable/ThirdParty/GCC/RP2040/include" \
|
||||||
-I"$SMP_DEMO_DIR/FreeRTOS/Source/include" \
|
-I"$REPO_BASE_DIR/include" \
|
||||||
-I"$PICO_SDK_DIR/src/common/pico_base/include" \
|
-I"$PICO_SDK_DIR/src/common/pico_base/include" \
|
||||||
-I"$SMP_DEMO_DIR/FreeRTOS/Demo/CORTEX_M0+_RP2040/build/generated/pico_base" \
|
-I"$SMP_DEMO_DIR/FreeRTOS/Demo/CORTEX_M0+_RP2040/build/generated/pico_base" \
|
||||||
-I"$PICO_SDK_DIR/src/boards/include" \
|
-I"$PICO_SDK_DIR/src/boards/include" \
|
||||||
|
|
|
||||||
|
|
@ -224,9 +224,9 @@ char *strdup(char *string);
|
||||||
|
|
||||||
|
|
||||||
/* FreeRTOS includes. */
|
/* FreeRTOS includes. */
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -285,7 +285,7 @@ typedef unsigned __int16 uint16_t;
|
||||||
typedef unsigned __int32 uint32_t;
|
typedef unsigned __int32 uint32_t;
|
||||||
typedef unsigned __int64 uint64_t;
|
typedef unsigned __int64 uint64_t;
|
||||||
typedef unsigned __int128 uint128_t;
|
typedef unsigned __int128 uint128_t;
|
||||||
// # 49 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h" 2
|
// # 49 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h" 2
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
|
||||||
|
|
@ -988,12 +988,12 @@ void __assert_rtn(const char *, const char *, int, const char *) ;
|
||||||
to exclude the API function. */
|
to exclude the API function. */
|
||||||
// # 138 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/FreeRTOSConfig.h"
|
// # 138 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/proof_setup/FreeRTOSConfig.h"
|
||||||
/* A header file that defines trace macro can be included here. */
|
/* A header file that defines trace macro can be included here. */
|
||||||
// # 58 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h" 2
|
// # 58 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h" 2
|
||||||
|
|
||||||
/* Basic FreeRTOS definitions. */
|
/* Basic FreeRTOS definitions. */
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/projdefs.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/projdefs.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -1030,29 +1030,29 @@ typedef void (* TaskFunction_t)( void * );
|
||||||
/* Converts a time in milliseconds to a time in ticks. This macro can be
|
/* Converts a time in milliseconds to a time in ticks. This macro can be
|
||||||
* overridden by a macro of the same name defined in FreeRTOSConfig.h in case the
|
* overridden by a macro of the same name defined in FreeRTOSConfig.h in case the
|
||||||
* definition here is not suitable for your application. */
|
* definition here is not suitable for your application. */
|
||||||
// # 51 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/projdefs.h"
|
// # 51 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/projdefs.h"
|
||||||
/* FreeRTOS error definitions. */
|
/* FreeRTOS error definitions. */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Macros used for basic data corruption checks. */
|
/* Macros used for basic data corruption checks. */
|
||||||
// # 67 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/projdefs.h"
|
// # 67 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/projdefs.h"
|
||||||
/* The following errno values are used by FreeRTOS+ components, not FreeRTOS
|
/* The following errno values are used by FreeRTOS+ components, not FreeRTOS
|
||||||
* itself. */
|
* itself. */
|
||||||
// # 110 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/projdefs.h"
|
// # 110 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/projdefs.h"
|
||||||
/* The following endian values are used by FreeRTOS+ components, not FreeRTOS
|
/* The following endian values are used by FreeRTOS+ components, not FreeRTOS
|
||||||
* itself. */
|
* itself. */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Re-defining endian values for generic naming. */
|
/* Re-defining endian values for generic naming. */
|
||||||
// # 61 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h" 2
|
// # 61 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h" 2
|
||||||
|
|
||||||
/* Definitions specific to the port being used. */
|
/* Definitions specific to the port being used. */
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -1094,9 +1094,9 @@ typedef void (* TaskFunction_t)( void * );
|
||||||
* to make it clear that new projects should not use it, support for the port
|
* to make it clear that new projects should not use it, support for the port
|
||||||
* specific constants has been moved into the deprecated_definitions.h header
|
* specific constants has been moved into the deprecated_definitions.h header
|
||||||
* file. */
|
* file. */
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/deprecated_definitions.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/deprecated_definitions.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -1133,16 +1133,16 @@ typedef void (* TaskFunction_t)( void * );
|
||||||
* portmacro.h file to be located anywhere in relation to the port being used. The
|
* portmacro.h file to be located anywhere in relation to the port being used. The
|
||||||
* definitions below remain in the code for backward compatibility only. New
|
* definitions below remain in the code for backward compatibility only. New
|
||||||
* projects should not use them. */
|
* projects should not use them. */
|
||||||
// # 45 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h" 2
|
// # 45 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h" 2
|
||||||
|
|
||||||
/* If portENTER_CRITICAL is not defined then including deprecated_definitions.h
|
/* If portENTER_CRITICAL is not defined then including deprecated_definitions.h
|
||||||
* did not result in a portmacro.h header file being included - and it should be
|
* did not result in a portmacro.h header file being included - and it should be
|
||||||
* included here. In this case the path to the correct portmacro.h header file
|
* included here. In this case the path to the correct portmacro.h header file
|
||||||
* must be set in the compiler's include path. */
|
* must be set in the compiler's include path. */
|
||||||
|
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
* Copyright (c) 2021 Raspberry Pi (Trading) Ltd.
|
* Copyright (c) 2021 Raspberry Pi (Trading) Ltd.
|
||||||
*
|
*
|
||||||
|
|
@ -1169,7 +1169,7 @@ typedef void (* TaskFunction_t)( void * );
|
||||||
* https://github.com/FreeRTOS
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// # 37 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
// # 37 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/sdks/pico-sdk/src/common/pico_base/include/pico.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/sdks/pico-sdk/src/common/pico_base/include/pico.h" 1
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||||
|
|
@ -3748,7 +3748,7 @@ uint __get_current_exception(void);
|
||||||
PICO_ERROR_IO = -6
|
PICO_ERROR_IO = -6
|
||||||
};
|
};
|
||||||
// # 33 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/sdks/pico-sdk/src/common/pico_base/include/pico.h" 2
|
// # 33 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/sdks/pico-sdk/src/common/pico_base/include/pico.h" 2
|
||||||
// # 38 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h" 2
|
// # 38 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/sdks/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/sdks/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h" 1
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||||
|
|
@ -4330,7 +4330,7 @@ int spin_lock_claim_unused(bool required);
|
||||||
* \see spin_lock_claim_mask
|
* \see spin_lock_claim_mask
|
||||||
*/
|
*/
|
||||||
bool spin_lock_is_claimed(uint lock_num);
|
bool spin_lock_is_claimed(uint lock_num);
|
||||||
// # 39 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h" 2
|
// # 39 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h" 2
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
* Port specific definitions.
|
* Port specific definitions.
|
||||||
|
|
@ -4343,7 +4343,7 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Type definitions. */
|
/* Type definitions. */
|
||||||
// # 59 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
// # 59 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
typedef uint32_t StackType_t;
|
typedef uint32_t StackType_t;
|
||||||
typedef int32_t BaseType_t;
|
typedef int32_t BaseType_t;
|
||||||
typedef uint32_t UBaseType_t;
|
typedef uint32_t UBaseType_t;
|
||||||
|
|
@ -4366,6 +4366,12 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Reason for rewrite: VeriFast does not support the attriibute `used`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* We have to use PICO_DIVIDER_DISABLE_INTERRUPTS as the source of truth rathern than our config,
|
/* We have to use PICO_DIVIDER_DISABLE_INTERRUPTS as the source of truth rathern than our config,
|
||||||
* as our FreeRTOSConfig.h header cannot be included by ASM code - which is what this affects in the SDK */
|
* as our FreeRTOSConfig.h header cannot be included by ASM code - which is what this affects in the SDK */
|
||||||
|
|
||||||
|
|
@ -4410,9 +4416,9 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
|
|
||||||
|
|
||||||
/* Check validity of number of cores specified in config */
|
/* Check validity of number of cores specified in config */
|
||||||
// # 133 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
// # 139 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
/* FreeRTOS core id is always zero based, so always 0 if we're running on only one core */
|
/* FreeRTOS core id is always zero based, so always 0 if we're running on only one core */
|
||||||
// # 145 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
// # 151 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
void vYieldCore(int xCoreID);
|
void vYieldCore(int xCoreID);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4420,7 +4426,7 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Critical section management. */
|
/* Critical section management. */
|
||||||
// # 162 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
// # 168 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
extern void vPortEnableInterrupts();
|
extern void vPortEnableInterrupts();
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4434,46 +4440,10 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
/* Note this is a single method with uxAcquire parameter since we have
|
/* Note this is a single method with uxAcquire parameter since we have
|
||||||
* static vars, the method is always called with a compile time constant for
|
* static vars, the method is always called with a compile time constant for
|
||||||
* uxAcquire, and the compiler should dothe right thing! */
|
* uxAcquire, and the compiler should dothe right thing! */
|
||||||
static void vPortRecursiveLock(uint32_t ulLockNum, spin_lock_t *pxSpinLock, BaseType_t uxAcquire) {
|
|
||||||
static uint8_t ucOwnedByCore[ 2 ];
|
|
||||||
static uint8_t ucRecursionCountByLock[ 2 ];
|
|
||||||
(__builtin_expect(!(ulLockNum >= 0 && ulLockNum < 2), 0) ? __assert_rtn ((const char *)-1L, "portmacro.h", 178, "ulLockNum >= 0 && ulLockNum < 2") : (void)0);
|
|
||||||
uint32_t ulCoreNum = get_core_num();
|
|
||||||
uint32_t ulLockBit = 1u << ulLockNum;
|
|
||||||
(__builtin_expect(!(ulLockBit < 256u), 0) ? __assert_rtn ((const char *)-1L, "portmacro.h", 181, "ulLockBit < 256u") : (void)0);
|
|
||||||
if( uxAcquire )
|
|
||||||
{
|
|
||||||
if( __builtin_expect( !*pxSpinLock, 0 ) )
|
|
||||||
{
|
|
||||||
if( ucOwnedByCore[ulCoreNum] & ulLockBit )
|
|
||||||
{
|
|
||||||
(__builtin_expect(!(ucRecursionCountByLock[ulLockNum] != 255u), 0) ? __assert_rtn ((const char *)-1L, "portmacro.h", 188, "ucRecursionCountByLock[ulLockNum] != 255u") : (void)0);
|
|
||||||
ucRecursionCountByLock[ulLockNum]++;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
while ( __builtin_expect( !*pxSpinLock, 0 ) );
|
|
||||||
}
|
|
||||||
__mem_fence_acquire();
|
|
||||||
(__builtin_expect(!(ucRecursionCountByLock[ulLockNum] == 0), 0) ? __assert_rtn ((const char *)-1L, "portmacro.h", 195, "ucRecursionCountByLock[ulLockNum] == 0") : (void)0);
|
|
||||||
ucRecursionCountByLock[ulLockNum] = 1;
|
|
||||||
ucOwnedByCore[ulCoreNum] |= ulLockBit;
|
|
||||||
} else {
|
|
||||||
(__builtin_expect(!((ucOwnedByCore[ulCoreNum] & ulLockBit) != 0), 0) ? __assert_rtn ((const char *)-1L, "portmacro.h", 199, "(ucOwnedByCore[ulCoreNum] & ulLockBit) != 0") : (void)0);
|
|
||||||
(__builtin_expect(!(ucRecursionCountByLock[ulLockNum] != 0), 0) ? __assert_rtn ((const char *)-1L, "portmacro.h", 200, "ucRecursionCountByLock[ulLockNum] != 0") : (void)0);
|
|
||||||
if( !--ucRecursionCountByLock[ulLockNum] )
|
|
||||||
{
|
|
||||||
ucOwnedByCore[ulCoreNum] &= ~ulLockBit;
|
|
||||||
__mem_fence_release();
|
|
||||||
*pxSpinLock = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Reason for rewrite: VeriFast does not support local static variables.
|
||||||
|
*/
|
||||||
|
// # 226 "/Users/reitobia/repos2/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Tickless idle/low power functionality. */
|
/* Tickless idle/low power functionality. */
|
||||||
|
|
@ -4484,17 +4454,17 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Task function macros as described on the FreeRTOS.org WEB site. */
|
/* Task function macros as described on the FreeRTOS.org WEB site. */
|
||||||
// # 52 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h" 2
|
// # 52 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h" 2
|
||||||
// # 94 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h"
|
// # 94 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h"
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
|
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/mpu_wrappers.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/mpu_wrappers.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -4524,7 +4494,7 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
|
|
||||||
/* This file redefines API functions to be called through a wrapper macro, but
|
/* This file redefines API functions to be called through a wrapper macro, but
|
||||||
* only for ports that are using the MPU. */
|
* only for ports that are using the MPU. */
|
||||||
// # 101 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h" 2
|
// # 101 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h" 2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Setup the stack of a new task so it is ready to be placed under the
|
* Setup the stack of a new task so it is ready to be placed under the
|
||||||
|
|
@ -4532,7 +4502,7 @@ bool spin_lock_is_claimed(uint lock_num);
|
||||||
* the order that the port expects to find them.
|
* the order that the port expects to find them.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// # 128 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h"
|
// # 128 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h"
|
||||||
StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack,
|
StackType_t * pxPortInitialiseStack( StackType_t * pxTopOfStack,
|
||||||
TaskFunction_t pxCode,
|
TaskFunction_t pxCode,
|
||||||
void * pvParameters ) ;
|
void * pvParameters ) ;
|
||||||
|
|
@ -4586,7 +4556,7 @@ void vPortFree( void * pv ) ;
|
||||||
void vPortInitialiseBlocks( void ) ;
|
void vPortInitialiseBlocks( void ) ;
|
||||||
size_t xPortGetFreeHeapSize( void ) ;
|
size_t xPortGetFreeHeapSize( void ) ;
|
||||||
size_t xPortGetMinimumEverFreeHeapSize( void ) ;
|
size_t xPortGetMinimumEverFreeHeapSize( void ) ;
|
||||||
// # 190 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h"
|
// # 190 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h"
|
||||||
/*
|
/*
|
||||||
* Setup the hardware ready for the scheduler to take control. This generally
|
* Setup the hardware ready for the scheduler to take control. This generally
|
||||||
* sets up a tick interrupt and sets timers for the correct tick frequency.
|
* sets up a tick interrupt and sets timers for the correct tick frequency.
|
||||||
|
|
@ -4607,13 +4577,13 @@ void vPortEndScheduler( void ) ;
|
||||||
* Fills the xMPUSettings structure with the memory region information
|
* Fills the xMPUSettings structure with the memory region information
|
||||||
* contained in xRegions.
|
* contained in xRegions.
|
||||||
*/
|
*/
|
||||||
// # 218 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/portable.h"
|
// # 218 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/portable.h"
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 64 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h" 2
|
// # 64 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h" 2
|
||||||
|
|
||||||
/* Must be defaulted before configUSE_NEWLIB_REENTRANT is used below. */
|
/* Must be defaulted before configUSE_NEWLIB_REENTRANT is used below. */
|
||||||
|
|
||||||
|
|
@ -4621,30 +4591,27 @@ void vPortEndScheduler( void ) ;
|
||||||
|
|
||||||
|
|
||||||
/* Required if struct _reent is used. */
|
/* Required if struct _reent is used. */
|
||||||
|
// # 83 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check all the required application specific macros have been defined.
|
* Check all the required application specific macros have been defined.
|
||||||
* These macros are application specific and (as downloaded) are defined
|
* These macros are application specific and (as downloaded) are defined
|
||||||
* within FreeRTOSConfig.h.
|
* within FreeRTOSConfig.h.
|
||||||
*/
|
*/
|
||||||
// # 140 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 148 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* If INCLUDE_vTaskDelayUntil is set but INCLUDE_xTaskDelayUntil is not then
|
/* If INCLUDE_vTaskDelayUntil is set but INCLUDE_xTaskDelayUntil is not then
|
||||||
* the project's FreeRTOSConfig.h probably pre-dates the introduction of
|
* the project's FreeRTOSConfig.h probably pre-dates the introduction of
|
||||||
* xTaskDelayUntil and setting INCLUDE_xTaskDelayUntil to whatever
|
* xTaskDelayUntil and setting INCLUDE_xTaskDelayUntil to whatever
|
||||||
* INCLUDE_vTaskDelayUntil is set to will ensure backward compatibility.
|
* INCLUDE_vTaskDelayUntil is set to will ensure backward compatibility.
|
||||||
*/
|
*/
|
||||||
// # 274 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 282 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* configPRECONDITION should be defined as configASSERT.
|
/* configPRECONDITION should be defined as configASSERT.
|
||||||
* The CBMC proofs need a way to track assumptions and assertions.
|
* The CBMC proofs need a way to track assumptions and assertions.
|
||||||
* A configPRECONDITION statement should express an implicit invariant or
|
* A configPRECONDITION statement should express an implicit invariant or
|
||||||
* assumption made. A configASSERT statement should express an invariant that must
|
* assumption made. A configASSERT statement should express an invariant that must
|
||||||
* hold explicit before calling the code. */
|
* hold explicit before calling the code. */
|
||||||
// # 303 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 311 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* The timers module relies on xTaskGetSchedulerState(). */
|
/* The timers module relies on xTaskGetSchedulerState(). */
|
||||||
// # 358 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 366 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* Remove any unused trace macros. */
|
/* Remove any unused trace macros. */
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4734,13 +4701,13 @@ void vPortEndScheduler( void ) ;
|
||||||
* queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
|
* queue/mutex/semaphore. pxQueue is a pointer to the queue/mutex/semaphore
|
||||||
* upon which the write was attempted. pxCurrentTCB points to the TCB of the
|
* upon which the write was attempted. pxCurrentTCB points to the TCB of the
|
||||||
* task that attempted the write. */
|
* task that attempted the write. */
|
||||||
// # 462 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 470 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* The following event macros are embedded in the kernel API calls. */
|
/* The following event macros are embedded in the kernel API calls. */
|
||||||
// # 917 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 925 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* Defaults to 0 for backward compatibility. */
|
/* Defaults to 0 for backward compatibility. */
|
||||||
// # 936 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 944 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* Sanity check the configuration. */
|
/* Sanity check the configuration. */
|
||||||
// # 978 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 986 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* The tick type can be read atomically, so critical sections used when the
|
/* The tick type can be read atomically, so critical sections used when the
|
||||||
* tick count is returned can be defined away. */
|
* tick count is returned can be defined away. */
|
||||||
|
|
||||||
|
|
@ -4781,7 +4748,7 @@ void vPortEndScheduler( void ) ;
|
||||||
|
|
||||||
/* The application writer has not provided their own MIN macro, so define
|
/* The application writer has not provided their own MIN macro, so define
|
||||||
* the following generic implementation. */
|
* the following generic implementation. */
|
||||||
// # 1059 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 1067 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
/* Set configUSE_TASK_FPU_SUPPORT to 0 to omit floating point support even
|
/* Set configUSE_TASK_FPU_SUPPORT to 0 to omit floating point support even
|
||||||
* if floating point hardware is otherwise supported by the FreeRTOS port in use.
|
* if floating point hardware is otherwise supported by the FreeRTOS port in use.
|
||||||
* This constant is not supported by all FreeRTOS ports that include floating
|
* This constant is not supported by all FreeRTOS ports that include floating
|
||||||
|
|
@ -4955,7 +4922,7 @@ typedef struct xSTATIC_TCB
|
||||||
|
|
||||||
|
|
||||||
void * pvDummy15[ 5 ];
|
void * pvDummy15[ 5 ];
|
||||||
// # 1240 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/FreeRTOS.h"
|
// # 1248 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/FreeRTOS.h"
|
||||||
uint32_t ulDummy18[ 1 ];
|
uint32_t ulDummy18[ 1 ];
|
||||||
uint8_t ucDummy19[ 1 ];
|
uint8_t ucDummy19[ 1 ];
|
||||||
|
|
||||||
|
|
@ -5102,9 +5069,9 @@ typedef StaticStreamBuffer_t StaticMessageBuffer_t;
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 43 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 43 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -5128,10 +5095,49 @@ typedef StaticStreamBuffer_t StaticMessageBuffer_t;
|
||||||
* https://github.com/FreeRTOS
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// # 35 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h"
|
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/list.h" 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Reason for rewrite:
|
||||||
|
* VeriFast bug:
|
||||||
|
* Both `#ifdef INC_FREERTOS_H` and its negation `#ifdef INC_FREERTOS_H`
|
||||||
|
* evaluate to true. See minimal example `define_name`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Remember that this header is included by `tasks.c` after it includes
|
||||||
|
* `FreeRTOS.h`.
|
||||||
|
*/
|
||||||
|
// TODO: Remove this work-around once VF has been fixed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Remark:
|
||||||
|
* Note that the following VF section renders the previous one obsolete.
|
||||||
|
* However, we keep the above as a reminder until the corresponding bug
|
||||||
|
* has been fixed.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Reason for rewrite:
|
||||||
|
* Even though in the current verification setup, `FreeRTOS.h` is always
|
||||||
|
* included before this file is processed, VeriFast does not consider this
|
||||||
|
* context when processing this file. VeriFast forbids macro expansions to
|
||||||
|
* depend on a potentially variable context, e.g, `configSTACK_DEPTH_TYPE`
|
||||||
|
* which expands to 'uint16_t' if and only if `FreeRTOS.h` has been
|
||||||
|
* included.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/list.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -5183,7 +5189,40 @@ typedef StaticStreamBuffer_t StaticMessageBuffer_t;
|
||||||
* \page ListIntroduction List Implementation
|
* \page ListIntroduction List Implementation
|
||||||
* \ingroup FreeRTOSIntro
|
* \ingroup FreeRTOSIntro
|
||||||
*/
|
*/
|
||||||
// # 63 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/list.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Reason for rewrite:
|
||||||
|
* VeriFast bug:
|
||||||
|
* Both `#ifdef INC_FREERTOS_H` and its negation `#ifdef INC_FREERTOS_H`
|
||||||
|
* evaluate to true. See minimal example `define_name`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Remember that this header is included indirectly `tasks.c` after it
|
||||||
|
* includes `FreeRTOS.h`.
|
||||||
|
*/
|
||||||
|
// TODO: Remove this work-around once VF has been fixed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Reason for rewrite:
|
||||||
|
* VeriFast's normal and context-free preprocessor consume different
|
||||||
|
* numbers of tokens when expanding `PRIVILEGED_FUNCTION` in this file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// TODO: Figure out why the preprocessors consume different amounts of
|
||||||
|
// of tokens. This most likely has to do with the path/context
|
||||||
|
// from which this header is included.
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The list structure members are modified from within interrupts, and therefore
|
* The list structure members are modified from within interrupts, and therefore
|
||||||
* by rights should be declared volatile. However, they are only modified in a
|
* by rights should be declared volatile. However, they are only modified in a
|
||||||
|
|
@ -5229,7 +5268,7 @@ typedef StaticStreamBuffer_t StaticMessageBuffer_t;
|
||||||
* use of FreeRTOS.*/
|
* use of FreeRTOS.*/
|
||||||
|
|
||||||
/* Define the macros to do nothing. */
|
/* Define the macros to do nothing. */
|
||||||
// # 138 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/list.h"
|
// # 163 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/list.h"
|
||||||
/*
|
/*
|
||||||
* Definition of the only type of object that a list can contain.
|
* Definition of the only type of object that a list can contain.
|
||||||
*/
|
*/
|
||||||
|
|
@ -5371,7 +5410,7 @@ typedef struct xLIST
|
||||||
* \page listGET_OWNER_OF_NEXT_ENTRY listGET_OWNER_OF_NEXT_ENTRY
|
* \page listGET_OWNER_OF_NEXT_ENTRY listGET_OWNER_OF_NEXT_ENTRY
|
||||||
* \ingroup LinkedList
|
* \ingroup LinkedList
|
||||||
*/
|
*/
|
||||||
// # 293 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/list.h"
|
// # 318 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/list.h"
|
||||||
/*
|
/*
|
||||||
* Access function to obtain the owner of the first entry in a list. Lists
|
* Access function to obtain the owner of the first entry in a list. Lists
|
||||||
* are normally sorted in ascending item value order.
|
* are normally sorted in ascending item value order.
|
||||||
|
|
@ -5495,7 +5534,7 @@ UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) ;
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 36 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h" 2
|
// # 67 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h" 2
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
|
||||||
|
|
@ -5841,8 +5880,7 @@ typedef enum
|
||||||
void * const pvParameters,
|
void * const pvParameters,
|
||||||
UBaseType_t uxPriority,
|
UBaseType_t uxPriority,
|
||||||
TaskHandle_t * const pxCreatedTask ) ;
|
TaskHandle_t * const pxCreatedTask ) ;
|
||||||
|
// # 424 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
@ -5951,7 +5989,7 @@ typedef enum
|
||||||
* \defgroup xTaskCreateStatic xTaskCreateStatic
|
* \defgroup xTaskCreateStatic xTaskCreateStatic
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
// # 501 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h"
|
// # 553 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
@ -6025,11 +6063,7 @@ typedef enum
|
||||||
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
|
* \defgroup xTaskCreateRestricted xTaskCreateRestricted
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
|
// # 637 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
@ -6115,11 +6149,7 @@ typedef enum
|
||||||
* \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
|
* \defgroup xTaskCreateRestrictedStatic xTaskCreateRestrictedStatic
|
||||||
* \ingroup Tasks
|
* \ingroup Tasks
|
||||||
*/
|
*/
|
||||||
|
// # 733 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* task. h
|
* task. h
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
@ -6696,7 +6726,7 @@ void vTaskResume( TaskHandle_t xTaskToResume ) ;
|
||||||
* \ingroup TaskCtrl
|
* \ingroup TaskCtrl
|
||||||
*/
|
*/
|
||||||
BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) ;
|
BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume ) ;
|
||||||
// # 1333 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h"
|
// # 1397 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
/**
|
/**
|
||||||
* @brief Disables preemption for a task.
|
* @brief Disables preemption for a task.
|
||||||
*
|
*
|
||||||
|
|
@ -7095,7 +7125,7 @@ uint32_t uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) ;
|
||||||
* fixed by simply guarding against the inclusion of these two prototypes unless
|
* fixed by simply guarding against the inclusion of these two prototypes unless
|
||||||
* they are explicitly required by the configUSE_APPLICATION_TASK_TAG configuration
|
* they are explicitly required by the configUSE_APPLICATION_TASK_TAG configuration
|
||||||
* constant. */
|
* constant. */
|
||||||
// # 1774 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h"
|
// # 1838 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
/* Each task contains an array of pointers that is dimensioned by the
|
/* Each task contains an array of pointers that is dimensioned by the
|
||||||
* configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The
|
* configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The
|
||||||
* kernel does not use the pointers itself, so the application writer can use
|
* kernel does not use the pointers itself, so the application writer can use
|
||||||
|
|
@ -7135,7 +7165,7 @@ uint32_t uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) ;
|
||||||
* This hook function is called in the system tick handler after any OS work is completed.
|
* This hook function is called in the system tick handler after any OS work is completed.
|
||||||
*/
|
*/
|
||||||
void vApplicationTickHook( void ); /*lint !e526 Symbol not defined as it is an application callback. */
|
void vApplicationTickHook( void ); /*lint !e526 Symbol not defined as it is an application callback. */
|
||||||
// # 1833 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/task.h"
|
// # 1897 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/task.h"
|
||||||
/**
|
/**
|
||||||
* task.h
|
* task.h
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
@ -8552,9 +8582,9 @@ void vTaskYieldWithinAPI( void );
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 44 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 44 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/timers.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -8578,7 +8608,29 @@ void vTaskYieldWithinAPI( void );
|
||||||
* https://github.com/FreeRTOS
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
// # 35 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Reason for rewrite:
|
||||||
|
* VeriFast bug:
|
||||||
|
* Both `#ifdef INC_FREERTOS_H` and its negation `#ifdef INC_FREERTOS_H`
|
||||||
|
* evaluate to true. See minimal example `define_name`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Remember that this header is included indirectly `tasks.c` after it
|
||||||
|
* includes `FreeRTOS.h`.
|
||||||
|
*/
|
||||||
|
// TODO: Remove this work-around once VF has been fixed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*lint -save -e537 This headers are only multiply included if the application code
|
/*lint -save -e537 This headers are only multiply included if the application code
|
||||||
* happens to also be including task.h. */
|
* happens to also be including task.h. */
|
||||||
|
|
||||||
|
|
@ -8599,7 +8651,7 @@ void vTaskYieldWithinAPI( void );
|
||||||
* as defined below. The commands that are sent from interrupts must use the
|
* as defined below. The commands that are sent from interrupts must use the
|
||||||
* highest numbers as tmrFIRST_FROM_ISR_COMMAND is used to determine if the task
|
* highest numbers as tmrFIRST_FROM_ISR_COMMAND is used to determine if the task
|
||||||
* or interrupt version of the queue send function should be used. */
|
* or interrupt version of the queue send function should be used. */
|
||||||
// # 71 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h"
|
// # 85 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/timers.h"
|
||||||
/**
|
/**
|
||||||
* Type by which software timers are referenced. For example, a call to
|
* Type by which software timers are referenced. For example, a call to
|
||||||
* xTimerCreate() returns an TimerHandle_t variable that can then be used to
|
* xTimerCreate() returns an TimerHandle_t variable that can then be used to
|
||||||
|
|
@ -8888,7 +8940,7 @@ typedef void (* PendedFunction_t)( void *,
|
||||||
* }
|
* }
|
||||||
* @endverbatim
|
* @endverbatim
|
||||||
*/
|
*/
|
||||||
// # 368 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h"
|
// # 382 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/timers.h"
|
||||||
/**
|
/**
|
||||||
* void *pvTimerGetTimerID( TimerHandle_t xTimer );
|
* void *pvTimerGetTimerID( TimerHandle_t xTimer );
|
||||||
*
|
*
|
||||||
|
|
@ -9864,16 +9916,16 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
|
||||||
void vTimerSetTimerNumber( TimerHandle_t xTimer,
|
void vTimerSetTimerNumber( TimerHandle_t xTimer,
|
||||||
UBaseType_t uxTimerNumber ) ;
|
UBaseType_t uxTimerNumber ) ;
|
||||||
UBaseType_t uxTimerGetTimerNumber( TimerHandle_t xTimer ) ;
|
UBaseType_t uxTimerGetTimerNumber( TimerHandle_t xTimer ) ;
|
||||||
// # 1364 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/timers.h"
|
// # 1378 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/timers.h"
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
// # 45 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
// # 45 "/Users/reitobia/repos2/FreeRTOS-Kernel/tasks.c" 2
|
||||||
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h" 1
|
// # 1 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/stack_macros.h" 1
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel V10.4.3
|
* FreeRTOS SMP Kernel V202110.00
|
||||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
|
@ -9921,13 +9973,13 @@ BaseType_t xTimerGenericCommandFromISR( TimerHandle_t xTimer,
|
||||||
* portSTACK_LIMIT_PADDING is a number of extra words to consider to be in
|
* portSTACK_LIMIT_PADDING is a number of extra words to consider to be in
|
||||||
* use on the stack.
|
* use on the stack.
|
||||||
*/
|
*/
|
||||||
// # 67 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h"
|
// # 67 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/stack_macros.h"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 83 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h"
|
// # 83 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/stack_macros.h"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 102 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h"
|
// # 102 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/stack_macros.h"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
// # 126 "/Users/reitobia/repos2/FreeRTOS-Kernel/verification/verifast/demos/FreeRTOS-SMP-Demos/FreeRTOS/Source/include/stack_macros.h"
|
// # 126 "/Users/reitobia/repos2/FreeRTOS-Kernel/include/stack_macros.h"
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Remove stack overflow macro if not being used. */
|
/* Remove stack overflow macro if not being used. */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue