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); |