Commit graph

2259 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
cced9145fc Fix gfxmenu crash.
Reported by: Thorsten Grützmacher.

	* gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
	timeout hook.
	(circprog_set_property): Register and unregister timeout hook.
	* gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
	(label_destroy): Free template. and unregister hook.
	(label_set_state): New function.
	(label_set_property): Handle templates and hooks.
	* gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
	timeout hook.
	(progress_bar_set_property): Register and unregister timeout hook.
	* gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
	* include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
	* gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
	(update_timeout_visit): Removed.
	(update_timeouts): New function.
	(redraw_timeouts): Likewise.
	(grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
	(grub_gfxmenu_clear_timeout): Likewise.
	* include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
	(grub_gfxmenu_timeout_notify): Likewise.
	(grub_gfxmenu_timeout_notifications): New external variable.
	(grub_gfxmenu_timeout_register): New function.
	(grub_gfxmenu_timeout_unregister): Likewise.
2010-05-13 03:56:14 +02:00
Vladimir 'phcoder' Serbinenko
c6e5caab1d Transform (broken) vga terminal into (working) vga video driver.
* conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
	video/i386/pc/vga.c.
	* include/grub/video.h (grub_video_driver_id):
	Add GRUB_VIDEO_DRIVER_VGA.
	* term/i386/pc/vga.c: Renamed to ...
	* video/i386/pc/vga.c: ...this
	(DEBUG_VGA): Removed.
	(CHAR_WIDTH): Likewise.
	(CHAR_HEIGHT): Likewise.
	(TEXT_WIDTH): Likewise.
	(TEXT_HEIGHT): Likewise.
	(DEFAULT_FG_COLOR): Likewise.
	(DEFAULT_BG_COLOR): Likewise.
	(colored_char): Likewise.
	(xpos): Likewise.
	(ypos): Likewise.
	(cursor_state): Likewise.
	(fg_color): Likewise.
	(bg_color): Likewise.
	(text_buf): Likewise.
	(page): Likewise.
	(font): Likewise.
	(framebuffer): New variable.
	(set_read_map): Disabled.
	(setup): New variable.
	(is_target): Likewise.
	(grub_vga_mod_init): Likewise.
	(grub_vga_mod_fini): Likewise.
	(check_vga_mem): Likewise.
	(write_char): Likewise.
	(write_cursor): Likewise.
	(scroll_up): Likewise.
	(grub_vga_putchar): Likewise.
	(grub_vga_getcharwidth): Likewise.
	(grub_vga_getwh): Likewise.
	(grub_vga_getxy): Likewise.
	(grub_vga_gotoxy): Likewise.
	(grub_vga_cls): Likewise.
	(grub_vga_setcolorstate): Likewise.
	(grub_vga_setcursor): Likewise.
	(grub_video_vga_init): New function.
	(grub_video_vga_setup): Likewise.
	(grub_video_vga_fini): Likewise.
	(update_target): Likewise.
	(grub_video_vga_blit_bitmap): Likewise.
	(grub_video_vga_blit_render_target): Likewise.
	(grub_video_vga_set_active_render_target): Likewise.
	(grub_video_vga_get_active_render_target): Likewise.
	(grub_video_vga_swap_buffers): Likewise.
	(grub_video_vga_set_palette): Likewise.
	(grub_video_vga_get_info_and_fini): Likewise.
	(grub_vga_term): Removed.
	(grub_video_vga_adapter): New variable.
	(GRUB_MOD_INIT): Register a video driver instead of terminal.
	(GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2010-05-09 11:00:21 +02:00
Vladimir 'phcoder' Serbinenko
2bf61a980b * video/readers/jpeg.c: Indented. 2010-05-05 21:19:55 +02:00
Vladimir 'phcoder' Serbinenko
09ddcd11fb Various jpeg cleanups.
* video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
	(grub_jpeg_decode_quan_table): Use sizeof.
	(grub_jpeg_decode_du): Use ARRAY_SIZE.
2010-05-05 21:18:10 +02:00
Peter Hurley
e550750546 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
tables. Ignore non-last ac bit.
	(grub_jpeg_decode_quan_table): Likewise.
2010-05-05 21:03:59 +02:00
Vladimir 'phcoder' Serbinenko
7e720a9bc1 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
	* kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
	* kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
	1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2010-05-05 18:52:13 +02:00
Vladimir 'phcoder' Serbinenko
a7fc080b56 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
error.
2010-05-05 18:44:02 +02:00
Vladimir 'phcoder' Serbinenko
2bf6012d7f * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code. 2010-05-05 18:42:33 +02:00
Vladimir 'phcoder' Serbinenko
265d68cd10 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
condition.
2010-05-03 13:17:12 +02:00
Vladimir 'phcoder' Serbinenko
7dd5a111ba * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
part.
2010-05-03 13:12:55 +02:00
Vladimir 'phcoder' Serbinenko
9b058d5291 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
pointers.
2010-05-03 13:07:31 +02:00
Vladimir 'phcoder' Serbinenko
2589383147 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0. 2010-05-03 12:53:32 +02:00
Christian Franke
d1b61374ed * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
Remove broken Cygwin path conversion.
	* util/misc.c: [__CYGWIN__] Add include and define.
	[__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
	for Cygwin 1.7.
	(make_system_path_relative_to_its_root): Simplify loop, replace early
	return by break.
	[__CYGWIN__] Add conversion to win32 path.
	Include "/" case in trailing slash removal.
2010-05-01 21:39:32 +02:00
Vladimir 'phcoder' Serbinenko
3558c6e93c * kern/main.c (grub_load_config): Fix copy-pasted comment.
Reported by: Seth Goldberg
2010-05-01 21:32:23 +02:00
Vladimir 'phcoder' Serbinenko
f5f3ff9326 * commands/help.c (grub_cmd_help): Fix a typo.
Reported by: Seth Goldberg
2010-05-01 21:31:45 +02:00
Vladimir 'phcoder' Serbinenko
d8b5cd4011 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
name and add N_.
	* commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
	* commands/iorw.c (GRUB_MOD_INIT): Likewise.
	* commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
	* commands/regexp.c (GRUB_MOD_INIT): Likewise.
	* commands/setpci.c (GRUB_MOD_INIT): Likewise.
	* commands/terminal.c (GRUB_MOD_INIT): Likewise.
	* efiemu/main.c (GRUB_MOD_INIT): Likewise.
	* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
	* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* normal/context.c (GRUB_MOD_INIT): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Likewise.
	* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
	* term/serial.c (GRUB_MOD_INIT): Likewise.
	* term/terminfo.c (GRUB_MOD_INIT): Likewise.
2010-05-01 20:28:07 +02:00
Vladimir 'phcoder' Serbinenko
88c14915f8 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
extra == 0.
2010-05-01 19:39:32 +02:00
Vladimir 'phcoder' Serbinenko
165134bcc1 * commands/iorw.c: New file.
* conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
	(iorw_mod_SOURCES): New variable.
	(iorw_mod_CFLAGS): Likewise.
	(iorw_mod_LDFLAGS): Likewise.
2010-05-01 19:37:04 +02:00
Vladimir 'phcoder' Serbinenko
c5ac9b32ac Hotkey support
* include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
	* normal/main.c (hotkey_aliases): New variable.
	(grub_normal_add_menu_entry): Parse "--hotkey".
	* normal/menu_text.c (run_menu): Handle hotkeys.
2010-05-01 19:33:17 +02:00
Vladimir 'phcoder' Serbinenko
ce60689c68 * kern/i386/coreboot/init.c (grub_machine_init): Call
grub_machine_mmap_init on qemu.
2010-05-01 16:35:15 +02:00
Vladimir 'phcoder' Serbinenko
0359d00628 * boot/i386/qemu/boot.S: Add a missing .code16. 2010-05-01 14:38:09 +02:00
Vladimir 'phcoder' Serbinenko
7819a4562f Use LBIO on coreboot.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
	kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
	* include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
	New declaration.
	* kern/i386/coreboot/init.c (grub_machine_init): Don't call
	grub_machine_mmap_init on coreboot.
	* kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
	GRUB_LINUXBIOS_MEMBER_LINK.
	(grub_machine_mmap_iterate): Fix declaration.
	* kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2010-05-01 14:32:48 +02:00
Vladimir 'phcoder' Serbinenko
7210dca942 Split coreboot and multiboot ports.
* conf/i386-multiboot.rmk: New file.
	* configure.ac: Add multiboot port.
	* include/grub/i386/multiboot/boot.h: New file.
	* include/grub/i386/multiboot/console.h: Likewise.
	* include/grub/i386/multiboot/init.h: Likewise.
	* include/grub/i386/multiboot/kernel.h: Likewise.
	* include/grub/i386/multiboot/loader.h: Likewise.
	* include/grub/i386/multiboot/memory.h: Likewise.
	* include/grub/i386/multiboot/serial.h: Likewise.
	* include/grub/i386/multiboot/time.h: Likewise.
	* include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
	* loader/multiboot.c: Likewise.
	* loader/multiboot_mbi2.c: Likewise.
	* util/grub-mkrescue.in: Generate multiboot rescue.
2010-05-01 14:06:53 +02:00
Vladimir 'phcoder' Serbinenko
3080f7a7bd * kern/parser.c (grub_parser_execute): Cope with read-only config. 2010-05-01 13:27:13 +02:00
Vladimir 'phcoder' Serbinenko
6f8aaf68be Merge handling of input and output terminals. Fix a hang.
* commands/terminal.c (abstract_terminal): New struct.
	(handle_command): New function. Based on grub_cmd_terminal_input.
	(grub_cmd_terminal_input): Use handle_command.
	(grub_cmd_terminal_output): Use handle_command.
2010-05-01 13:20:07 +02:00
BVK Chaitanya
a8ebb84111 Fix comment handling.
* tests/grub_script_comments.in: New testcase.
	* conf/tests.rmk: Rules for new testcase.
	* script/yylex.l: Updated flex rules.
2010-05-01 15:49:43 +05:30
Samuel Thibault
c76a18386f * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
if argc is 1.
2010-04-28 23:18:16 +02:00
Samuel Thibault
bb06ba0892 * docs/grub.texi (play): Document that zero pitches produce rests. 2010-04-28 22:59:27 +02:00
Vladimir 'phcoder' Serbinenko
cc9d24254f * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
autogen issues.
2010-04-27 22:08:24 +02:00
Christian Franke
460d8402e0 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
* util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
	(grub_get_prefix): Remove function.
	* util/grub-emu.c (main): Replace grub_get_prefix () call by
	make_system_path_relative_to_its_root ().
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2010-04-26 03:35:55 +02:00
Christian Franke
553c01f958 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
(kernel_img_LDFLAGS): Remove -static-libgcc.
2010-04-24 23:18:57 +02:00
Christian Franke
2aec1692d9 * configure.ac: Do not CHECK_BSS_START_SYMBOL
and CHECK_END_SYMBOL if grub-emu is built.
	Unset TARGET_OBJ2ELF if grub-emu is built
	without module support.
2010-04-24 22:41:52 +02:00
Jiro SEKIBA
f67dc308f6 Nilfs2 support.
* conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add nilfs2.mod.
	(nilfs2_mod_SOURCES): New variable.
	(nilfs2_mod_CFLAGS): Likewise.
	(nilfs2_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
	* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
	* fs/nilfs2.c: New file.
2010-04-24 22:09:08 +02:00
Vladimir 'phcoder' Serbinenko
4ba8d3540a * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
is not supported.
2010-04-21 21:26:56 +02:00
Grégoire Sutre
0d2c20c6f1 Add grub-mkconfig support for NetBSD. 2010-04-19 21:25:41 +02:00
BVK Chaitanya
bc4a2d832b Fix emu build with grub-emu-pci and grub-emu-modules.
* include/grub/util/misc.h: Export grub_util_{info,error,warn}
	functions.
	* include/grub/libpciaccess.h: New file.
	* conf/any-emu.rmk: Update kernel headers for emu build.
2010-04-19 16:04:56 +05:30
Vladimir 'phcoder' Serbinenko
f48c87aae8 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning. 2010-04-19 03:28:55 +02:00
Vladimir 'phcoder' Serbinenko
189593857c * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames. 2010-04-19 02:41:48 +02:00
Vladimir 'phcoder' Serbinenko
0037de3fa3 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
Retrieve chosen/bootpath if bootpath isn't hardcoded.
	* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
	util/ieee1275/ofpath.c.
	* util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
	* util/ieee1275/grub-ofpathname.c: ... this. All users updated
	* include/grub/sparc64/ieee1275/boot.h
	(GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
	(GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
	* util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
	* util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
	const char *.
	* util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
	(setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
	Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
	install.
2010-04-18 20:41:06 +02:00
Grégoire Sutre
38e55e9058 TARGET_IMG_LDFLAGS_AC now always expects a number appended to it. Fixed
grub_prefix in grub-mkconfig for NetBSD and OpenBSD.
2010-04-18 19:57:50 +02:00
Vladimir 'phcoder' Serbinenko
a9e6ff28d2 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c 2010-04-18 13:00:06 +02:00
Vladimir 'phcoder' Serbinenko
0b830b8f5e * util/hostdisk.c (make_device_name): Change to new partition naming. 2010-04-18 12:59:04 +02:00
Vladimir 'phcoder' Serbinenko
0973daeb38 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0. 2010-04-17 18:58:56 +02:00
Christian Franke
ebfe7eb4dd * Makefile.in: Add missing localedir setting. 2010-04-17 17:17:36 +02:00
Colin Watson
0b45630927 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
mistake in r2156.  Noticed by Anthony Fok.
* util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
@localedir@.
* util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2010-04-14 13:59:58 +01:00
BVK Chaitanya
08f46d6221 Fix a spurious, uninitialized variable warning.
* loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
	Initialize variable, shdr.
	(grub_freebsd_load_elfmodule): Likewise.
	(grub_freebsd_load_elf_meta): Likewise.
2010-04-14 13:48:49 +05:30
BVK Chaitanya
8c4a72d4b5 Fix for escaped dollar in double quoted strings.
* script/yylex.l: Updated flex rules.
	* conf/tests.rmk: Rule for new testcase.
	* tests/grub_script_dollar.in: New testcase.
2010-04-13 21:25:27 +05:30
Carles Pina i Estany
ce44826e79 Enclose all translated strings in grub.cfg in single quotes, and
escape them appropriately (Ubuntu bug #552921).
* util/grub-mkconfig_lib.in (gettext_quoted): New function.
* util/grub.d/10_hurd.in: Use it.
* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
* util/grub.d/10_linux.in (linux_entry): Likewise.
	Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-04-13 13:57:56 +01:00
Vladimir 'phcoder' Serbinenko
4b0cd8f813 Fix cygwin compilation.
* configure.ac: Define NEED_REGISTER_FRAME_INFO.
	* include/grub/misc.h (__register_frame_info)
	[NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
	(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
	* kern/misc.c (__register_frame_info)
	[NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
	(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2010-04-11 21:24:21 +02:00
Vladimir 'phcoder' Serbinenko
01fcf061ea * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols. 2010-04-11 16:14:51 +02:00