VBE cleanup.
* video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
(grub_vbe_set_video_mode): Save active mode info
only after setting the mode.
(grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
second argument.
Rename variables for clarity.
* video/i386/pc/vbe.c (active_mode_info): Renamed to ...
(active_vbe_mode_info): ... this. All users updated.
(framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
All users updated.
(initial_mode): Rename to ...
(initial_vbe_mode): ... this. All users updated.
(mode_in_use): Rename to ..
(vbe_mode_in_use): ... this. All users updated.
(mode_list): Rename to ..
(vbe_mode_list): ... this. All users updated.
(grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
(grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
'mode_list_size' to 'vbe_mode_list_size'.
(grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
'best_mode_info' to 'best_vbe_mode_info' and
'best_mode' to 'best_vbe_mode'
* loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
(DEFAULT_VIDEO_MODE): Remove macros.
(grub_linux_boot): Remove assumption that Linux has FB support,
and use "text" as default video mode.
Handle group offset on UFS1.
* fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
(grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
Framebuffer split.
* commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
subsystem at the end.
* conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
(video_fb_mod_SOURCES): New variable.
(video_fb_mod_CFLAGS): Likewise.
(video_fb_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
* video/i386/pc/vbeblit.c: Moved from here ...
* video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
* video/i386/pc/vbefill.c: Moved from here ...
* video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
* video/i386/pc/vbeutil.c: Moved from here ...
* video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbeblit.h: Moved from here ...
* include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbefill.h: Moved from here ...
* include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbeutil.h: Moved from here ...
* include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbe.h: Moved framebuffer part ...
* include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
(GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
(grub_video_adapter): Added 'get_info_and_fini'.
(grub_video_get_info_and_fini): New prototype.
(grub_video_set_mode): make modestring const char *.
* loader/i386/linux.c (grub_linux_setup_video): Use
grub_video_get_info_and_fini.
(grub_linux_boot): Move modesetting just before booting.
* loader/i386/pc/xnu.c (grub_xnu_set_video): Use
grub_video_get_info_and_fini.
* video/i386/pc/vbe.c: Moved framebuffer part ...
* video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
* video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
grub_video_fbstd_colors and grub_video_fb_set_palette.
(grub_video_vbe_init): Clear 'framebuffer' variable and use
grub_video_fb_init.
(grub_video_vbe_fini): Use grub_video_fb_fini.
(grub_video_vbe_setup): Use framebuffer.render_target instead of
render_target and use grub_video_fb_set_active_render_target and
grub_video_fb_set_palette.
(grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
(grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
(grub_video_vbe_adapter): Use framebuffer.
* video/video.c (grub_video_get_info_and_fini): New function.
(grub_video_set_mode): Make modestring const char *.
(GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
values are already initialised.
* boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
ABS and APPLE_CC.
* boot/i386/pc/diskboot.S: Likewise.
* boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
sectors allow compilation on MacOSX.
* conf/i386-pc.rmk: Enable unconditional compilation of
lnxboot.img.
* include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
(KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
(bsd_kernel_types): ... this enum.
* loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
(grub_cmd_freebsd_module_elf): Abort with "You need to load the
kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
(grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
(grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
(GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
messages.
* util/grub-dumpdevtree: Moved from here ...
* util/i386/efi/grub-dumpdevtree: ... to here.
(hexify): New function. Converts a string to its hex version.
Generate hex versions of "efi" and "device-properties" by calling
hexify() on the ASCII strings rather than by hardcoding numbers.
* util/grub-mkconfig_lib.in (version_test_numeric): Don't use
the "g" modifier in sed when the intention is to strip something
once. This fixes comparison of kernels with multiple dashes.
* util/grub-mkconfig_lib.in (font_path): Move the functionality
of it to ...
* util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_linux.in (test_numeric): Moved from here ...
* util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
Update all users.
* util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
not just "vmlinu[zx]".
Moved from here ...
* util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
all users.
* util/grub.d/10_linux.in (find_latest): Moved from here ...
* util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
all users.
2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_linux.in (test_numeric): Moved from here ...
* util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
Update all users.
* util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
not just "vmlinu[zx]".
Moved from here ...
* util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
all users.
* util/grub.d/10_linux.in (find_latest): Moved from here ...
* util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
all users.
Fix a bug resulting in black screen when loading Linux using a
packed video mode.
* kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
function.
* include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
(grub_vbe_bios_getset_dac_palette_width): New function.
(grub_vbe_bios_get_dac_palette_width)
(grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
grub_vbe_bios_getset_dac_palette_width()).
* video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
check for return status.
(grub_vbe_get_video_mode_info): When getting information for a packed
mode (<= 8 bpp), obtain DAC palette width using
grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
{red,green,blue}_mark_size.
Support Apple partition map with sector size different from 512 bytes.
* partmap/apple.c (grub_apple_header): New field 'blocksize'.
(apple_partition_map_iterate): Respect 'aheader.blocksize'
and 'apart.partmap_size'.