Changeset 8424198 in mainline for arch/ia32/src/drivers/vesa.c


Ignore:
Timestamp:
2006-05-18T21:45:16Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
35f3b8c
Parents:
59477e3
Message:

unify the framebuffer API
use physical address as the base address for the framebuffer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/drivers/vesa.c

    r59477e3 r8424198  
    5959}
    6060
    61 static count_t vesa_frame_order(void)
    62 {
    63         __u32 x = vesa_scanline*vesa_height;
    64         if (x <= FRAME_SIZE)
    65                 return 0;
    66 
    67         return (fnzb32(x - 1) + 1) - FRAME_WIDTH;
    68 }
    69 
    7061void vesa_init(void)
    7162{
    72         int a;
    73         __address vram_lin_addr;
    74 
    75         vram_lin_addr = PA2KA(PFN2ADDR(frame_alloc(vesa_frame_order(), FRAME_KA)));
    76         /* Map videoram */
    77         for (a = 0; a < ((vesa_scanline * vesa_height + PAGE_SIZE - 1) >> PAGE_WIDTH); a++)
    78                 page_mapping_insert(AS_KERNEL, vram_lin_addr + a*PAGE_SIZE, vesa_ph_addr + a*FRAME_SIZE,
    79                         PAGE_NOT_CACHEABLE);
    80 
    81         fb_init(vram_lin_addr, vesa_width, vesa_height, vesa_bpp, vesa_scanline);
    82        
    83         fb_register();
    84         sysinfo_set_item_val("fb.address.physical", NULL, vesa_ph_addr);
     63        fb_init(vesa_ph_addr, vesa_width, vesa_height, vesa_bpp, vesa_scanline);
    8564}
    8665
Note: See TracChangeset for help on using the changeset viewer.