You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/11/17 08:23:51 UTC

[incubator-nuttx] branch master updated: xtensa: add setjmp.h include file

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new ffb543d  xtensa: add setjmp.h include file
ffb543d is described below

commit ffb543d0611efa738665b31ebd50bb5d9909d911
Author: zhuyanlin <zh...@xiaomi.com>
AuthorDate: Mon Nov 15 15:05:00 2021 +0800

    xtensa: add setjmp.h include file
    
    N/A
    
    Signed-off-by: zhuyanlin <zh...@xiaomi.com>
---
 arch/xtensa/include/setjmp.h | 61 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/arch/xtensa/include/setjmp.h b/arch/xtensa/include/setjmp.h
new file mode 100644
index 0000000..d84d97b
--- /dev/null
+++ b/arch/xtensa/include/setjmp.h
@@ -0,0 +1,61 @@
+/****************************************************************************
+ * arch/xtensa/include/setjmp.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __ARCH_XTENSA_INCLUDE_SETJUMP_H
+#define __ARCH_XTENSA_INCLUDE_SETJUMP_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <arch/chip/core-isa.h>
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+struct setjmp_buf_s
+{
+#if XCHAL_HAVE_WINDOWED && !__XTENSA_CALL0_ABI__
+  unsigned regs[12];
+  unsigned save[4];
+  void *return_address;
+#else
+  unsigned a0;
+  unsigned a1;
+  unsigned a12;
+  unsigned a13;
+  unsigned a14;
+  unsigned a15;
+#endif
+};
+
+/* Traditional typedef for setjmp_buf */
+
+typedef struct setjmp_buf_s jmp_buf[1];
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+int setjmp(jmp_buf env);
+void longjmp(jmp_buf env, int val) noreturn_function;
+
+#endif