Changeset 138


Ignore:
Timestamp:
Aug 31, 2010, 10:26:34 PM (4 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.