arch/xtensa/src/common/xtensa_abi.h: nxstyle fixes

The remaining errors:

    Operator/assignment must be preceded with whitespace

I didn't fix them because they are in assembly code, which
nxstyle doesn't understand.
This commit is contained in:
YAMAMOTO Takashi 2020-03-12 11:00:05 +09:00 committed by patacongo
parent 086e8ffb12
commit 3a03a307b9
1 changed files with 27 additions and 24 deletions

View File

@ -58,18 +58,20 @@
* CALL8, or CALL12 instructions to save 4, 8, or 12 live registers. Calls
* to routines that use a2..a7 for parameters may use only CALL8 or CALL12.
*
* Arguments are passed in both registers and memory. The first six incoming
* arguments are stored in registers a2 through a7, and additional arguments
* are stored on the stack starting at the current stack pointer a1. Because
* Xtensa uses register windows that rotate during a function call, outgoing
* arguments that will become the incoming arguments must be stored to
* different register numbers. Depending on the call instruction and, thus,
* the rotation of the register window, the arguments are passed starting
* starting with register a(2+N), where N is the size of the window rotation.
* Therefore, the first argument in case of a call4 instruction is placed into
* a6, and for a call8 instruction into a10. Large arguments (8-bytes) are
* always passed in an even/odd register pair even if that means to omit a
* register for alignment. The return values are stored in a2 through a7.
* Arguments are passed in both registers and memory. The first six
* incoming arguments are stored in registers a2 through a7, and additional
* arguments are stored on the stack starting at the current stack pointer
* a1. Because Xtensa uses register windows that rotate during a function
* call, outgoing arguments that will become the incoming arguments must be
* stored to different register numbers. Depending on the call instruction
* and, thus, the rotation of the register window, the arguments are passed
* starting starting with register a(2+N), where N is the size of the
* window rotation.
* Therefore, the first argument in case of a call4 instruction is placed
* into a6, and for a call8 instruction into a10. Large arguments (8-bytes)
* are always passed in an even/odd register pair even if that means to
* omit a register for alignment. The return values are stored in a2
* through a7.
*
* return addr stack ptr arg0, arg1, arg2, arg3, arg4, arg5
* ----------- --------- ----------------------------------
@ -119,9 +121,10 @@
* where size = size of stack frame in bytes (must be >0 and aligned to 16).
* For framed functions the frame is created and the return address saved at
* base of frame (Call0 ABI) or as determined by hardware (Windowed ABI).
* For frameless functions, there is no frame and return address remains in a0.
* Note: Because CPP macros expand to a single line, macros requiring multi-line
* expansions are implemented as assembler macros.
* For frameless functions, there is no frame and return address remains in
* a0.
* Note: Because CPP macros expand to a single line, macros requiring
* multi-line expansions are implemented as assembler macros.
*/
#ifdef __ASSEMBLY__
@ -130,16 +133,16 @@
#ifdef __XTENSA_CALL0_ABI__
/* Call0 */
.macro entry1 size=0x10
addi sp, sp, -\size
s32i a0, sp, 0
.endm
.macro entry1 size=0x10
addi sp, sp, -\size
s32i a0, sp, 0
.endm
.macro ret1 size=0x10
l32i a0, sp, 0
addi sp, sp, \size
ret
.endm
.macro ret1 size=0x10
l32i a0, sp, 0
addi sp, sp, \size
ret
.endm
# define ENTRY(sz) entry1 sz
# define ENTRY0