Xtensa GPR and ABI

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

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

目录

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
          -----------  ---------       ----------------------------------
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

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



3.2 Return value

























个人工具
名字空间

变换
操作
导航
工具箱