[OpenBIOS] r648 - in trunk/openbios-devel: arch/sparc64 drivers

Igor Kovalenko igor.v.kovalenko at gmail.com
Tue Dec 29 22:15:50 CET 2009


On Mon, Dec 28, 2009 at 1:15 PM,  <svn at openbios.org> wrote:
> Author: blueswirl
> Date: 2009-12-28 11:15:33 +0100 (Mon, 28 Dec 2009)
> New Revision: 648
>
> Modified:
>   trunk/openbios-devel/arch/sparc64/entry.S
>   trunk/openbios-devel/drivers/pci.c
>   trunk/openbios-devel/drivers/vga_vbe.c
> Log:
> Map VGA buffer only during PCI probe
>
> Also pass physical addresses instead of bus addresses to VGA init.
>
> Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
>
> Modified: trunk/openbios-devel/drivers/vga_vbe.c
> ===================================================================
> --- trunk/openbios-devel/drivers/vga_vbe.c      2009-12-21 09:57:53 UTC (rev 647)
> +++ trunk/openbios-devel/drivers/vga_vbe.c      2009-12-28 10:15:33 UTC (rev 648)
> @@ -25,6 +25,7 @@
>  #include "asm/io.h"
>  #include "libc/vsprintf.h"
>  #include "video_subr.h"
> +#include "ofmem.h"
>
>  /* VGA init. We use the Bochs VESA VBE extensions  */
>  #define VBE_DISPI_INDEX_ID              0x0
> @@ -142,7 +143,10 @@
>                depth = d;
>                linebytes = (width * ((depth + 7) / 8));
>        }
> +#ifdef CONFIG_SPARC64
> +        ofmem_map_page_range(fb, fb, fb_size, 0x36);
>  #endif
> +#endif
>
>        vga_vbe_set_mode(width, height, depth);

You pass flags so mapping is unlocked, this can cause
problems with translations being evicted from tlb table.
Do you see any issues? Linux kernel has it's own idea
of address translations, and we still do not switch trap
handlers so probably framebuffer should be mapped
locked into tlb table (mode=0x76)

-- 
Kind regards,
Igor V. Kovalenko



More information about the OpenBIOS mailing list