Files
Upsilon/liba/include/setjmp.h
Léa Saviot 5de4b5cd67 [code] Each script has a name, stored in the accordeon buffer.
A script can now be imported in the console.
Moved all the MicroPython functions to python/port files.

Change-Id: I0a23e8cb20005719b800e81470e1c574c702c3b7
2017-11-17 11:59:50 +01:00

24 lines
634 B
C

#ifndef LIBA_SETJMP_H
#define LIBA_SETJMP_H
#include "private/macros.h"
/* We are preseving registers:
* - sp & lr -> 2x4 bytes
* - General purpose registers: r4-r9, r10 = sl, r11 = fp -> 8x4 bytes
* - Floating point registers: s16-s31 -> 8x8 bytes
* - VFP status register: fpscr ->1x4 bytes
* The buffer size has to include room for setjmp implementation: 4x4 bytes.
* (See C Library ABI for the ARM architecture documentation)
* The minimum buffer size is then (2+8+16+1+4)xsizeof(int64_t). */
LIBA_BEGIN_DECLS
typedef int jmp_buf[31];
void longjmp(jmp_buf env, int val);
int setjmp(jmp_buf env);
LIBA_END_DECLS
#endif