Commit graph

3127 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
2083672af1 Remove -DGRUB_UTIL when compiling grub-emu 2010-02-07 04:23:44 +01:00
Vladimir 'phcoder' Serbinenko
1eebb21608 Add missing dependency 2010-02-07 04:01:22 +01:00
Vladimir 'phcoder' Serbinenko
285505d3fc Eliminate blacklist of modules w/o init 2010-02-07 03:58:14 +01:00
Vladimir 'phcoder' Serbinenko
ebe841ad55 Don't try to generate moddep.lst on any-emu.rmk 2010-02-07 03:48:38 +01:00
Vladimir 'phcoder' Serbinenko
c5160d75c4 Don't strip on any-emu 2010-02-07 03:43:07 +01:00
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
58548abbc3 Remove data member in partition structure 2010-02-07 01:48:38 +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
05d4e36ff6 reimport sunpc 2010-02-06 21:36:24 +01:00
Vladimir 'phcoder' Serbinenko
35b86ff407 Merge mainline into nestpart 2010-02-06 21:03:32 +01:00
Vladimir 'phcoder' Serbinenko
f3e309ad7d Use (hd0,msdos1) syntax. Eliminate partmap_iterate 2010-02-06 21:00:53 +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
85f90358b1 Remove part_ prefix 2010-02-06 19:33:53 +01:00
Vladimir 'phcoder' Serbinenko
bc6fcf0931 merge mainline into nestpart 2010-02-06 18:47:17 +01:00
Vladimir 'phcoder' Serbinenko
15cb7d433f Reimport nestpart 2010-02-06 18:43:37 +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