mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-15 17:14:21 +00:00
doc: Recommend using C rather than assembly language
Add a section for that in the coding guidelines. Change-Id: Ie6819c4df5889a861460eb96acf2bc9c0cfb494e Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
This commit is contained in:
parent
9061c0c9ab
commit
06ffa16694
1 changed files with 19 additions and 0 deletions
|
@ -441,6 +441,25 @@ unsigned integer on all systems, cast it to ``unsigned int``.
|
|||
|
||||
These guidelines should be updated if additional types are needed.
|
||||
|
||||
Favor C language over assembly language
|
||||
---------------------------------------
|
||||
|
||||
Generally, prefer code written in C over assembly. Assembly code is less
|
||||
portable, harder to understand, maintain and audit security wise. Also, static
|
||||
analysis tools generally don't analyze assembly code.
|
||||
|
||||
There are, however, legitimate uses of assembly language. These include:
|
||||
|
||||
- Early boot code executed before the C runtime environment is setup.
|
||||
|
||||
- Exception handling code.
|
||||
|
||||
- Low-level code where the exact sequence of instructions executed on the CPU
|
||||
matters, such as CPU reset sequences.
|
||||
|
||||
- Low-level code where specific system-level instructions must be used, such
|
||||
as cache maintenance operations.
|
||||
|
||||
--------------
|
||||
|
||||
*Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.*
|
||||
|
|
Loading…
Add table
Reference in a new issue