Lines Matching refs:msg

238                                   struct rt_aspace_fault_msg *msg, char *fault_addr)  in _map_page_in_varea()  argument
240 char *page_va = msg->response.vaddr; in _map_page_in_varea()
243 msg->response.status = MM_FAULT_STATUS_OK_MAPPED; in _map_page_in_varea()
248 msg->response.status = MM_FAULT_STATUS_UNRECOVERABLE; in _map_page_in_varea()
273 struct rt_aspace_fault_msg msg; in _get_page_from_backup() local
274 msg.fault_op = MM_FAULT_OP_WRITE; in _get_page_from_backup()
275 msg.fault_type = MM_FAULT_TYPE_PAGE_FAULT; in _get_page_from_backup()
276 msg.fault_vaddr = backup_addr; in _get_page_from_backup()
277 msg.off = offset_in_mobj; in _get_page_from_backup()
278 rt_mm_fault_res_init(&msg.response); in _get_page_from_backup()
280 rt_mm_dummy_mapper.on_page_fault(backup_varea, &msg); in _get_page_from_backup()
281 if (msg.response.status != MM_FAULT_STATUS_UNRECOVERABLE) in _get_page_from_backup()
283 _map_page_in_varea(backup, backup_varea, &msg, backup_addr); in _get_page_from_backup()
284 if (msg.response.status == MM_FAULT_STATUS_OK_MAPPED) in _get_page_from_backup()
286 rc = msg.response.vaddr; in _get_page_from_backup()
288 rt_pages_free(msg.response.vaddr, 0); in _get_page_from_backup()
309 static void _fetch_page_for_varea(struct rt_varea *varea, struct rt_aspace_fault_msg *msg, rt_bool_… in _fetch_page_for_varea() argument
322 paddr = rt_hw_mmu_v2p(curr_aspace, msg->fault_vaddr); in _fetch_page_for_varea()
327 rt_mm_dummy_mapper.on_page_fault(varea, msg); in _fetch_page_for_varea()
328 if (msg->response.status != MM_FAULT_STATUS_UNRECOVERABLE) in _fetch_page_for_varea()
331 _map_page_in_varea(backup, varea, msg, msg->fault_vaddr); in _fetch_page_for_varea()
332 if (msg->response.status != MM_FAULT_STATUS_UNRECOVERABLE) in _fetch_page_for_varea()
334 rt_pages_free(msg->response.vaddr, 0); in _fetch_page_for_varea()
340 frame_ka = _get_page_from_backup(backup, msg->off); in _fetch_page_for_varea()
343 msg->response.vaddr = frame_ka; in _fetch_page_for_varea()
344 msg->response.size = ARCH_PAGE_SIZE; in _fetch_page_for_varea()
347 msg->response.status = MM_FAULT_STATUS_OK; in _fetch_page_for_varea()
351 _map_page_in_varea(curr_aspace, varea, msg, msg->fault_vaddr); in _fetch_page_for_varea()
358 msg->response.status = MM_FAULT_STATUS_OK_MAPPED; in _fetch_page_for_varea()
363 static void _anon_page_fault(struct rt_varea *varea, struct rt_aspace_fault_msg *msg) in _anon_page_fault() argument
365 _fetch_page_for_varea(varea, msg, RT_TRUE); in _anon_page_fault()
381 struct rt_aspace_fault_msg msg; in _anon_page_read() local
382 msg.fault_op = MM_FAULT_OP_READ; in _anon_page_read()
383 msg.fault_type = MM_FAULT_TYPE_PAGE_FAULT; in _anon_page_read()
384 msg.fault_vaddr = iomsg->fault_vaddr; in _anon_page_read()
385 msg.off = iomsg->off; in _anon_page_read()
386 rt_mm_fault_res_init(&msg.response); in _anon_page_read()
388 _fetch_page_for_varea(varea, &msg, RT_FALSE); in _anon_page_read()
389 if (msg.response.status != MM_FAULT_STATUS_UNRECOVERABLE) in _anon_page_read()
421 struct rt_aspace_fault_msg msg; in _anon_page_write() local
422 msg.fault_op = MM_FAULT_OP_WRITE; in _anon_page_write()
423 msg.fault_type = MM_FAULT_TYPE_PAGE_FAULT; in _anon_page_write()
424 msg.fault_vaddr = iomsg->fault_vaddr; in _anon_page_write()
425 msg.off = iomsg->off; in _anon_page_write()
426 rt_mm_fault_res_init(&msg.response); in _anon_page_write()
428 _fetch_page_for_varea(varea, &msg, RT_TRUE); in _anon_page_write()
429 if (msg.response.status == MM_FAULT_STATUS_OK_MAPPED) in _anon_page_write()
495 …_varea_t varea, rt_aspace_t aspace, void *fault_vaddr, struct rt_aspace_fault_msg *msg, void *page) in _override_map() argument
522 msg->response.status = MM_FAULT_STATUS_OK; in _override_map()
523 msg->response.vaddr = page; in _override_map()
524 msg->response.size = ARCH_PAGE_SIZE; in _override_map()
525 if (rt_varea_map_with_msg(map_varea, msg) != RT_EOK) in _override_map()
527 …LOG_E("%s: fault_va=%p,(priv_va=%p,priv_sz=0x%lx) at %s", __func__, msg->fault_vaddr, map_varea->s… in _override_map()
530 RT_ASSERT(rt_hw_mmu_v2p(aspace, msg->fault_vaddr) == (page + PV_OFFSET)); in _override_map()
556 struct rt_aspace_fault_msg *msg, in rt_varea_fix_private_locked() argument
571 fault_vaddr = msg->fault_vaddr; in rt_varea_fix_private_locked()
591 rt_mm_io_msg_init(&io_msg, msg->off, msg->fault_vaddr, page); in rt_varea_fix_private_locked()
599 rc = _override_map(ex_varea, aspace, fault_vaddr, msg, page); in rt_varea_fix_private_locked()
605msg->fault_vaddr, VAREA_NAME(ex_varea), ex_varea->start, ex_varea->size); in rt_varea_fix_private_locked()
610 rc = _override_map(ex_varea, aspace, fault_vaddr, msg, page); in rt_varea_fix_private_locked()