Changeset 46c20c8 in mainline for uspace/srv/ns/ns.c
- Timestamp:
- 2010-11-26T20:08:10Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 45df59a
- Parents:
- fb150d78 (diff), ffdd2b9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/ns/ns.c
rfb150d78 r46c20c8 55 55 static void *klogaddr = NULL; 56 56 57 static void get_as_area(ipc_callid_t callid, ipc_call_t *call, void * ph_addr,57 static void get_as_area(ipc_callid_t callid, ipc_call_t *call, void *faddr, 58 58 size_t pages, void **addr) 59 59 { 60 if ( ph_addr == NULL) {60 if ((faddr == NULL) || (pages == 0)) { 61 61 ipc_answer_0(callid, ENOENT); 62 62 return; … … 71 71 } 72 72 73 if (physmem_map( ph_addr, *addr, pages,73 if (physmem_map(faddr, *addr, pages, 74 74 AS_AREA_READ | AS_AREA_CACHEABLE) != 0) { 75 75 ipc_answer_0(callid, ENOENT); … … 81 81 } 82 82 83 static void setup_clock_area(ipc_callid_t callid, ipc_call_t *call, void **addr) 84 { 85 uintptr_t faddr; 86 int err = sysinfo_get_value("clock.faddr", &faddr); 87 88 if (err != EOK) 89 ipc_answer_0(callid, err); 90 91 get_as_area(callid, call, (void *) faddr, 1, addr); 92 } 93 94 static void setup_klog_area(ipc_callid_t callid, ipc_call_t *call, void **addr) 95 { 96 uintptr_t faddr; 97 int err = sysinfo_get_value("klog.faddr", &faddr); 98 99 if (err != EOK) 100 ipc_answer_0(callid, err); 101 102 size_t pages; 103 err = sysinfo_get_value("klog.pages", &pages); 104 105 if (err != EOK) 106 ipc_answer_0(callid, err); 107 108 get_as_area(callid, call, (void *) faddr, pages, addr); 109 } 110 83 111 int main(int argc, char **argv) 84 112 { … … 97 125 return rc; 98 126 99 printf( NAME ": Accepting connections\n");127 printf("%s: Accepting connections\n", NAME); 100 128 101 129 while (true) { … … 113 141 switch (IPC_GET_ARG3(call)) { 114 142 case SERVICE_MEM_REALTIME: 115 get_as_area(callid, &call, 116 (void *) sysinfo_value("clock.faddr"), 117 1, &clockaddr); 143 setup_clock_area(callid, &call, &clockaddr); 118 144 break; 119 145 case SERVICE_MEM_KLOG: 120 get_as_area(callid, &call, 121 (void *) sysinfo_value("klog.faddr"), 122 sysinfo_value("klog.pages"), &klogaddr); 146 setup_klog_area(callid, &call, &klogaddr); 123 147 break; 124 148 default:
Note:
See TracChangeset
for help on using the changeset viewer.