Lines Matching defs:map
35 sdei_ev_map_t *map;
80 sdei_ev_map_t *map;
92 for_each_private_map(i, map) {
93 se = get_event_entry(map);
94 if (is_map_bound(map) && GET_EV_STATE(se, ENABLED))
95 plat_ic_enable_interrupt(map->intr);
98 for_each_shared_map(i, map) {
99 se = get_event_entry(map);
101 sdei_map_lock(map);
102 if (is_map_bound(map) && GET_EV_STATE(se, ENABLED) &&
105 plat_ic_enable_interrupt(map->intr);
107 sdei_map_unlock(map);
158 static sdei_dispatch_context_t *save_event_ctx(sdei_ev_map_t *map,
171 disp_ctx->map = map;
312 static void setup_ns_dispatch(sdei_ev_map_t *map, sdei_entry_t *se,
318 disp_ctx = save_event_ctx(map, ctx);
328 SMC_SET_GP(ctx, CTX_GPREG_X0, (uint64_t) map->ev_num);
352 static void handle_masked_trigger(sdei_ev_map_t *map, sdei_entry_t *se,
359 if (map->ev_num == SDEI_EVENT_0)
367 if (is_event_private(map) || (se->reg_flags == SDEI_REGF_RM_PE))
374 plat_ic_disable_interrupt(map->intr);
375 plat_ic_set_interrupt_pending(map->intr);
390 assert(plat_ic_is_spi(map->intr) != 0);
391 plat_ic_set_interrupt_pending(map->intr);
400 plat_sdei_handle_masked_trigger(my_mpidr, map->intr);
412 sdei_ev_map_t *map;
444 map = find_event_map_by_intr(intr, (plat_ic_is_spi(intr) != 0));
445 if (map == NULL) {
446 ERROR("No SDEI map for interrupt %u\n", intr);
454 assert((map->ev_num == SDEI_EVENT_0) || is_map_bound(map));
456 se = get_event_entry(map);
465 map->intr, mpidr);
466 if (is_event_shared(map))
467 sdei_map_lock(map);
469 handle_masked_trigger(map, se, state, intr_raw);
471 if (is_event_shared(map))
472 sdei_map_unlock(map);
478 if (map->ev_num == SDEI_EVENT_0)
481 if (is_event_shared(map))
482 sdei_map_lock(map);
485 if (is_event_shared(map) && (se->reg_flags == SDEI_REGF_RM_PE)) {
491 map->ev_num, se->state);
498 plat_ic_set_interrupt_pending(map->intr);
507 if (is_event_shared(map))
508 sdei_map_unlock(map);
514 if (is_event_critical(map)) {
521 assert(is_event_normal(disp_ctx->map));
533 if (is_event_shared(map))
534 sdei_map_unlock(map);
537 mpidr, map->ev_num, sec_state, read_spsr_el3(), read_elr_el3());
551 setup_ns_dispatch(map, se, ctx, &dispatch_jmp);
572 if ((map->ev_num != SDEI_EVENT_0) && !is_map_bound(map)) {
573 ERROR("Invalid SDEI mapping: ev=0x%x\n", map->ev_num);
595 sdei_ev_map_t *map;
611 map = find_event_map(ev_num);
612 if (map == NULL)
616 if (!is_map_explicit(map))
626 if (is_event_critical(disp_ctx->map))
633 if (is_event_normal(map))
637 se = get_event_entry(map);
648 ehf_activate_priority(sdei_event_priority(map));
651 setup_ns_dispatch(map, se, ns_ctx, &dispatch_jmp);
660 ehf_deactivate_priority(sdei_event_priority(map));
674 sdei_ev_map_t *map;
688 map = disp_ctx->map;
689 assert(map != NULL);
690 se = get_event_entry(map);
692 if (is_event_shared(map))
693 sdei_map_lock(map);
697 if (is_event_shared(map))
698 sdei_map_unlock(map);
702 if (is_event_shared(map))
703 sdei_map_unlock(map);
709 map->ev_num, read_spsr_el3(), read_elr_el3());
763 assert(disp_ctx->map != NULL);
765 if (!can_sdei_state_trans(get_event_entry(disp_ctx->map), DO_CONTEXT))