Changes in uspace/srv/bd/rd/rd.c [fbcdeb8:b5daa89] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/bd/rd/rd.c

    rfbcdeb8 rb5daa89  
    105105        unsigned int flags;
    106106        if (async_share_out_receive(&callid, &comm_size, &flags)) {
    107                 (void) async_share_out_finalize(callid, &fs_va);
    108                 if (fs_va == (void *) -1) {
     107                fs_va = as_get_mappable_page(comm_size);
     108                if (fs_va) {
     109                        (void) async_share_out_finalize(callid, fs_va);
     110                } else {
    109111                        async_answer_0(callid, EHANGUP);
    110112                        return;
     
    222224       
    223225        rd_size = ALIGN_UP(size, block_size);
     226        rd_addr = as_get_mappable_page(rd_size);
     227       
    224228        unsigned int flags =
    225229            AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE;
    226        
    227         ret = physmem_map((void *) addr_phys,
    228             ALIGN_UP(rd_size, PAGE_SIZE) >> PAGE_WIDTH, flags, &rd_addr);
    229         if (ret != EOK) {
     230        ret = physmem_map((void *) addr_phys, rd_addr,
     231            ALIGN_UP(rd_size, PAGE_SIZE) >> PAGE_WIDTH, flags);
     232        if (ret < 0) {
    230233                printf("%s: Error mapping RAM disk\n", NAME);
    231234                return false;
Note: See TracChangeset for help on using the changeset viewer.