Xtensa GPR and ABI

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(Windowed Register ABI)
(Argument passing)
第18行: 第18行:
  
 
<pre>
 
<pre>
           return addr stack ptr       arg0, arg1, arg2, arg3, arg4, arg5
+
           Return Addr Stack Ptr       arg0, arg1, arg2, arg3, arg4, arg5
 
           -----------  ---------      ----------------------------------
 
           -----------  ---------      ----------------------------------
 
             a0          a1              a2,  a3,  a4,  a5,  a6,  a7
 
             a0          a1              a2,  a3,  a4,  a5,  a6,  a7

2016年11月16日 (三) 11:28的版本

目录

1 Overview

Two different ABI:

  • Windowed register ABI, works with the Windowed Register Option (ESP32 use this ABI by default)
  • CALL0 ABI, used with any Xtensa processor (worse performance)


Instruction CALL0 is for the CALL0 ABI

Instruction CALL4/CALL8/CALL12 is for the windowed register ABI



2 Windowed Register ABI

2.1 Argument passing

          Return Addr  Stack Ptr       arg0, arg1, arg2, arg3, arg4, arg5
          -----------  ---------       ----------------------------------
            a0           a1              a2,   a3,   a4,   a5,   a6,   a7

call4       a4           a5              a6,   a7,   a8,   a9,  a10,  a11
call8       a8           a9             a10,  a11,  a12,  a13,  a14,  a15
call12     a12          a13             a14,  a15   ---   ---   ---   --- 



2.2 Return value



3 CALL0 ABI

3.1 Argument passing



3.2 Return value

























个人工具
名字空间

变换
操作
导航
工具箱