Commit graph

2951 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
dcb3f497be Rename main.mod to kernel.img 2010-02-07 03:29:59 +01:00
Vladimir 'phcoder' Serbinenko
19a9fb834b merge mainline into emu-mod 2010-02-07 03:06:33 +01:00
Vladimir 'phcoder' Serbinenko
74e4934e1c 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
	of disk to dsk to avoid shadowing.
	(find_free_slot): Fix prototype.
	* util/getroot.c (grub_util_is_dmraid): Make static.
	* include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
	Add missing prototype.
	* util/sdl.c (grub_video_sdl_set_viewport): Remove.
2010-02-07 02:47:18 +01:00
Vladimir 'phcoder' Serbinenko
f88d801b17 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
Fix warnings in grub-emu when compiling with maximum warning options.

	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
	of disk to dsk to avoid shadowing.
2010-02-07 02:44:47 +01:00
Vladimir 'phcoder' Serbinenko
98e6959dea 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
Fix warnings in grub-emu when compiling with maximum warning options.

	* util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
	(grub_arch_modules_addr): Return 0 and not NULL.
	* util/misc.c (ENABLE_RELOCATABLE): New definition.
	(xstrdup): USe newstr instead of dup.
2010-02-07 02:37:48 +01:00
Vladimir 'phcoder' Serbinenko
909301af11 First try at generating grub-emu from modules 2010-02-07 02:07:35 +01:00
Vladimir 'phcoder' Serbinenko
74e31b5ca2 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/linux.c (grub_linux_setup_video): Handle error
	appropriately.
2010-02-07 01:41:23 +01:00
Vladimir 'phcoder' Serbinenko
6b2ad14b7a 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
	code out.
2010-02-07 01:33:37 +01:00
Vladimir 'phcoder' Serbinenko
8f891adc6f 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
	* kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
	* kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
	* kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
	* kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
	* util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2010-02-07 00:52:31 +01:00
Vladimir 'phcoder' Serbinenko
74b45184e4 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/err.h (grub_err_printf): Don't export.
2010-02-07 00:46:09 +01:00
Vladimir 'phcoder' Serbinenko
a4bced7752 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/dl.h (grub_dl_register_symbol): Don't export.
2010-02-07 00:40:17 +01:00
Vladimir 'phcoder' Serbinenko
007d0695e2 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i18n.h (grub_gettext_dummy): Removed.
	* kern/misc.c (grub_gettext_dummy): Make static.
2010-02-07 00:36:18 +01:00
Vladimir 'phcoder' Serbinenko
b6c0d9c201 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
	by non-valid ones.
	* kern/term.c (grub_putchar): Likewise.
2010-02-06 23:39:14 +01:00
Vladimir 'phcoder' Serbinenko
f51a90d0cf 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
	buggy hook call and memory leak.
2010-02-06 20:59:56 +01:00
Vladimir 'phcoder' Serbinenko
6846cec5f7 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* commands/ls.c (grub_ls_list_files): Free pathname on exit.
2010-02-06 20:52:11 +01:00
Vladimir 'phcoder' Serbinenko
468d69fec2 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
2010-02-06 20:49:57 +01:00
Vladimir 'phcoder' Serbinenko
51906b8c8a 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
	modevar.
	Return grub_errno on allocation error.
2010-02-06 16:32:45 +01:00
Vladimir 'phcoder' Serbinenko
a1cb3e3811 Merge mainline into ofwfb 2010-02-06 16:01:18 +01:00
Vladimir 'phcoder' Serbinenko
e0a3000a5c ChangeLog 2010-02-06 16:00:56 +01:00
Vladimir 'phcoder' Serbinenko
09706ce58a Fixed ChangeLog 2010-02-06 16:00:29 +01:00
Vladimir 'phcoder' Serbinenko
e190e3d2cc merge mainline into ofwfb 2010-02-06 15:54:01 +01:00
Vladimir 'phcoder' Serbinenko
7b5d0fe444 Increase heap limit 2010-02-06 15:53:39 +01:00
Vladimir 'phcoder' Serbinenko
89494cb55c 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
2010-02-06 15:51:22 +01:00
Yves Blusseau
911df80c54 2010-02-06 Yves Blusseau <blusseau@zetam.org>
* conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
    (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
2010-02-06 15:37:23 +01:00
Vladimir 'phcoder' Serbinenko
3746a6bc31 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
* fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
	non-pxe disk.
	(grub_pxefs_open): Likewise.
2010-02-06 15:25:59 +01:00
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
58b78c121d error on unsupported resolution 2010-02-05 23:04:09 +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
69efaa32d2 Merge mainline into ofwfb 2010-01-31 01:59:35 +01:00
Vladimir 'phcoder' Serbinenko
fbab7b0794 Framebuffer on PowerPC-based macs 2010-01-31 01:57:17 +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