On Mon, 02 Jul 2007 10:06:17 -0700 Chandramouli Narayanan <[EMAIL PROTECTED]> wrote:
> EFI x86_64 support Patch 3 of 3 (try #2) > ---------------------------------------- > - Fixed redundant check in efifb_init(). > > This patch depends on the EFI x86_64 patches 1/3 and 2/3. > > This patch adds Graphics Output Protocol support to the kernel. > x86_64 systems with UEFI2.0 firmware conform to UEFI 2.0 specification. > UEFI2.0 spec deprecates Universal Graphics Adapter (UGA) protocol and > only Graphics Output Protocol (GOP) is produced. Therefore, the boot loader > needs to query the UEFI firmware with appropriate Output Protocol and > pass the video information to the kernel. As a result of GOP > protocol, an EFI framebuffer driver is needed for displaying console messages. > Patch 3 of 3 adds a EFI framebuffer driver. The EFI frame buffer driver in > this > patch is based on the Intel Mac framebuffer driver. > > The x86_64 ELILO bootloader takes care of passing the video information > as appropriate for EFI firmware. > That's more like a changelog. Please cc [EMAIL PROTECTED] and "Antonino A. Daplas" <[EMAIL PROTECTED]> on framebuffer driver patches. > > +config FB_EFI > + bool "EFI-based Framebuffer Support" > + depends on (FB = y) && X86 && EFI So this is selectable on i386 as well. Has it been tested there? > + select FB_CFB_FILLRECT > + select FB_CFB_COPYAREA > + select FB_CFB_IMAGEBLIT > + help > + This is the EFI frame buffer device driver. If the firmware on > + your platform is UEFI2.0, select Y to add support for > + Graphics Output Protocol for early console messages to appear. > + > config FB_IMAC > bool "Intel-based Macintosh Framebuffer Support" > depends on (FB = y) && X86 && EFI > > ... > > --- linux-2.6.21-orig/drivers/video/efifb.c 1969-12-31 16:00:00.000000000 > -0800 > +++ linux-2.6.21-uefi-finaltest4/drivers/video/efifb.c 2007-06-12 > 16:16:12.000000000 -0700 > @@ -0,0 +1,249 @@ > +/* > + * framebuffer driver for Intel Based Mac's > + * > + * (c) 2006 Edgar Hucek <[EMAIL PROTECTED]> > + * Original efi driver written by Gerd Knorr <[EMAIL PROTECTED]> > + * > + */ > + > +#include <linux/delay.h> > +#include <linux/errno.h> > +#include <linux/fb.h> > +#include <linux/kernel.h> > +#include <linux/init.h> > +#include <linux/ioport.h> > +#include <linux/mm.h> > +#include <linux/module.h> > +#include <linux/platform_device.h> > +#include <linux/screen_info.h> > +#include <linux/slab.h> > +#include <linux/string.h> > +#include <linux/dmi.h> > +#include <linux/efi.h> > + > +#include <asm/io.h> checkpatch.pl will save me work. > +#ifndef __i386__ > + //screen_info.imacpm_seg = 0; > +#endif hmm. > + > + if (!request_mem_region(efifb_fix.smem_start, size_total, "efifb")) { > + printk(KERN_WARNING > + "efifb: cannot reserve video memory at 0x%lx\n", > + efifb_fix.smem_start); KERN_ERR? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/