Rev 3386 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3386 | Rev 4153 | ||
---|---|---|---|
Line 186... | Line 186... | ||
186 | aid_t req; |
186 | aid_t req; |
187 | ipc_call_t answer; |
187 | ipc_call_t answer; |
188 | int phone; |
188 | int phone; |
189 | ipcarg_t callback_phonehash; |
189 | ipcarg_t callback_phonehash; |
190 | 190 | ||
191 | phone = ipc_connect_me_to(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0); |
191 | phone = ipc_connect_me_to_blocking(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0); |
192 | - | ||
193 | while (phone < 0) { |
192 | if (phone < 0) { |
194 | usleep(10000); |
- | |
195 | phone = ipc_connect_me_to(PHONE_NS, SERVICE_DEVMAP, |
193 | printf(NAME ": Failed to connect to device mapper\n"); |
196 | DEVMAP_DRIVER, 0); |
194 | return -1; |
197 | } |
195 | } |
198 | 196 | ||
199 | req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer); |
197 | req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer); |
200 | 198 | ||
201 | retval = ipc_data_write_start(phone, (char *) name, strlen(name) + 1); |
199 | retval = ipc_data_write_start(phone, (char *) name, strlen(name) + 1); |
Line 255... | Line 253... | ||
255 | rd_addr = as_get_mappable_page(rd_size); |
253 | rd_addr = as_get_mappable_page(rd_size); |
256 | 254 | ||
257 | int flags = AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE; |
255 | int flags = AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE; |
258 | int retval = physmem_map(rd_ph_addr, rd_addr, |
256 | int retval = physmem_map(rd_ph_addr, rd_addr, |
259 | ALIGN_UP(rd_size, PAGE_SIZE) >> PAGE_WIDTH, flags); |
257 | ALIGN_UP(rd_size, PAGE_SIZE) >> PAGE_WIDTH, flags); |
260 | 258 | ||
261 | if (retval < 0) { |
259 | if (retval < 0) { |
262 | printf(NAME ": Error mapping RAM disk\n"); |
260 | printf(NAME ": Error mapping RAM disk\n"); |
263 | return false; |
261 | return false; |
264 | } |
262 | } |
265 | 263 |