* [GITGRUB] FB driver for OLPC @ 2009-08-16 10:03 Bean 2009-08-17 13:22 ` Vladimir 'phcoder' Serbinenko 0 siblings, 1 reply; 6+ messages in thread From: Bean @ 2009-08-16 10:03 UTC (permalink / raw) To: The development of GRUB 2 Hi, This patch adds fb device for i386-ieee1275 platform, the usage is quite similar to efi fb. BTW, openfirmware platforms reserve too little memory so that gfxterm can't start, I increase the heap size to 8m for now. The patch can be downloaded at: http://github.com/bean123/grub/tree/master -- Bean gitgrub home: http://github.com/grub/grub/ my fork page: http://github.com/bean123/grub/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GITGRUB] FB driver for OLPC 2009-08-16 10:03 [GITGRUB] FB driver for OLPC Bean @ 2009-08-17 13:22 ` Vladimir 'phcoder' Serbinenko 2009-08-17 14:22 ` Bean 0 siblings, 1 reply; 6+ messages in thread From: Vladimir 'phcoder' Serbinenko @ 2009-08-17 13:22 UTC (permalink / raw) To: The development of GRUB 2 On Sun, Aug 16, 2009 at 12:03 PM, Bean<bean123ch@gmail.com> wrote: > Hi, > > This patch adds fb device for i386-ieee1275 platform, the usage is > quite similar to efi fb. > > BTW, openfirmware platforms reserve too little memory so that gfxterm > can't start, I increase the heap size to 8m for now. > >static grub_uint32_t fb_addr; >static grub_uint32_t fb_width; >static grub_uint32_t fb_height; >static grub_uint32_t fb_pitch; These values are a duplicate of values found in framebuffer variable >static grub_err_t >grub_video_ofw_init (void) >{ > check_device (); check_device is already called on module init >static grub_err_t >grub_video_ofw_fini (void) >{ > return grub_video_fb_fini (); >} You can just set .fini = grub_video_fb_fini, > if (((! width) || (width == fb_width)) && > ((! height) || (height == fb_height)) && > ((! depth) || (depth == 16))) > { Does OLPC support only one resolution? Is it the same for qemu with ofw? Or coreboot+ofw? > framebuffer.mode_info.mode_type = GRUB_VIDEO_MODE_TYPE_RGB; > framebuffer.mode_info.bpp = 16; > framebuffer.mode_info.bytes_per_pixel = 2; > framebuffer.mode_info.number_of_colors = 256; /* TODO: fix me. */ > framebuffer.mode_info.red_mask_size = 5; > framebuffer.mode_info.red_field_pos = 11; > framebuffer.mode_info.green_mask_size = 6; > framebuffer.mode_info.green_field_pos = 5; > framebuffer.mode_info.blue_mask_size = 5; > framebuffer.mode_info.blue_field_pos = 0; Can this info be retrieved from OFW instead of being hardcoded? > -- > Bean > > gitgrub home: http://github.com/grub/grub/ > my fork page: http://github.com/bean123/grub/ > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > -- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GITGRUB] FB driver for OLPC 2009-08-17 13:22 ` Vladimir 'phcoder' Serbinenko @ 2009-08-17 14:22 ` Bean 2009-08-27 17:57 ` Bean 0 siblings, 1 reply; 6+ messages in thread From: Bean @ 2009-08-17 14:22 UTC (permalink / raw) To: The development of GRUB 2 On Mon, Aug 17, 2009 at 9:22 PM, Vladimir 'phcoder' Serbinenko<phcoder@gmail.com> wrote: > On Sun, Aug 16, 2009 at 12:03 PM, Bean<bean123ch@gmail.com> wrote: >> Hi, >> >> This patch adds fb device for i386-ieee1275 platform, the usage is >> quite similar to efi fb. >> >> BTW, openfirmware platforms reserve too little memory so that gfxterm >> can't start, I increase the heap size to 8m for now. >> > >>static grub_uint32_t fb_addr; >>static grub_uint32_t fb_width; >>static grub_uint32_t fb_height; >>static grub_uint32_t fb_pitch; > These values are a duplicate of values found in framebuffer variable Hi, These are the global settings detected in check_device, the variables in framebuffer get zero out in init function. > >>static grub_err_t >>grub_video_ofw_init (void) >>{ >> check_device (); > check_device is already called on module init >>static grub_err_t >>grub_video_ofw_fini (void) >>{ >> return grub_video_fb_fini (); >>} > You can just set .fini = grub_video_fb_fini, > Ok. >> if (((! width) || (width == fb_width)) && >> ((! height) || (height == fb_height)) && >> ((! depth) || (depth == 16))) >> { > Does OLPC support only one resolution? Is it the same for qemu with > ofw? Or coreboot+ofw? I suppose it supports other modes, as there are suspicious words like 640x480 in the display device. But as I don't find docs on accessing them, it's basically guess work and may not be portable. >> framebuffer.mode_info.mode_type = GRUB_VIDEO_MODE_TYPE_RGB; >> framebuffer.mode_info.bpp = 16; >> framebuffer.mode_info.bytes_per_pixel = 2; >> framebuffer.mode_info.number_of_colors = 256; /* TODO: fix me. */ >> framebuffer.mode_info.red_mask_size = 5; >> framebuffer.mode_info.red_field_pos = 11; >> framebuffer.mode_info.green_mask_size = 6; >> framebuffer.mode_info.green_field_pos = 5; >> framebuffer.mode_info.blue_mask_size = 5; >> framebuffer.mode_info.blue_field_pos = 0; > Can this info be retrieved from OFW instead of being hardcoded? There seems to be explicit information on this, but there are huge number of words in the display device, it may be be hidden somewhere. -- Bean gitgrub home: http://github.com/grub/grub/ my fork page: http://github.com/bean123/grub/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GITGRUB] FB driver for OLPC 2009-08-17 14:22 ` Bean @ 2009-08-27 17:57 ` Bean 2009-08-28 12:54 ` Robert Millan 0 siblings, 1 reply; 6+ messages in thread From: Bean @ 2009-08-27 17:57 UTC (permalink / raw) To: The development of GRUB 2 Hi, Update: Extends the driver to support powerpc-ieee1275. It's quite similar to i386-ieee1275, but it uses 8-bit indexed color instead of 16-bit color. I use the following command to generate grub.elf: grub-mkimage -d . -m memdisk -o grub.elf minicmd cpio memdisk normal sh ls ofw_fb font gfxterm memdisk contains ascii.pf2 and grub.cfg: set menu_color_normal=cyan/blue set menu_color_highlight=white/blue loadfont /boot/grub/ascii.pf2 terminal_output.gfxterm menuentry "halt" { halt } Tested ok on the following platform: OLPC (i386-ieee1275) OpenBIOS (powerpc-ieee1275) PPC Mac Mini (powerpc-ieee1275) -- Bean gitgrub home: http://github.com/grub/grub/ my fork page: http://github.com/bean123/grub/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GITGRUB] FB driver for OLPC 2009-08-27 17:57 ` Bean @ 2009-08-28 12:54 ` Robert Millan 2009-08-28 14:03 ` Bean 0 siblings, 1 reply; 6+ messages in thread From: Robert Millan @ 2009-08-28 12:54 UTC (permalink / raw) To: The development of GRUB 2 On Fri, Aug 28, 2009 at 01:57:59AM +0800, Bean wrote: > Hi, > > Update: > > Extends the driver to support powerpc-ieee1275. It's quite similar to > i386-ieee1275, but it uses 8-bit indexed color instead of 16-bit > color. Hi, You forgot to attach it? -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GITGRUB] FB driver for OLPC 2009-08-28 12:54 ` Robert Millan @ 2009-08-28 14:03 ` Bean 0 siblings, 0 replies; 6+ messages in thread From: Bean @ 2009-08-28 14:03 UTC (permalink / raw) To: The development of GRUB 2 On Fri, Aug 28, 2009 at 8:54 PM, Robert Millan<rmh@aybabtu.com> wrote: > On Fri, Aug 28, 2009 at 01:57:59AM +0800, Bean wrote: >> Hi, >> >> Update: >> >> Extends the driver to support powerpc-ieee1275. It's quite similar to >> i386-ieee1275, but it uses 8-bit indexed color instead of 16-bit >> color. > > Hi, > > You forgot to attach it? Hi, It's in my repo. This patch relies on the new mode_type/mode_mask interface of phcoder's patch, so it currently can't be compiled again svn tree. -- Bean gitgrub home: http://github.com/grub/grub/ my fork page: http://github.com/bean123/grub/ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-08-28 14:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-08-16 10:03 [GITGRUB] FB driver for OLPC Bean 2009-08-17 13:22 ` Vladimir 'phcoder' Serbinenko 2009-08-17 14:22 ` Bean 2009-08-27 17:57 ` Bean 2009-08-28 12:54 ` Robert Millan 2009-08-28 14:03 ` Bean
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.