Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
uvisor-lib.h
00001 /* 00002 * Copyright (c) 2013-2016, ARM Limited, All Rights Reserved 00003 * SPDX-License-Identifier: Apache-2.0 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00006 * not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00013 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 */ 00017 #ifndef __UVISOR_API_UVISOR_LIB_H__ 00018 #define __UVISOR_API_UVISOR_LIB_H__ 00019 00020 /* This file includes all the uVisor library header files at once. 00021 * If uVisor is used on a host OS that includes unsupported targets, then 00022 * unsupported.h is included, which defines a fallback version of those APIs, 00023 * with no security feature. */ 00024 00025 #if defined(UVISOR_PRESENT) && UVISOR_PRESENT == 1 00026 00027 /* Library header files */ 00028 #include "api/inc/api.h" 00029 #include "api/inc/box_config.h" 00030 #include "api/inc/box_id.h" 00031 #include "api/inc/disabled.h" 00032 #include "api/inc/error.h" 00033 #include "api/inc/interrupts.h" 00034 #include "api/inc/register_gateway.h" 00035 #include "api/inc/rpc.h" 00036 #include "api/inc/ipc.h" 00037 #include "api/inc/rpc_gateway.h" 00038 #include "api/inc/secure_access.h" 00039 #include "api/inc/uvisor_semaphore.h" 00040 #include "api/inc/vmpu.h" 00041 00042 #else /* defined(UVISOR_PRESENT) && UVISOR_PRESENT == 1 */ 00043 00044 #include "api/inc/unsupported.h" 00045 00046 #endif /* defined(UVISOR_PRESENT) && UVISOR_PRESENT == 1 */ 00047 00048 /* On ARMv7-M, the host startup needs to call this after osKernelInitialize to 00049 * initialize uvisor-lib. The function can fail. It's up the the host startup 00050 * to decide what to do with any failures. */ 00051 UVISOR_EXTERN int uvisor_lib_init(void); /* FIXME: Remove this when we move ARMv7-M to the hypervisor model. */ 00052 00053 /* The host startup needs to call this after osKernelInitialize to start 00054 * uVisor. The function will halt if errors are encountered. */ 00055 UVISOR_EXTERN void uvisor_start(void); 00056 00057 #include "api/inc/page_allocator.h" 00058 00059 /* Include all exported header files used by uVisor internally. 00060 * These are included independently on whether uVisor is supported or not by the 00061 * target platform. */ 00062 #include "api/inc/debug_exports.h" 00063 #include "api/inc/context_exports.h" 00064 #include "api/inc/halt_exports.h" 00065 #include "api/inc/register_gateway_exports.h" 00066 #include "api/inc/rpc_gateway_exports.h" 00067 #include "api/inc/priv_sys_hooks_exports.h" 00068 #include "api/inc/virq_exports.h" 00069 #include "api/inc/uvisor_exports.h" 00070 #include "api/inc/vmpu_exports.h" 00071 #include "api/inc/page_allocator_exports.h" 00072 #include "api/inc/pool_queue_exports.h" 00073 00074 #endif /* __UVISOR_API_UVISOR_LIB_H__ */
Generated on Sun Jul 17 2022 08:25:33 by 1.7.2