@@ -787,21 +787,21 @@ int llext_manager_add_domain(const uint32_t component_id, struct k_mem_domain *d
787787 size_t data_size = mctx -> segment [LIB_MANAGER_DATA ].size ;
788788
789789 int ret = llext_manager_add_partition (domain , va_base_text , text_size ,
790- K_MEM_PARTITION_P_RX_U_RX );
790+ K_MEM_PARTITION_P_RX_U_RX | XTENSA_MMU_CACHED_WB );
791791
792792 if (ret < 0 )
793793 return ret ;
794794
795795 if (rodata_size ) {
796796 ret = llext_manager_add_partition (domain , va_base_rodata , rodata_size ,
797- K_MEM_PARTITION_P_RO_U_RO );
797+ K_MEM_PARTITION_P_RO_U_RO | XTENSA_MMU_CACHED_WB );
798798 if (ret < 0 )
799799 goto e_text ;
800800 }
801801
802802 if (data_size ) {
803803 ret = llext_manager_add_partition (domain , va_base_data , data_size ,
804- K_MEM_PARTITION_P_RW_U_RW );
804+ K_MEM_PARTITION_P_RW_U_RW | XTENSA_MMU_CACHED_WB );
805805 if (ret < 0 )
806806 goto e_rodata ;
807807 }
@@ -864,7 +864,7 @@ int llext_manager_add_domain(const uint32_t component_id, struct k_mem_domain *d
864864 shdr_cold .sh_size , (uintptr_t )text_addr + text_offset );
865865 ret = llext_manager_add_partition (domain , (uintptr_t )text_addr + text_offset ,
866866 shdr_cold .sh_size ,
867- K_MEM_PARTITION_P_RX_U_RX );
867+ K_MEM_PARTITION_P_RX_U_RX | XTENSA_MMU_CACHED_WB );
868868 if (ret < 0 )
869869 goto e_data ;
870870 mctx -> segment [LIB_MANAGER_COLD ].addr = (uintptr_t )text_addr + text_offset ;
@@ -876,7 +876,7 @@ int llext_manager_add_domain(const uint32_t component_id, struct k_mem_domain *d
876876 shdr_coldrodata .sh_size , (uintptr_t )rodata_addr + rodata_offset );
877877 ret = llext_manager_add_partition (domain , (uintptr_t )rodata_addr + rodata_offset ,
878878 shdr_coldrodata .sh_size ,
879- K_MEM_PARTITION_P_RO_U_RO );
879+ K_MEM_PARTITION_P_RO_U_RO | XTENSA_MMU_CACHED_WB );
880880 if (ret < 0 )
881881 goto e_cold ;
882882 mctx -> segment [LIB_MANAGER_COLDRODATA ].addr = (uintptr_t )rodata_addr + rodata_offset ;
@@ -887,15 +887,18 @@ int llext_manager_add_domain(const uint32_t component_id, struct k_mem_domain *d
887887
888888e_cold :
889889 llext_manager_rm_partition (domain , (uintptr_t )text_addr + text_offset , shdr_cold .sh_size ,
890- K_MEM_PARTITION_P_RX_U_RX );
890+ K_MEM_PARTITION_P_RX_U_RX | XTENSA_MMU_CACHED_WB );
891891 mctx -> segment [LIB_MANAGER_COLD ].addr = 0 ;
892892 mctx -> segment [LIB_MANAGER_COLD ].size = 0 ;
893893e_data :
894- llext_manager_rm_partition (domain , va_base_data , data_size , K_MEM_PARTITION_P_RW_U_RW );
894+ llext_manager_rm_partition (domain , va_base_data , data_size ,
895+ K_MEM_PARTITION_P_RW_U_RW | XTENSA_MMU_CACHED_WB );
895896e_rodata :
896- llext_manager_rm_partition (domain , va_base_rodata , rodata_size , K_MEM_PARTITION_P_RO_U_RO );
897+ llext_manager_rm_partition (domain , va_base_rodata , rodata_size ,
898+ K_MEM_PARTITION_P_RO_U_RO | XTENSA_MMU_CACHED_WB );
897899e_text :
898- llext_manager_rm_partition (domain , va_base_text , text_size , K_MEM_PARTITION_P_RX_U_RX );
900+ llext_manager_rm_partition (domain , va_base_text , text_size ,
901+ K_MEM_PARTITION_P_RX_U_RX | XTENSA_MMU_CACHED_WB );
899902 return ret ;
900903}
901904
@@ -920,14 +923,14 @@ int llext_manager_rm_domain(const uint32_t component_id, struct k_mem_domain *do
920923 size_t data_size = mctx -> segment [LIB_MANAGER_DATA ].size ;
921924
922925 int err , ret = llext_manager_rm_partition (domain , va_base_text , text_size ,
923- K_MEM_PARTITION_P_RX_U_RX );
926+ K_MEM_PARTITION_P_RX_U_RX | XTENSA_MMU_CACHED_WB );
924927
925928 if (ret < 0 )
926929 tr_err (& lib_manager_tr , "failed to remove .text memory partition: %d" , ret );
927930
928931 if (rodata_size ) {
929932 err = llext_manager_rm_partition (domain , va_base_rodata , rodata_size ,
930- K_MEM_PARTITION_P_RO_U_RO );
933+ K_MEM_PARTITION_P_RO_U_RO | XTENSA_MMU_CACHED_WB );
931934 if (err < 0 ) {
932935 tr_err (& lib_manager_tr , "failed to remove .rodata memory partition: %d" ,
933936 err );
@@ -938,7 +941,7 @@ int llext_manager_rm_domain(const uint32_t component_id, struct k_mem_domain *do
938941
939942 if (data_size ) {
940943 err = llext_manager_rm_partition (domain , va_base_data , data_size ,
941- K_MEM_PARTITION_P_RW_U_RW );
944+ K_MEM_PARTITION_P_RW_U_RW | XTENSA_MMU_CACHED_WB );
942945 if (err < 0 ) {
943946 tr_err (& lib_manager_tr , "failed to remove .data memory partition: %d" , err );
944947 if (!ret )
@@ -950,7 +953,7 @@ int llext_manager_rm_domain(const uint32_t component_id, struct k_mem_domain *do
950953 err = llext_manager_rm_partition (domain ,
951954 mctx -> segment [LIB_MANAGER_COLD ].addr ,
952955 mctx -> segment [LIB_MANAGER_COLD ].size ,
953- K_MEM_PARTITION_P_RX_U_RX );
956+ K_MEM_PARTITION_P_RX_U_RX | XTENSA_MMU_CACHED_WB );
954957 if (err < 0 ) {
955958 tr_err (& lib_manager_tr , "failed to remove .cold memory partition: %d" , err );
956959 if (!ret )
@@ -962,7 +965,7 @@ int llext_manager_rm_domain(const uint32_t component_id, struct k_mem_domain *do
962965 err = llext_manager_rm_partition (domain ,
963966 mctx -> segment [LIB_MANAGER_COLDRODATA ].addr ,
964967 mctx -> segment [LIB_MANAGER_COLDRODATA ].size ,
965- K_MEM_PARTITION_P_RO_U_RO );
968+ K_MEM_PARTITION_P_RO_U_RO | XTENSA_MMU_CACHED_WB );
966969 if (err < 0 ) {
967970 tr_err (& lib_manager_tr ,
968971 "failed to remove .coldrodata memory partition: %d" , err );
0 commit comments