/* * Copyright (C) 2019 Intel Corporation. All rights reserved. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */ #ifndef _PLATFORM_INTERNAL_H #define _PLATFORM_INTERNAL_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif #ifndef BH_PLATFORM_VXWORKS #define BH_PLATFORM_VXWORKS #endif /* Stack size of applet threads's native part. */ #define BH_APPLET_PRESERVED_STACK_SIZE (32 * 1024) /* Default thread priority */ #define BH_THREAD_DEFAULT_PRIORITY 0 typedef pthread_t korp_tid; typedef pthread_mutex_t korp_mutex; typedef pthread_cond_t korp_cond; typedef pthread_t korp_thread; typedef sem_t korp_sem; #define OS_THREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER #define os_thread_local_attribute __thread #if WASM_DISABLE_HW_BOUND_CHECK == 0 #if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64) \ || defined(BUILD_TARGET_AARCH64) #include #define OS_ENABLE_HW_BOUND_CHECK typedef jmp_buf korp_jmpbuf; #define os_setjmp setjmp #define os_longjmp longjmp #define os_alloca alloca #define os_getpagesize getpagesize typedef void (*os_signal_handler)(void *sig_addr); int os_thread_signal_init(os_signal_handler handler); void os_thread_signal_destroy(); bool os_thread_signal_inited(); void os_signal_unmask(); void os_sigreturn(); #endif /* end of BUILD_TARGET_X86_64/AMD_64/AARCH64 */ #endif /* end of WASM_DISABLE_HW_BOUND_CHECK */ #ifdef __cplusplus } #endif #endif /* end of _PLATFORM_INTERNAL_H */