Subversion Repositories HelenOS

Rev

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

Rev 3678 Rev 3692
Line 296... Line 296...
296
{
296
{
297
    unsigned int ac = ofw_get_address_cells(ofw_memory) /
297
    unsigned int ac = ofw_get_address_cells(ofw_memory) /
298
        (sizeof(uintptr_t) / sizeof(uint32_t));
298
        (sizeof(uintptr_t) / sizeof(uint32_t));
299
    unsigned int sc = ofw_get_size_cells(ofw_memory) /
299
    unsigned int sc = ofw_get_size_cells(ofw_memory) /
300
        (sizeof(uintptr_t) / sizeof(uint32_t));
300
        (sizeof(uintptr_t) / sizeof(uint32_t));
301
    printf("address cells: %d, size cells: %d. ", ac, sc);
-
 
302
 
301
 
303
    uintptr_t buf[((ac + sc) * MEMMAP_MAX_RECORDS)];
302
    uintptr_t buf[((ac + sc) * MEMMAP_MAX_RECORDS)];
304
    int ret = ofw_get_property(ofw_memory, "reg", buf, sizeof(buf));
303
    int ret = ofw_get_property(ofw_memory, "reg", buf, sizeof(buf));
305
    if (ret <= 0)       /* ret is the number of written bytes */
304
    if (ret <= 0)       /* ret is the number of written bytes */
306
        return false;
305
        return false;
Line 403... Line 402...
403
    /* required in order to be able to make a method call */
402
    /* required in order to be able to make a method call */
404
    ihandle screen = ofw_open(device_name);
403
    ihandle screen = ofw_open(device_name);
405
    if (screen == -1)
404
    if (screen == -1)
406
        return false;
405
        return false;
407
 
406
 
408
    /* setup the palette so that the 3:2:3 scheme is usable */
407
    /* setup the palette so that the (inverted) 3:2:3 scheme is usable */
409
    unsigned int i;
408
    unsigned int i;
410
    for (i = 0; i < 256; i++)
409
    for (i = 0; i < 256; i++)
411
        if (ofw_call("call-method", 6, 1, NULL, "color!", screen,
410
        if (ofw_call("call-method", 6, 1, NULL, "color!", screen,
412
            i,
411
            255 - i,
413
            i << 5,
412
            i << 5,
414
            (i >> 3) << 6,
413
            (i >> 3) << 6,
415
            (i >> 5) << 5) != 0);
414
            (i >> 5) << 5) != 0);
416
    return true;
415
    return true;
417
}
416
}