Skip to content

Commit b1607f9

Browse files
authored
Merge branch 'main' into zikalino-replace-pre-with-endcode-remaining
2 parents 1fa2490 + fa0f5c4 commit b1607f9

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
3+
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4+
*
5+
* SPDX-License-Identifier: MIT
6+
*
7+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
8+
* this software and associated documentation files (the "Software"), to deal in
9+
* the Software without restriction, including without limitation the rights to
10+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11+
* the Software, and to permit persons to whom the Software is furnished to do so,
12+
* subject to the following conditions:
13+
*
14+
* The above copyright notice and this permission notice shall be included in all
15+
* copies or substantial portions of the Software.
16+
*
17+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
*
24+
* https://www.FreeRTOS.org
25+
* https://github.com/FreeRTOS
26+
*
27+
*/
28+
29+
/*
30+
* The FreeRTOS kernel's RISC-V port is split between the the code that is
31+
* common across all currently supported RISC-V chips (implementations of the
32+
* RISC-V ISA), and code that tailors the port to a specific RISC-V chip:
33+
*
34+
* + FreeRTOS\Source\portable\GCC\RISC-V\portASM.S contains the code that
35+
* is common to all currently supported RISC-V chips. There is only one
36+
* portASM.S file because the same file is built for all RISC-V target chips.
37+
*
38+
* + Header files called freertos_risc_v_chip_specific_extensions.h contain the
39+
* code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V
40+
* chip. There are multiple freertos_risc_v_chip_specific_extensions.h files
41+
* as there are multiple RISC-V chip implementations.
42+
*
43+
* !!!NOTE!!!
44+
* TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h
45+
* HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the
46+
* compiler's!) include path. For example, if the chip in use includes a core
47+
* local interrupter (CLINT) and does not include any chip specific register
48+
* extensions then add the path below to the assembler's include path:
49+
* FreeRTOS\Source\portable\GCC\RISC-V\chip_specific_extensions\RISCV_MTIME_CLINT_no_extensions
50+
*
51+
*/
52+
53+
54+
#ifndef __FREERTOS_RISC_V_EXTENSIONS_H__
55+
#define __FREERTOS_RISC_V_EXTENSIONS_H__
56+
57+
#define portasmHAS_SIFIVE_CLINT 1
58+
#define portasmHAS_MTIME 1
59+
#define portasmADDITIONAL_CONTEXT_SIZE 0
60+
61+
.macro portasmSAVE_ADDITIONAL_REGISTERS
62+
/* No additional registers to save, so this macro does nothing. */
63+
.endm
64+
65+
.macro portasmRESTORE_ADDITIONAL_REGISTERS
66+
/* No additional registers to restore, so this macro does nothing. */
67+
.endm
68+
69+
#endif /* __FREERTOS_RISC_V_EXTENSIONS_H__ */

0 commit comments

Comments
 (0)