Xtensa GPR and ABI

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(Argument passing)
(Windowed Register ABI)
第20行: 第20行:
 
           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
 
 
 
call4      a4          a5              a6,  a7,  a8,  a9,  a10,  a11
 
call4      a4          a5              a6,  a7,  a8,  a9,  a10,  a11
 
call8      a8          a9            a10,  a11,  a12,  a13,  a14,  a15
 
call8      a8          a9            a10,  a11,  a12,  a13,  a14,  a15

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



3.2 Return value

























个人工具
名字空间

变换
操作
导航
工具箱