Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers virq_exports.h Source File

virq_exports.h

00001 /*
00002  * Copyright (c) 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_UNVIC_EXPORTS_H__
00018 #define __UVISOR_API_UNVIC_EXPORTS_H__
00019 
00020 #include <stdint.h>
00021 
00022 /* this value refers to the minimum allowable priority in the physical NVIC
00023  * module, but not in the virtualised one (vIRQ) */
00024 #define __UVISOR_NVIC_MIN_PRIORITY ((uint32_t) 2)
00025 
00026 /* this is the maximum priority allowed for the vIRQ module */
00027 /* users of uVisor APIs can use this to determine the maximum level of
00028  * priorities available to them */
00029 #define UVISOR_VIRQ_MAX_PRIORITY ((uint32_t) (1 << __NVIC_PRIO_BITS) - 1 - __UVISOR_NVIC_MIN_PRIORITY)
00030 
00031 /* Reasons for rebooting */
00032 typedef enum {
00033     RESET_REASON_NO_REASON = 0,
00034     RESET_REASON_HALT,
00035     __TRESETREASON_MAX /* Always keep the last element of the enum. */
00036 } TResetReason;
00037 
00038 /* Offset of NVIC interrupts with respect to handler 0 */
00039 #define NVIC_OFFSET 16
00040 
00041 #endif /* __UVISOR_API_UNVIC_EXPORTS_H__ */