| /optee_os/core/arch/arm/kernel/ |
| H A D | virtualization.c | 89 struct guest_partition *prtn = get_current_prtn(); in virt_get_current_guest_id() local 91 if (!prtn) in virt_get_current_guest_id() 93 return prtn->id; in virt_get_current_guest_id() 96 static void set_current_prtn(struct guest_partition *prtn) in set_current_prtn() argument 100 current_partition[get_core_pos()] = prtn; in set_current_prtn() 194 static TEE_Result configure_guest_prtn_mem(struct guest_partition *prtn) in configure_guest_prtn_mem() argument 199 prtn->tee_ram = nex_phys_mem_core_alloc(VCORE_UNPG_RW_SZ); in configure_guest_prtn_mem() 200 if (!prtn->tee_ram) { in configure_guest_prtn_mem() 205 DMSG("TEE RAM: %08" PRIxPA, tee_mm_get_smem(prtn->tee_ram)); in configure_guest_prtn_mem() 207 prtn->ta_ram = nex_phys_mem_ta_alloc(get_ta_ram_size()); in configure_guest_prtn_mem() [all …]
|
| H A D | thread_spmc.c | 685 static struct notif_vm_bitmap *get_notif_vm_bitmap(struct guest_partition *prtn, in get_notif_vm_bitmap() argument 689 if (!prtn) in get_notif_vm_bitmap() 691 assert(vm_id == virt_get_guest_id(prtn)); in get_notif_vm_bitmap() 692 return virt_get_guest_spec_data(prtn, notif_vm_bitmap_id); in get_notif_vm_bitmap() 702 struct guest_partition *prtn = NULL; in spmc_enable_async_notif() local 721 prtn = virt_get_guest(vm_id); in spmc_enable_async_notif() 722 nvb = get_notif_vm_bitmap(prtn, vm_id); in spmc_enable_async_notif() 735 virt_put_guest(prtn); in spmc_enable_async_notif() 1566 struct guest_partition *prtn = NULL; in handle_notification_bitmap_create() local 1570 prtn = virt_get_guest(vm_id); in handle_notification_bitmap_create() [all …]
|
| /optee_os/core/drivers/crypto/caam/hal/common/registers/ |
| H A D | sm_regs.h | 11 #define SM_SMAPR(prtn) (0x0A04 + (prtn) * 16) argument 19 #define SM_SMAG2(prtn) (0x0A08 + (prtn) * 16) argument 20 #define SM_SMAG1(prtn) (0x0A0C + (prtn) * 16) argument 25 #define SM_SMCR_PRTN(prtn) SHIFT_U32((prtn) & 0xF, 8) argument 48 #define SM_SMPO_PART(prtn) ((prtn) * 2) argument 49 #define SM_SMPO_OWNER(val, prtn) (((val) >> SM_SMPO_PART(prtn)) & 0x3) argument
|
| /optee_os/core/arch/arm/mm/ |
| H A D | core_mmu_lpae.c | 512 static uint64_t *get_base_table(struct mmu_partition *prtn, size_t tbl_idx, in get_base_table() argument 518 return prtn->base_tables + (core_pos * NUM_BASE_TABLES + tbl_idx) * in get_base_table() 522 static uint64_t *get_l2_ta_tables(struct mmu_partition *prtn, size_t thread_id) in get_l2_ta_tables() argument 526 return prtn->l2_ta_tables + XLAT_TABLE_ENTRIES * thread_id; in get_l2_ta_tables() 530 static uint64_t *get_l1_ta_table(struct mmu_partition *prtn, size_t base_idx, in get_l1_ta_table() argument 536 idx = prtn->user_l1_table_idx[core_pos * NUM_BASE_TABLES + base_idx]; in get_l1_ta_table() 537 tbl = (void *)((vaddr_t)prtn->xlat_tables + idx * XLAT_TABLE_SIZE); in get_l1_ta_table() 541 static void set_l1_ta_table(struct mmu_partition *prtn, size_t base_idx, in set_l1_ta_table() argument 546 idx = ((vaddr_t)tbl - (vaddr_t)prtn->xlat_tables) / XLAT_TABLE_SIZE; in set_l1_ta_table() 547 assert(idx < prtn->xlat_tables_used); in set_l1_ta_table() [all …]
|
| H A D | core_mmu_v7.c | 252 static vaddr_t core_mmu_get_main_ttb_va(struct mmu_partition *prtn) in core_mmu_get_main_ttb_va() argument 254 return (vaddr_t)prtn->l1_table; in core_mmu_get_main_ttb_va() 257 static paddr_t core_mmu_get_main_ttb_pa(struct mmu_partition *prtn) in core_mmu_get_main_ttb_pa() argument 259 paddr_t pa = virt_to_phys((void *)core_mmu_get_main_ttb_va(prtn)); in core_mmu_get_main_ttb_pa() 266 static vaddr_t core_mmu_get_ul1_ttb_va(struct mmu_partition *prtn) in core_mmu_get_ul1_ttb_va() argument 268 return (vaddr_t)prtn->ul1_tables[thread_get_id()]; in core_mmu_get_ul1_ttb_va() 271 static paddr_t core_mmu_get_ul1_ttb_pa(struct mmu_partition *prtn) in core_mmu_get_ul1_ttb_pa() argument 273 paddr_t pa = virt_to_phys((void *)core_mmu_get_ul1_ttb_va(prtn)); in core_mmu_get_ul1_ttb_pa() 280 static uint32_t *alloc_l2_table(struct mmu_partition *prtn) in alloc_l2_table() argument 290 if (prtn->last_l2_page) in alloc_l2_table() [all …]
|
| /optee_os/core/kernel/ |
| H A D | notif_default.c | 29 static struct notif_vm_bitmap *get_notif_vm_bitmap(struct guest_partition *prtn) in get_notif_vm_bitmap() argument 32 if (!prtn) in get_notif_vm_bitmap() 34 return virt_get_guest_spec_data(prtn, notif_vm_bitmap_id); in get_notif_vm_bitmap() 41 struct guest_partition *prtn = NULL; in notif_alloc_async_value() local 49 prtn = virt_get_current_guest(); in notif_alloc_async_value() 50 nvb = get_notif_vm_bitmap(prtn); in notif_alloc_async_value() 74 virt_put_guest(prtn); in notif_alloc_async_value() 81 struct guest_partition *prtn = NULL; in notif_free_async_value() local 85 prtn = virt_get_current_guest(); in notif_free_async_value() 86 nvb = get_notif_vm_bitmap(prtn); in notif_free_async_value() [all …]
|
| H A D | notif.c | 32 static struct notif_data *get_notif_data(struct guest_partition *prtn) in get_notif_data() argument 35 assert(prtn); in get_notif_data() 36 return virt_get_guest_spec_data(prtn, notif_data_id); in get_notif_data() 43 struct guest_partition *prtn = virt_get_guest(guest_id); in notif_async_is_started() local 47 if (!IS_ENABLED(CFG_NS_VIRTUALIZATION) || prtn) { in notif_async_is_started() 48 struct notif_data *ndata = get_notif_data(prtn); in notif_async_is_started() 55 virt_put_guest(prtn); in notif_async_is_started() 85 struct guest_partition *prtn = virt_get_guest(guest_id); in notif_deliver_atomic_event() local 86 struct notif_data *ndata = get_notif_data(prtn); in notif_deliver_atomic_event() 113 virt_put_guest(prtn); in notif_deliver_atomic_event() [all …]
|
| /optee_os/core/arch/riscv/mm/ |
| H A D | core_mmu_arch.c | 287 static struct mmu_pgt *core_mmu_get_root_pgt_va(struct mmu_partition *prtn, in core_mmu_get_root_pgt_va() argument 292 return prtn->root_pgt + core_pos; in core_mmu_get_root_pgt_va() 295 static struct mmu_pgt *core_mmu_get_ta_pgt_va(struct mmu_partition *prtn) in core_mmu_get_ta_pgt_va() argument 297 return &prtn->user_pgts[thread_get_id()]; in core_mmu_get_ta_pgt_va() 300 static struct mmu_pgt *core_mmu_pgt_alloc(struct mmu_partition *prtn) in core_mmu_pgt_alloc() argument 310 if (prtn == core_mmu_get_prtn()) { in core_mmu_pgt_alloc() 329 if (prtn->pool_pgts) { in core_mmu_pgt_alloc() 330 assert((vaddr_t)prtn->pool_pgts + in core_mmu_pgt_alloc() 331 prtn->pgts_used * in core_mmu_pgt_alloc() 334 boot_mem_add_reloc(&prtn->pool_pgts); in core_mmu_pgt_alloc() [all …]
|
| /optee_os/core/tests/ |
| H A D | notif_test_wd.c | 28 static struct wd_data *get_wd_data(struct guest_partition *prtn) in get_wd_data() argument 31 assert(prtn); in get_wd_data() 32 return virt_get_guest_spec_data(prtn, wd_data_id); in get_wd_data() 62 struct guest_partition *prtn = virt_get_guest(guest_id); in wd_ndrv_atomic_cb() local 63 struct wd_data *wd = get_wd_data(prtn); in wd_ndrv_atomic_cb() 72 virt_put_guest(prtn); in wd_ndrv_atomic_cb() 81 struct guest_partition *prtn = virt_get_current_guest(); in wd_ndrv_yielding_cb() local 82 struct wd_data *wd = get_wd_data(prtn); in wd_ndrv_yielding_cb() 87 virt_put_guest(prtn); in wd_ndrv_yielding_cb()
|
| /optee_os/core/include/kernel/ |
| H A D | virtualization.h | 106 uint16_t virt_get_guest_id(struct guest_partition *prtn); 124 struct guest_partition *virt_next_guest(struct guest_partition *prtn); 153 void virt_put_guest(struct guest_partition *prtn); 181 void *virt_get_guest_spec_data(struct guest_partition *prtn, 203 static inline uint16_t virt_get_guest_id(struct guest_partition *prtn __unused) in virt_get_guest_id() 216 virt_next_guest(struct guest_partition *prtn __unused) in virt_next_guest() 220 static inline void virt_put_guest(struct guest_partition *prtn __unused) { } in virt_put_guest() 230 virt_get_guest_spec_data(struct guest_partition *prtn __unused, in virt_get_guest_spec_data()
|
| /optee_os/core/include/mm/ |
| H A D | core_mmu.h | 413 struct mmu_partition *prtn; member 428 bool core_mmu_find_table(struct mmu_partition *prtn, vaddr_t va, 656 void core_init_mmu_prtn(struct mmu_partition *prtn, struct memory_map *mem_map); 669 void core_free_mmu_prtn(struct mmu_partition *prtn); 670 void core_mmu_set_prtn(struct mmu_partition *prtn); 684 void core_mmu_map_region(struct mmu_partition *prtn,
|
| /optee_os/core/mm/ |
| H A D | core_mmu.c | 1970 void core_mmu_map_region(struct mmu_partition *prtn, struct tee_mmap_region *mm) in core_mmu_map_region() argument 1994 table_found = core_mmu_find_table(prtn, vaddr, level, in core_mmu_map_region()
|