Changeset ae6021d in mainline for kernel/generic/src
- Timestamp:
- 2016-09-02T15:44:09Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e755b3f
- Parents:
- c1f7a315
- Location:
- kernel/generic/src/mm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/as.c
rc1f7a315 rae6021d 2187 2187 2188 2188 sysarg_t sys_as_area_create(uintptr_t base, size_t size, unsigned int flags, 2189 uintptr_t bound, int pager)2189 uintptr_t bound, as_area_pager_info_t *pager_info) 2190 2190 { 2191 2191 uintptr_t virt = base; … … 2193 2193 mem_backend_data_t backend_data; 2194 2194 2195 if (pager == AS_AREA_UNPAGED)2195 if (pager_info == AS_AREA_UNPAGED) 2196 2196 backend = &anon_backend; 2197 2197 else { 2198 2198 backend = &user_backend; 2199 backend_data.pager = pager; 2199 if (copy_from_uspace(&backend_data.pager_info, pager_info, 2200 sizeof(as_area_pager_info_t)) != EOK) { 2201 return (sysarg_t) AS_MAP_FAILED; 2202 } 2200 2203 } 2201 2204 as_area_t *area = as_area_create(AS, flags, size, -
kernel/generic/src/mm/backend_user.c
rc1f7a315 rae6021d 39 39 #include <mm/as.h> 40 40 #include <mm/page.h> 41 #include <abi/mm/as.h> 41 42 #include <abi/ipc/methods.h> 42 43 #include <ipc/sysipc.h> … … 132 133 return AS_PF_FAULT; 133 134 135 as_area_pager_info_t *pager_info = &area->backend_data.pager_info; 136 134 137 ipc_data_t data = {}; 135 138 IPC_SET_IMETHOD(data, IPC_M_PAGE_IN); 136 139 IPC_SET_ARG1(data, upage - area->base); 137 140 IPC_SET_ARG2(data, PAGE_SIZE); 141 IPC_SET_ARG3(data, pager_info->id1); 142 IPC_SET_ARG4(data, pager_info->id2); 143 IPC_SET_ARG5(data, pager_info->id3); 138 144 139 int rc = ipc_req_internal( area->backend_data.pager, &data);145 int rc = ipc_req_internal(pager_info->pager, &data); 140 146 141 147 if (rc != EOK) { … … 143 149 "Page-in request for page %#" PRIxn 144 150 " at pager %d failed with error %d.", 145 upage, area->backend_data.pager, rc);151 upage, pager_info->pager, rc); 146 152 return AS_PF_FAULT; 147 153 }
Note:
See TracChangeset
for help on using the changeset viewer.