Subversion Repositories HelenOS

Rev

Rev 3386 | Go to most recent revision | 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