Changeset 138


Ignore:
Timestamp:
Aug 31, 2010, 10:26:34 PM (5 years ago)
Author:
oxygene
Message:

Fix display of converted memory map entries
Convert address of framebuffer info array to virtual before using it

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/filo/i386/linux_load.c

    r131 r138  
    278278                        linux_map->size = filo_map->size;
    279279                        linux_map->type = filo_map->type;
    280                         debug("%016Lx - %016Lx (%d)\n", linux_map->addr,
     280                        debug("%016llx - %016llx (%d)\n", linux_map->addr,
    281281                              linux_map->addr + linux_map->size,
    282282                              linux_map->type);
     
    312312                return;
    313313
    314         params->lfb_width = lib_sysinfo.framebuffer->x_resolution;
    315         params->lfb_height = lib_sysinfo.framebuffer->y_resolution;
    316         params->lfb_depth = lib_sysinfo.framebuffer->bits_per_pixel;
    317         params->lfb_linelength = lib_sysinfo.framebuffer->bytes_per_line;
    318         params->lfb_base = lib_sysinfo.framebuffer->physical_address;
     314        struct cb_framebuffer *fb = phys_to_virt(lib_sysinfo.framebuffer);
     315
     316        params->lfb_width = fb->x_resolution;
     317        params->lfb_height = fb->y_resolution;
     318        params->lfb_depth = fb->bits_per_pixel;
     319        params->lfb_linelength = fb->bytes_per_line;
     320        params->lfb_base = fb->physical_address;
     321
    319322        // prolly not enough for the boot splash?!
    320323        params->lfb_size =
    321324            (params->lfb_linelength * params->lfb_height + 65535) >> 16;
    322         params->red_size = lib_sysinfo.framebuffer->red_mask_size;
    323         params->red_pos = lib_sysinfo.framebuffer->red_mask_pos;
    324         params->green_size = lib_sysinfo.framebuffer->green_mask_size;
    325         params->green_pos = lib_sysinfo.framebuffer->green_mask_pos;
    326         params->blue_size = lib_sysinfo.framebuffer->blue_mask_size;
    327         params->blue_pos = lib_sysinfo.framebuffer->blue_mask_pos;
    328         params->rsvd_size = lib_sysinfo.framebuffer->reserved_mask_size;
    329         params->rsvd_pos = lib_sysinfo.framebuffer->reserved_mask_pos;
     325        params->red_size = fb->red_mask_size;
     326        params->red_pos = fb->red_mask_pos;
     327        params->green_size = fb->green_mask_size;
     328        params->green_pos = fb->green_mask_pos;
     329        params->blue_size = fb->blue_mask_size;
     330        params->blue_pos = fb->blue_mask_pos;
     331        params->rsvd_size = fb->reserved_mask_size;
     332        params->rsvd_pos = fb->reserved_mask_pos;
    330333#endif
    331334}
Note: See TracChangeset for help on using the changeset viewer.