Commit graph

2754 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
7cc192d9f2 2010-02-06 Colin D Bennett <colin@gibibit.com>
* conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
	(gfxmenu_mod_SOURCES): New variable.
	(gfxmenu_mod_CFLAGS): Likewise.
	(gfxmenu_mod_LDFLAGS): Likewise.
	* include/grub/term.h (grub_term_set_current_output): Declare
	argument as const.
	* docs/gfxmenu-theme-example.txt: New file.
	* gfxmenu/gfxmenu.c: Likewise.
	* gfxmenu/gui_box.c: Likewise.
	* gfxmenu/gui_canvas.c: Likewise.
	* gfxmenu/gui_circular_progress.c: Likewise.
	* gfxmenu/gui_image.c: Likewise.
	* gfxmenu/gui_label.c: Likewise.
	* gfxmenu/gui_list.c: Likewise.
	* gfxmenu/gui_progress_bar.c: Likewise.
	* gfxmenu/gui_string_util.c: Likewise.
	* gfxmenu/gui_util.c: Likewise.
	* gfxmenu/icon_manager.c: Likewise.
	* gfxmenu/model.c: Likewise.
	* gfxmenu/named_colors.c: Likewise.
	* gfxmenu/theme_loader.c: Likewise.
	* gfxmenu/view.c: Likewise.
	* gfxmenu/widget-box.c: Likewise.
	* include/grub/gfxmenu_model.h: Likewise.
	* include/grub/gfxmenu_view.h: Likewise.
	* include/grub/gfxwidgets.h: Likewise.
	* include/grub/gui.h: Likewise.
	* include/grub/gui_string_util.h: Likewise.
	* include/grub/icon_manager.h: Likewise.

2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Agglomerate scrolling in gfxterm.

	* term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
	(grub_virtual_screen_setup): Initialise 'total_screen'.
	(write_char): Split to ...
	(paint_char): ... this ...
	(write_char): ... and this.
	(paint_char): Handle delayed scrolling.
	(draw_cursor): Likewise.
	(scroll_up): Split to ...
	(real_scroll): ... this ...
	(scroll_up): ... and this.
	(real_scroll): Handle multi-line scroll and draw below-the-bottom
	characters.
	(grub_gfxterm_refresh): Call real_scroll.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	* include/grub/misc.h (grub_iscntrl): New inline function.
	(grub_isalnum): Likewise.
	(grub_strtol): Likewise.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	* normal/menu_text.c (get_entry_number): Move from here ...
	* normal/menu.c (get_entry_number): ... moved here.
	* include/grub/menu.h (grub_menu_get_default_entry_index):
	New prototype.
	* normal/menu.c (grub_menu_get_default_entry_index): New function.
	* normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
	* include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
	(grub_menu_viewer_should_return): Likewise.
	* normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
	* normal/menu_text.c (run_menu): Enable menu switching.
	* normal/menu_viewer.c (should_return): New variable.
	(menu_viewer_changed): Likewise.
	(grub_menu_viewer_show_menu): Handle menu viewer changes.
	(grub_menu_viewer_should_return): New function.
	(menuviewer_write_hook): Likewise.
	(grub_menu_viewer_init): Likewise.

2010-02-06  Colin D Bennet <colin@gibibit.com>
2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for gfxterm in a window.

	* include/grub/gfxterm.h: New file.
	* include/grub/video.h (struct grub_video_rect): New declaration.
	(grub_video_rect_t): Likewise.
	* term/gfxterm.c (struct grub_gfxterm_window): New type.
	(refcount): New variable.
	(render_target): Likewise.
	(window): Likewise.
	(repaint_callback): Likewise.
	(grub_virtual_screen_setup): Use 'render_target'.
	(init_window): New function.
	(grub_gfxterm_init_window): Likewise.
	(grub_gfxterm_init): Check reference counter.
	Use init_window.
	(destroy_window): New function.
	(grub_gfxterm_destroy_window): Likewise.
	(grub_gfxterm_fini): Check reference counter.
	Use destroy_window.
	(redraw_screen_rect): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(write_char): Use 'render_target'.
	(draw_cursor): Likewise.
	(scroll_up): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(grub_gfxterm_cls): Likewise.
	(grub_gfxterm_refresh): Use 'window'.
	(grub_gfxterm_set_repaint_callback): New function.
	(grub_gfxterm_background_image_cmd): Use 'window'.
	(grub_gfxterm_get_term): New function.
	(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	Bitmap scaling support.

	* conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
	(bitmap_scale_mod_SOURCES): New variable.
	(bitmap_scale_mod_CFLAGS): Likewise.
	(bitmap_scale_mod_LDFLAGS): Likewise.
	* include/grub/bitmap_scale.h: New file.
	* term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
	(background_image_cmd_options): New variable.
	(grub_gfxterm_background_image_cmd): Support bitmap stretching.
	(cmd): Rename and change type to ...
	(background_image_cmd_handle): ... this. All users updated.
	(GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
	* video/bitmap_scale.c: New file.

2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	SDL support.

	* Makefile.in (LIBSDL): New variable.
	(enable_grub_emu_sdl): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
	(grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
	(grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
	* configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
	* util/sdl.c: New file.

2010-02-06  Colin D Bennett  <colin@gibibit.com>
2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Double buffering support.

	* commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
	* include/grub/video.h: Update comment.
	* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
	New type.
	(grub_video_fb_doublebuf_blit_init): New prototype.
	* term/gfxterm.c (scroll_up): Support double buffering.
	(grub_gfxterm_refresh): Likewise.
	* video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	* video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
	'front_target', 'back_target', 'offscreen_buffer', 'page_size',
	'displayed_page', 'render_page' and 'update_screen'.
	(grub_video_vbe_fini): Free offscreen buffer.
	(doublebuf_pageflipping_commit): New function.
	(doublebuf_pageflipping_update_screen): Likewise.
	(doublebuf_pageflipping_init): Likewise.
	(double_buffering_init): Likewise.
	(grub_video_vbe_setup): Enable doublebuffering.
	(grub_video_vbe_swap_buffers): Implement.
	(grub_video_vbe_set_active_render_target): Handle double buffering.
	(grub_video_vbe_get_active_render_target): Likewise.
	(grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
	(grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
	(grub_video_vbe_enable_double_buffering): Likewise.
	(grub_video_vbe_swap_buffers): Use update_screen.
	(grub_video_set_mode): Use double buffering.

2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>

	* maintainance/gentrigtables.py: Remove.
	* lib/trig.c: Likewise.

	* gentrigtables.c: New file.  C rewrite of gentrigtables.py.

	* conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
	`trigtables.c'.
	(trigtables.c): New rule.
	(gentrigtables): Likewise.
	(DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.

2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>

	* maintainance/gentrigtables.py: Avoid duplicate hardcoding of
	integer constants.

2010-02-06  Colin D Bennet <colin@gibibit.com>

	Trigonometry support.

	* include/grub/trig.h: New file.
	* lib/trig.c: Likewise.
	* maintainance/gentrigtables.py: Likewise.
	* conf/common.rmk (pkglib_MODULES): Add trig.mod.
	(trig_mod_SOURCES): New variable.
	(trig_mod_CFLAGS): Likewise.
	(trig_mod_LDFLAGS): Likewise.
2010-02-06 14:40:57 +01:00
Vladimir 'phcoder' Serbinenko
5562834e18 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
	disk devices.
2010-02-06 00:32:07 +01:00
Vladimir 'phcoder' Serbinenko
4f8528fc2b 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
	error.
2010-02-06 00:30:25 +01:00
Vladimir 'phcoder' Serbinenko
98f5714739 Fix mips compilation 2010-02-03 01:34:55 +01:00
Vladimir 'phcoder' Serbinenko
1f534b6908 Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
Vladimir 'phcoder' Serbinenko
2b4068e992 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
* util/hostdisk.c (open_device): Don't use partition device when reading
	before the partition.
	(grub_util_biosdisk_read): Don't read from partition and before the
	partition in single operation.
	(grub_util_biosdisk_write): Don't write to partition and before the
	partition in single operation.
2010-02-03 00:49:35 +01:00
Torsten Landschoff
399f6e4d9c 2010-02-03 Torsten Landschoff <torsten@debian.org>
* kern/disk.c (grub_disk_read): Fix offset computation when reading
	last sectors.
2010-02-03 00:46:55 +01:00
Vladimir 'phcoder' Serbinenko
996649b073 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
* disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
	CDROM reads.
	(grub_biosdisk_write): Refuse to write to CDROM.
2010-02-03 00:43:55 +01:00
Vladimir 'phcoder' Serbinenko
3b205d4ddf 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2010-01-31 11:11:03 +01:00
Vladimir 'phcoder' Serbinenko
61e89d9db6 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
* font/font.c (find_glyph): Check that bmp_idx is available before
	using it.
	(grub_font_get_string_width): Never call grub_font_get_glyph_internal
	with (font == NULL).
2010-01-31 01:26:11 +01:00
Christian Schmitt
bf7fcba2d7 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
* util/ieee1275/grub-install.in: Fix nvsetenv arguments.
2010-01-28 23:10:37 +01:00
BVK Chaitanya
1136ac2632 fix for grub-script-check to handle empty lines 2010-01-28 22:31:06 +05:30
BVK Chaitanya
366e15ba86 sync with trunk 2010-01-28 21:48:15 +05:30
BVK Chaitanya
f45d2663b0 add changelog 2010-01-28 21:46:59 +05:30
BVK Chaitanya
275d6f6bd4 fix grub-script-check 2010-01-28 21:43:28 +05:30
Robert Millan
ec1444e6df 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
* Makefile.in (check): Exit with fail status when one of the tests
	fails.
	* tests/example_functional_test.c (example_test): Fix reversed assert.
	* tests/example_unit_test.c (example_test): Likewise.
2010-01-28 15:27:41 +00:00
Colin Watson
2e1cb9bbbf 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/10_linux.in: This script does not use any of the
	contents of gettext.sh, only the external command `gettext', so stop
	sourcing it.  (Moreover, gettext.sh isn't necessarily installed in
	the same prefix as GRUB.)
	* util/grub.d/10_kfreebsd.in: Likewise.
2010-01-28 12:49:40 +00:00
Vladimir 'phcoder' Serbinenko
63533ab093 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
* normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
	of the line.
2010-01-27 17:47:36 +01:00
Vladimir 'phcoder' Serbinenko
989e1f934b 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
* kern/disk.c (grub_disk_read): Fix offset computation when reading
	last sectors.
2010-01-27 17:30:03 +01:00
Vladimir 'phcoder' Serbinenko
e709ebe2ef 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
* commands/hashsum.c (hash_file): Avoid possible stack overflow by
	having a 4KiB and not 32KiB buffer size.
2010-01-27 16:29:21 +01:00
Robert Millan
27dea7eda4 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
* util/hostfs.c: Include `<errno.h>'.
	(grub_hostfs_read): Handle errors from fseeko() and fread().
2010-01-27 03:18:14 +00:00
Robert Millan
67667b9ced 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
* kern/disk.c (grub_disk_read): Fix bug that would cause infinite
	loop when using read hooks on files whose size isn't sector-aligned.
2010-01-27 03:15:03 +00:00
Robert Millan
c294d9d812 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
Remove unused parameter.
	
	* fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
	(grub_iso9660_open): Remove initialization of `data->length'.
2010-01-27 03:11:20 +00:00
Robert Millan
af75a9f19a 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
* util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
	memleak conditions.
2010-01-27 01:49:11 +00:00
carles
254e2ce596 2010-01-27 Carles Pina i Estany <carles@pina.cat>
* util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
	(grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
2010-01-27 00:19:46 +00:00
carles
aa2f9dd26d Correct ChangeLog entry date. 2010-01-26 23:07:37 +00:00
carles
b510928c38 2010-01-26 Carles Pina i Estany <carles@pina.cat>
* util/bin2h.c (usage): Fix warning (space after backslash).
2010-01-26 21:23:59 +00:00
carles
de0b7a4ed1 2010-01-25 Carles Pina i Estany <carles@pina.cat>
* font/font.c: Include `grub/fontformat.h.
	Remove font file format constants.
	(grub_font_load): Use the new macros.
	* include/grub/fontformat.h: New file.
	* util/grub-mkfont.c: Include `grub/fontformat.c'.
	(write_font_pf2): Use the new macros.
2010-01-26 20:16:08 +00:00
Robert Millan
94e7e71281 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
* util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
	does.
2010-01-26 18:12:49 +00:00
Robert Millan
3973a59a34 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
	
	* boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
	(_start): Macroify `0x7F'.
	
	* kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
	(make_install_device): Use "(pxe)" as fallback prefix when booting
	via PXE.
2010-01-26 16:39:37 +00:00
Robert Millan
59cad637ae Update my email address 2010-01-26 16:45:16 +01:00
Grégoire Sutre
42e0cba3af Reset LIBS after check for libgcc symbols in configure.ac. 2010-01-26 01:57:56 +01:00
Colin Watson
847effd8bf 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
* util/hostdisk.c (open_device): Add trailing newline to debug
	message.
2010-01-25 17:04:22 +00:00
Grégoire Sutre
ea4a7e35eb 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
* configure.ac: Check for `limits.h'.
	* util/misc.c: Include `<limits.h>' (for PATH_MAX).
2010-01-25 10:06:55 +01:00
Robert Millan
67951a534f 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
* loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
	capitalize error strings.
2010-01-24 21:04:29 +00:00
Samuel Thibault
c273d4cea9 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
* util/grub.d/10_hurd.in: Add a recovery mode.
2010-01-24 14:30:10 +01:00
Vladimir 'phcoder' Serbinenko
69be5b74be 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for libgcc symbols with -nostdlib.
2010-01-23 22:56:08 +01:00
BVK Chaitanya
fc9e58104a fix underquoted AC_DEFUN parameters 2010-01-23 22:38:10 +05:30
Vladimir 'phcoder' Serbinenko
4b358c0a56 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
	stack since heap may be unavailable at that point.
	(grub_ofconsole_gotoxy): Likewise.
2010-01-22 20:42:02 +01:00
Vladimir 'phcoder' Serbinenko
454fcd1c9b 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for _restgpr_14_x.
	* include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
	and _savegpr_* prototypes.
2010-01-22 20:40:21 +01:00
Robert Millan
566863ca19 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
Use generic grub_reboot() for i386-efi.
	
	* kern/efi/efi.c [__i386__] (grub_reboot): Remove.
	* kern/i386/efi/startup.S: Include `"../realmode.S"'.
	* kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2010-01-22 17:12:40 +00:00
Vladimir 'phcoder' Serbinenko
bf86e59a76 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
	presence of "prefix" variable as it breaks when normal.mod is
	embedded.
2010-01-22 00:33:07 +01:00
Vladimir 'phcoder' Serbinenko
d645e0f8e8 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
	stack since heap is unavailable at that point.
2010-01-22 00:07:28 +01:00
Vladimir 'phcoder' Serbinenko
f9ab2e25d3 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
	(grub_freebsd_bootinfo): Rewritten.
	* loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2010-01-21 17:35:14 +01:00
Vladimir 'phcoder' Serbinenko
01fc7054b9 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* util/misc.c (make_system_path_relative_to_its_root): Fix typo.
2010-01-21 13:58:40 +01:00
Robert Millan
caab4fd6ca 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
* po/POTFILES: Remove mkisofs-related files.  They have their own TLP
	domain now.
2010-01-21 08:04:49 +00:00
Felix Zielcke
67eb14272d 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
* util/misc.c (make_system_path_relative_to_its_root): Change the work
	around for handling "/" to the correct fix.  Fix a memory leak.  Use
	xstrdup instead of strdup.
2010-01-20 23:53:53 +01:00
Vladimir 'phcoder' Serbinenko
a9ed4ff36f 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
2010-01-20 22:21:08 +01:00
Vladimir 'phcoder' Serbinenko
bed35bdac7 2009-11-29 Vladimir Serbinenko <phcoder@gmail.com>
Optimise glyph lookup by Basic Multilingual Plane lookup array.

	* font/font.c (struct grub_font): New member 'bmp_idx'.
	(font_init): Initialise 'bmp_idx'.
	(load_font_index): Fill 'bmp_idx'.
	(find_glyph): Make inline. Use bmp_idx for BMP characters.
2010-01-20 21:56:05 +01:00
Vladimir 'phcoder' Serbinenko
e6d5d6e624 merge mainline into bmpidx 2010-01-20 21:53:43 +01:00