Subversion Repositories HelenOS

Rev

Rev 4338 | Rev 4341 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4338 Rev 4339
Line 492... Line 492...
492
{
492
{
493
    printf(NAME ": HelenOS Console service\n");
493
    printf(NAME ": HelenOS Console service\n");
494
   
494
   
495
    ipcarg_t phonehash;
495
    ipcarg_t phonehash;
496
    int kbd_phone;
496
    int kbd_phone;
-
 
497
    size_t ib_size;
497
    int i;
498
    int i;
498
   
499
   
499
    async_set_client_connection(client_connection);
500
    async_set_client_connection(client_connection);
500
   
501
   
501
    /* Connect to keyboard driver */
502
    /* Connect to keyboard driver */
Line 542... Line 543...
542
            /* FIXME: handle error */
543
            /* FIXME: handle error */
543
            return -1;
544
            return -1;
544
        }
545
        }
545
    }
546
    }
546
    connections[KERNEL_CONSOLE].used = 1;
547
    connections[KERNEL_CONSOLE].used = 1;
547
   
548
 
548
    interbuffer = mmap(NULL,
549
    /* Set up shared memory buffer. */
549
        sizeof(keyfield_t) * fb_info.cols * fb_info.rows,
550
    ib_size = sizeof(keyfield_t) * fb_info.cols * fb_info.rows;
-
 
551
    interbuffer = as_get_mappable_page(ib_size);
-
 
552
 
-
 
553
    if (as_area_create(interbuffer, ib_size, AS_AREA_READ |
550
        PROTO_READ | PROTO_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
554
        AS_AREA_WRITE | AS_AREA_CACHEABLE) != interbuffer) {
-
 
555
        interbuffer = NULL;
-
 
556
    }
-
 
557
 
551
    if (!interbuffer) {
558
    if (interbuffer) {
552
        if (ipc_share_out_start(fb_info.phone, interbuffer,
559
        if (ipc_share_out_start(fb_info.phone, interbuffer,
553
            AS_AREA_READ) != EOK) {
560
            AS_AREA_READ) != EOK) {
554
            munmap(interbuffer,
561
            as_area_destroy(interbuffer);
555
                sizeof(keyfield_t) * fb_info.cols * fb_info.rows);
-
 
556
            interbuffer = NULL;
562
            interbuffer = NULL;
557
        }
563
        }
558
    }
564
    }
559
   
565
   
560
    curs_goto(0, 0);
566
    curs_goto(0, 0);