| /optee_os/core/arch/arm/kernel/ |
| H A D | abort.c | 37 uint32_t mode = ai->regs->spsr & CPSR_MODE_MASK; in __print_stack_unwind() 44 sp = ai->regs->usr_sp; in __print_stack_unwind() 45 lr = ai->regs->usr_lr; in __print_stack_unwind() 52 state.registers[0] = ai->regs->r0; in __print_stack_unwind() 53 state.registers[1] = ai->regs->r1; in __print_stack_unwind() 54 state.registers[2] = ai->regs->r2; in __print_stack_unwind() 55 state.registers[3] = ai->regs->r3; in __print_stack_unwind() 56 state.registers[4] = ai->regs->r4; in __print_stack_unwind() 57 state.registers[5] = ai->regs->r5; in __print_stack_unwind() 58 state.registers[6] = ai->regs->r6; in __print_stack_unwind() [all …]
|
| H A D | stmm_sp.c | 130 thread_set_usr_lr(spc->regs.usr_lr); in stmm_enter_user_mode() 133 __thread_enter_user_mode(&spc->regs, &panicked, &panic_code); in stmm_enter_user_mode() 136 spc->regs.usr_lr = thread_get_usr_lr(); in stmm_enter_user_mode() 158 spc->regs.x[0] = a0; in init_stmm_regs() 159 spc->regs.x[1] = a1; in init_stmm_regs() 160 spc->regs.x[2] = a2; in init_stmm_regs() 161 spc->regs.x[3] = a3; in init_stmm_regs() 162 spc->regs.pc = pc; in init_stmm_regs() 182 spc->regs.r0 = a0; in init_stmm_regs() 183 spc->regs.r1 = a1; in init_stmm_regs() [all …]
|
| H A D | thread.c | 155 thread->regs.pc = (uint32_t)pc; in init_regs() 161 thread->regs.cpsr = read_cpsr() & ARM32_CPSR_E; in init_regs() 162 thread->regs.cpsr |= CPSR_MODE_SVC | CPSR_A | in init_regs() 165 if (thread->regs.pc & 1) in init_regs() 166 thread->regs.cpsr |= CPSR_T; in init_regs() 168 thread->regs.svc_sp = thread->stack_va_end; in init_regs() 174 thread->regs.r0 = a0; in init_regs() 175 thread->regs.r1 = a1; in init_regs() 176 thread->regs.r2 = a2; in init_regs() 177 thread->regs.r3 = a3; in init_regs() [all …]
|
| H A D | arch_scall.c | 45 void scall_save_panic_stack(struct thread_scall_regs *regs) in scall_save_panic_stack() argument 58 (uaddr_t)regs->r1, TA32_CONTEXT_MAX_SIZE)) { in scall_save_panic_stack() 61 (uaddr_t)regs->r1); in scall_save_panic_stack() 65 save_panic_regs_a32_ta(tsd, (uint32_t *)regs->r1); in scall_save_panic_stack() 117 void scall_save_panic_stack(struct thread_scall_regs *regs) in scall_save_panic_stack() argument 126 (uaddr_t)regs->x1, in scall_save_panic_stack() 132 (uaddr_t)regs->x1); in scall_save_panic_stack() 141 save_panic_regs_a32_ta(tsd, (uint32_t *)regs->x1); in scall_save_panic_stack() 143 save_panic_regs_a64_ta(tsd, (uint64_t *)regs->x1); in scall_save_panic_stack() 148 void scall_save_panic_stack(struct thread_scall_regs *regs __unused) in scall_save_panic_stack()
|
| H A D | vfp_private.h | 11 void vfp_save_extension_regs(struct vfp_reg regs[VFP_NUM_REGS]); 12 void vfp_restore_extension_regs(struct vfp_reg regs[VFP_NUM_REGS]);
|
| /optee_os/core/drivers/ |
| H A D | ls_i2c.c | 83 struct i2c_regs *regs = (struct i2c_regs *)base; in i2c_reset() local 85 io_setbits8((vaddr_t)®s->ibcr, I2C_IBCR_MDIS); in i2c_reset() 86 io_setbits8((vaddr_t)®s->ibsr, I2C_IBSR_IBAL | I2C_IBSR_IBIF); in i2c_reset() 87 io_clrbits8((vaddr_t)®s->ibcr, I2C_IBCR_IBIE | I2C_IBCR_DMAEN); in i2c_reset() 88 io_clrbits8((vaddr_t)®s->ibic, I2C_IBIC_BIIE); in i2c_reset() 99 struct i2c_regs *regs = (struct i2c_regs *)base; in i2c_get_ibfd() local 104 if (io_read8((vaddr_t)®s->ibdbg) & I2C_IBDBG_GLFLT_EN) { in i2c_get_ibfd() 121 struct i2c_regs *regs = NULL; in i2c_init() local 154 regs = (struct i2c_regs *)ctrl_base; in i2c_init() 160 io_write8((vaddr_t)®s->ibfd, ibfd); in i2c_init() [all …]
|
| /optee_os/core/arch/riscv/kernel/ |
| H A D | abort.c | 34 .fp = ai->regs->s0, in __print_stack_unwind() 35 .pc = ai->regs->epc, in __print_stack_unwind() 96 ai->regs->cause, ai->regs->epc); in __print_abort_info() 98 ai->regs->tval, ai->regs->status); in __print_abort_info() 100 ai->regs->ra, ai->regs->sp); in __print_abort_info() 102 ai->regs->gp, ai->regs->tp); in __print_abort_info() 104 ai->regs->t0, ai->regs->t1); in __print_abort_info() 106 ai->regs->t2, ai->regs->s0); in __print_abort_info() 108 ai->regs->s1, ai->regs->a0); in __print_abort_info() 110 ai->regs->a1, ai->regs->a2); in __print_abort_info() [all …]
|
| H A D | thread_arch.c | 99 static void setup_unwind_user_mode(struct thread_scall_regs *regs) in setup_unwind_user_mode() argument 101 regs->epc = (uintptr_t)thread_unwind_user_mode; in setup_unwind_user_mode() 102 regs->status = xstatus_for_xret(true, PRV_S); in setup_unwind_user_mode() 103 regs->ie = 0; in setup_unwind_user_mode() 110 regs->sp = (uintptr_t)(regs + 1); in setup_unwind_user_mode() 113 static void thread_unhandled_trap(struct thread_ctx_regs *regs __unused, in thread_unhandled_trap() 121 void thread_scall_handler(struct thread_scall_regs *regs) in thread_scall_handler() argument 139 if (sess->handle_scall(regs)) { in thread_scall_handler() 144 regs->epc += 4; in thread_scall_handler() 147 setup_unwind_user_mode(regs); in thread_scall_handler() [all …]
|
| H A D | arch_scall.c | 53 void scall_save_panic_stack(struct thread_scall_regs *regs) in scall_save_panic_stack() argument 62 (uaddr_t)regs->a1, in scall_save_panic_stack() 66 (uaddr_t)regs->a1); in scall_save_panic_stack() 74 save_panic_regs_rv_ta(tsd, (unsigned long *)regs->a1); in scall_save_panic_stack() 78 void scall_save_panic_stack(struct thread_scall_regs *regs __unused) in scall_save_panic_stack()
|
| /optee_os/core/arch/arm/include/kernel/ |
| H A D | arch_scall.h | 13 static inline void scall_get_max_args(struct thread_scall_regs *regs, in scall_get_max_args() argument 17 *scn = regs->r7; in scall_get_max_args() 18 *max_args = regs->r6; in scall_get_max_args() 21 if (((regs->spsr >> SPSR_MODE_RW_SHIFT) & SPSR_MODE_RW_MASK) == in scall_get_max_args() 23 *scn = regs->x7; in scall_get_max_args() 24 *max_args = regs->x6; in scall_get_max_args() 26 *scn = regs->x8; in scall_get_max_args() 32 static inline void scall_set_retval(struct thread_scall_regs *regs, in scall_set_retval() argument 36 regs->r0 = ret_val; in scall_set_retval() 39 regs->x0 = ret_val; in scall_set_retval() [all …]
|
| H A D | thread_private_arch.h | 143 void thread_resume(struct thread_ctx_regs *regs); 145 uint32_t __thread_enter_user_mode(struct thread_ctx_regs *regs, 256 void thread_scall_handler(struct thread_scall_regs *regs);
|
| /optee_os/core/arch/riscv/include/kernel/ |
| H A D | arch_scall.h | 13 static inline void scall_get_max_args(struct thread_scall_regs *regs, in scall_get_max_args() argument 16 *scn = regs->t0; in scall_get_max_args() 17 *max_args = regs->t1; in scall_get_max_args() 20 static inline void scall_set_retval(struct thread_scall_regs *regs, in scall_set_retval() argument 23 regs->a0 = ret_val; in scall_set_retval() 26 static inline void scall_set_sys_return_regs(struct thread_scall_regs *regs, in scall_set_sys_return_regs() argument 29 regs->a1 = panic; in scall_set_sys_return_regs() 30 regs->a2 = panic_code; in scall_set_sys_return_regs()
|
| H A D | thread_private_arch.h | 63 void thread_native_interrupt_handler(struct thread_ctx_regs *regs, 65 void thread_foreign_interrupt_handler(struct thread_ctx_regs *regs); 111 void thread_resume(struct thread_ctx_regs *regs); 112 uint32_t __thread_enter_user_mode(struct thread_ctx_regs *regs, 130 void thread_scall_handler(struct thread_scall_regs *regs);
|
| /optee_os/core/include/kernel/ |
| H A D | scall.h | 20 uint32_t scall_do_call(struct thread_scall_regs *regs, syscall_t func); 23 bool scall_handle_user_ta(struct thread_scall_regs *regs); 26 bool scall_handle_ldelf(struct thread_scall_regs *regs); 35 struct thread_scall_regs *regs); 38 void scall_save_panic_stack(struct thread_scall_regs *regs);
|
| H A D | abort.h | 25 struct thread_abort_regs *regs; member 34 void abort_handler(uint32_t abort_type, struct thread_abort_regs *regs);
|
| H A D | ts_manager.h | 34 bool (*handle_scall)(struct thread_scall_regs *regs); 71 bool (*handle_scall)(struct thread_scall_regs *regs);
|
| /optee_os/core/kernel/ |
| H A D | ldelf_loader.c | 242 arg->arm32.regs[0] = tsd->abort_regs.r0; in ldelf_dump_state() 243 arg->arm32.regs[1] = tsd->abort_regs.r1; in ldelf_dump_state() 244 arg->arm32.regs[2] = tsd->abort_regs.r2; in ldelf_dump_state() 245 arg->arm32.regs[3] = tsd->abort_regs.r3; in ldelf_dump_state() 246 arg->arm32.regs[4] = tsd->abort_regs.r4; in ldelf_dump_state() 247 arg->arm32.regs[5] = tsd->abort_regs.r5; in ldelf_dump_state() 248 arg->arm32.regs[6] = tsd->abort_regs.r6; in ldelf_dump_state() 249 arg->arm32.regs[7] = tsd->abort_regs.r7; in ldelf_dump_state() 250 arg->arm32.regs[8] = tsd->abort_regs.r8; in ldelf_dump_state() 251 arg->arm32.regs[9] = tsd->abort_regs.r9; in ldelf_dump_state() [all …]
|
| H A D | scall.c | 206 bool scall_handle_user_ta(struct thread_scall_regs *regs) in scall_handle_user_ta() argument 213 scall_get_max_args(regs, &scn, &max_args); in scall_handle_user_ta() 219 scall_set_retval(regs, TEE_ERROR_GENERIC); in scall_handle_user_ta() 227 scall_set_retval(regs, scall_do_call(regs, scf)); in scall_handle_user_ta() 253 bool scall_handle_ldelf(struct thread_scall_regs *regs) in scall_handle_ldelf() argument 260 scall_get_max_args(regs, &scn, &max_args); in scall_handle_ldelf() 266 scall_set_retval(regs, TEE_ERROR_GENERIC); in scall_handle_ldelf() 274 scall_set_retval(regs, scall_do_call(regs, scf)); in scall_handle_ldelf() 286 struct thread_scall_regs *regs) in scall_sys_return_helper() argument 291 scall_save_panic_stack(regs); in scall_sys_return_helper() [all …]
|
| /optee_os/core/drivers/crypto/caam/ |
| H A D | caam_pwr.c | 22 void caam_pwr_add_backup(vaddr_t baseaddr, const struct reglist *regs, in caam_pwr_add_backup() argument 36 nbregs += regs[idx].nbregs; in caam_pwr_add_backup() 40 newelem->regs = regs; in caam_pwr_add_backup() 68 reg = elem->regs; in do_save_regs() 98 reg = elem->regs; in do_restore_regs()
|
| /optee_os/lib/libmbedtls/mbedtls/library/ |
| H A D | aesni.c | 446 #define AESDEC(regs) ".byte 0x66,0x0F,0x38,0xDE," regs "\n\t" argument 447 #define AESDECLAST(regs) ".byte 0x66,0x0F,0x38,0xDF," regs "\n\t" argument 448 #define AESENC(regs) ".byte 0x66,0x0F,0x38,0xDC," regs "\n\t" argument 449 #define AESENCLAST(regs) ".byte 0x66,0x0F,0x38,0xDD," regs "\n\t" argument 450 #define AESIMC(regs) ".byte 0x66,0x0F,0x38,0xDB," regs "\n\t" argument 451 #define AESKEYGENA(regs, imm) ".byte 0x66,0x0F,0x3A,0xDF," regs "," imm "\n\t" argument 452 #define PCLMULQDQ(regs, imm) ".byte 0x66,0x0F,0x3A,0x44," regs "," imm "\n\t" argument
|
| /optee_os/core/drivers/crypto/caam/include/ |
| H A D | caam_pwr.h | 36 const struct reglist *regs; /* Register list */ member 49 void caam_pwr_add_backup(vaddr_t baseaddr, const struct reglist *regs,
|
| /optee_os/core/arch/arm/include/sm/ |
| H A D | sm.h | 125 void sm_save_unbanked_regs(struct sm_unbanked_regs *regs); 126 void sm_restore_unbanked_regs(struct sm_unbanked_regs *regs);
|
| /optee_os/ldelf/ |
| H A D | ta_elf.h | 135 void ta_elf_stack_trace_a32(uint32_t regs[16]); 139 static inline void ta_elf_stack_trace_a32(uint32_t regs[16] __unused) { } in ta_elf_stack_trace_a32()
|
| /optee_os/core/mm/ |
| H A D | vm.c | 559 struct vm_region_head regs = TAILQ_HEAD_INITIALIZER(regs); in vm_remap() local 590 TAILQ_INSERT_TAIL(®s, r, link); in vm_remap() 599 r_first = TAILQ_FIRST(®s); in vm_remap() 600 while (!TAILQ_EMPTY(®s)) { in vm_remap() 601 r = TAILQ_FIRST(®s); in vm_remap() 602 TAILQ_REMOVE(®s, r, link); in vm_remap() 637 TAILQ_INSERT_HEAD(®s, r, link); in vm_remap() 645 TAILQ_INSERT_AFTER(®s, r_tmp, r, in vm_remap() 648 TAILQ_INSERT_HEAD(®s, r, link); in vm_remap() 665 while (!TAILQ_EMPTY(®s)) { in vm_remap() [all …]
|
| /optee_os/core/drivers/qcom/ramblur/ |
| H A D | ramblur_pimem_v3.c | 247 uint32_t regs[2] = { in pre_initialize_3_0_0() local 265 out_dword_masked_ns(regs[i], masks[i], 0x0, inis[i]); in pre_initialize_3_0_0() 266 readback_sync(regs[i], 0, masks[i], shift[i]); in pre_initialize_3_0_0()
|