| 235 | */ |
| 236 | |
| 237 | rt_inline void _map_page_in_varea(rt_aspace_t asapce, rt_varea_t varea, |
| 238 | struct rt_aspace_fault_msg *msg, char *fault_addr) |
| 239 | { |
| 240 | char *page_va = msg->response.vaddr; |
| 241 | if (rt_varea_map_page(varea, fault_addr, page_va) == RT_EOK) |
| 242 | { |
| 243 | msg->response.status = MM_FAULT_STATUS_OK_MAPPED; |
| 244 | rt_varea_pgmgr_insert(varea, page_va); |
| 245 | } |
| 246 | else |
| 247 | { |
| 248 | msg->response.status = MM_FAULT_STATUS_UNRECOVERABLE; |
| 249 | LOG_W("%s: failed to map page into varea", __func__); |
| 250 | } |
| 251 | } |
| 252 | |
| 253 | /* page frame inquiry or allocation in backup address space */ |
| 254 | static void *_get_page_from_backup(rt_aspace_t backup, rt_base_t offset_in_mobj) |
no test coverage detected