Skip to content

Commit

Permalink
lib_manager: Set target memory flags after data loading from storage
Browse files Browse the repository at this point in the history
Memory region must first be mapped as writable to allow data to be placed
there. Then the target access flags are set, e.g. read-only and executable.

Signed-off-by: Adrian Warecki <[email protected]>
  • Loading branch information
softwarecki committed Mar 13, 2024
1 parent 3926292 commit 081b2c3
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions src/library_manager/lib_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ static int lib_manager_load_data_from_storage(void __sparse_cache *vma, void *s_
{
/* Region must be first mapped as writable in order to initialize its contents. */
int ret = sys_mm_drv_map_region((__sparse_force void *)vma, POINTER_TO_UINT(NULL), size,
flags | SYS_MM_MEM_PERM_RW);
SYS_MM_MEM_PERM_RW);
if (ret < 0)
return ret;

Expand All @@ -139,11 +139,7 @@ static int lib_manager_load_data_from_storage(void __sparse_cache *vma, void *s_

dcache_writeback_region(vma, size);

/* TODO: Change attributes for memory to FLAGS. Implementation of required function in tlb
* driver is in progress.
* sys_mm_drv_update_region_flags(vma, size, flags);
*/
return 0;
return sys_mm_drv_update_region_flags(vma, size, flags);
}

static int lib_manager_load_module(const uint32_t module_id,
Expand Down

0 comments on commit 081b2c3

Please sign in to comment.