1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef QTISECLIB_DEFS_H 8*91f16700Schasinglulu #define QTISECLIB_DEFS_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu #include <stdint.h> 11*91f16700Schasinglulu 12*91f16700Schasinglulu #ifndef u_register_t 13*91f16700Schasinglulu typedef uintptr_t u_register_t; 14*91f16700Schasinglulu #endif 15*91f16700Schasinglulu 16*91f16700Schasinglulu /* 17*91f16700Schasinglulu * Different Log Level supported in qtiseclib. 18*91f16700Schasinglulu * TODO: Currently no filtering done on QTISECLIB logs. 19*91f16700Schasinglulu */ 20*91f16700Schasinglulu #define QTISECLIB_LOG_LEVEL_NONE 0 21*91f16700Schasinglulu #define QTISECLIB_LOG_LEVEL_ERROR 10 22*91f16700Schasinglulu #define QTISECLIB_LOG_LEVEL_NOTICE 20 23*91f16700Schasinglulu #define QTISECLIB_LOG_LEVEL_WARNING 30 24*91f16700Schasinglulu #define QTISECLIB_LOG_LEVEL_INFO 40 25*91f16700Schasinglulu #define QTISECLIB_LOG_LEVEL_VERBOSE 50 26*91f16700Schasinglulu 27*91f16700Schasinglulu #define QTI_GICV3_IRM_PE 0 28*91f16700Schasinglulu #define QTI_GICV3_IRM_ANY 1 29*91f16700Schasinglulu 30*91f16700Schasinglulu /* Common interrupt number/ID defs. */ 31*91f16700Schasinglulu #define QTISECLIB_INT_ID_RESET_SGI (0xf) 32*91f16700Schasinglulu #define QTISECLIB_INT_ID_CPU_WAKEUP_SGI (0x8) 33*91f16700Schasinglulu 34*91f16700Schasinglulu #define QTISECLIB_INT_INVALID_INT_NUM (0xFFFFFFFFU) 35*91f16700Schasinglulu 36*91f16700Schasinglulu typedef struct qtiseclib_cb_spinlock { 37*91f16700Schasinglulu volatile uint32_t lock; 38*91f16700Schasinglulu } qtiseclib_cb_spinlock_t; 39*91f16700Schasinglulu 40*91f16700Schasinglulu #if QTI_SDI_BUILD 41*91f16700Schasinglulu /* External CPU Dump Structure - 64 bit EL */ 42*91f16700Schasinglulu typedef struct { 43*91f16700Schasinglulu uint64_t x0; 44*91f16700Schasinglulu uint64_t x1; 45*91f16700Schasinglulu uint64_t x2; 46*91f16700Schasinglulu uint64_t x3; 47*91f16700Schasinglulu uint64_t x4; 48*91f16700Schasinglulu uint64_t x5; 49*91f16700Schasinglulu uint64_t x6; 50*91f16700Schasinglulu uint64_t x7; 51*91f16700Schasinglulu uint64_t x8; 52*91f16700Schasinglulu uint64_t x9; 53*91f16700Schasinglulu uint64_t x10; 54*91f16700Schasinglulu uint64_t x11; 55*91f16700Schasinglulu uint64_t x12; 56*91f16700Schasinglulu uint64_t x13; 57*91f16700Schasinglulu uint64_t x14; 58*91f16700Schasinglulu uint64_t x15; 59*91f16700Schasinglulu uint64_t x16; 60*91f16700Schasinglulu uint64_t x17; 61*91f16700Schasinglulu uint64_t x18; 62*91f16700Schasinglulu uint64_t x19; 63*91f16700Schasinglulu uint64_t x20; 64*91f16700Schasinglulu uint64_t x21; 65*91f16700Schasinglulu uint64_t x22; 66*91f16700Schasinglulu uint64_t x23; 67*91f16700Schasinglulu uint64_t x24; 68*91f16700Schasinglulu uint64_t x25; 69*91f16700Schasinglulu uint64_t x26; 70*91f16700Schasinglulu uint64_t x27; 71*91f16700Schasinglulu uint64_t x28; 72*91f16700Schasinglulu uint64_t x29; 73*91f16700Schasinglulu uint64_t x30; 74*91f16700Schasinglulu uint64_t pc; 75*91f16700Schasinglulu uint64_t currentEL; 76*91f16700Schasinglulu uint64_t sp_el3; 77*91f16700Schasinglulu uint64_t elr_el3; 78*91f16700Schasinglulu uint64_t spsr_el3; 79*91f16700Schasinglulu uint64_t sp_el2; 80*91f16700Schasinglulu uint64_t elr_el2; 81*91f16700Schasinglulu uint64_t spsr_el2; 82*91f16700Schasinglulu uint64_t sp_el1; 83*91f16700Schasinglulu uint64_t elr_el1; 84*91f16700Schasinglulu uint64_t spsr_el1; 85*91f16700Schasinglulu uint64_t sp_el0; 86*91f16700Schasinglulu uint64_t __reserved1; 87*91f16700Schasinglulu uint64_t __reserved2; 88*91f16700Schasinglulu uint64_t __reserved3; 89*91f16700Schasinglulu uint64_t __reserved4; 90*91f16700Schasinglulu uint64_t __reserved5; 91*91f16700Schasinglulu uint64_t __reserved6; 92*91f16700Schasinglulu uint64_t __reserved7; 93*91f16700Schasinglulu uint64_t __reserved8; 94*91f16700Schasinglulu } qtiseclib_dbg_a64_ctxt_regs_type; 95*91f16700Schasinglulu 96*91f16700Schasinglulu typedef enum qtiseclib_mmap_attr_s { 97*91f16700Schasinglulu QTISECLIB_MAP_NS_RO_XN_DATA = 1, 98*91f16700Schasinglulu QTISECLIB_MAP_RW_XN_NC_DATA = 2, 99*91f16700Schasinglulu QTISECLIB_MAP_RW_XN_DATA = 3, 100*91f16700Schasinglulu } qtiseclib_mmap_attr_t; 101*91f16700Schasinglulu 102*91f16700Schasinglulu #endif /* QTI_SDI_BUILD */ 103*91f16700Schasinglulu 104*91f16700Schasinglulu #endif /* QTISECLIB_DEFS_H */ 105