Changeset 3636964 in mainline for uspace/srv/ns/ns.c
- Timestamp:
- 2009-04-06T19:32:58Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade
- Children:
- 2845930
- Parents:
- 13a638d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/ns/ns.c
r13a638d r3636964 121 121 } 122 122 123 static void get_as_area(ipc_callid_t callid, ipc_call_t *call, char *name, void **addr) 124 { 125 void *ph_addr; 126 127 if (!*addr) { 128 ph_addr = (void *) sysinfo_value(name); 129 if (!ph_addr) { 123 static void get_as_area(ipc_callid_t callid, ipc_call_t *call, void *ph_addr, count_t pages, void **addr) 124 { 125 if (ph_addr == NULL) { 126 ipc_answer_0(callid, ENOENT); 127 return; 128 } 129 130 if (*addr == NULL) { 131 *addr = as_get_mappable_page(pages * PAGE_SIZE); 132 133 if (*addr == NULL) { 130 134 ipc_answer_0(callid, ENOENT); 131 135 return; 132 136 } 133 *addr = as_get_mappable_page(PAGE_SIZE);134 if (physmem_map(ph_addr, *addr, 1,137 138 if (physmem_map(ph_addr, *addr, pages, 135 139 AS_AREA_READ | AS_AREA_CACHEABLE) != 0) { 136 140 ipc_answer_0(callid, ENOENT); … … 138 142 } 139 143 } 144 140 145 ipc_answer_2(callid, EOK, (ipcarg_t) *addr, AS_AREA_READ); 141 146 } … … 198 203 switch (IPC_GET_ARG3(call)) { 199 204 case SERVICE_MEM_REALTIME: 200 get_as_area(callid, &call, "clock.faddr", &clockaddr);205 get_as_area(callid, &call, sysinfo_value("clock.faddr"), 1, &clockaddr); 201 206 break; 202 207 case SERVICE_MEM_KLOG: 203 get_as_area(callid, &call, "klog.faddr", &klogaddr);208 get_as_area(callid, &call, sysinfo_value("klog.faddr"), sysinfo_value("klog.pages"), &klogaddr); 204 209 break; 205 210 default:
Note:
See TracChangeset
for help on using the changeset viewer.