Commit graph

2300 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
0ea81d9845 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
alpha_mask_size == 0 case.
2010-03-17 00:16:11 +01:00
BVK Chaitanya
0cdc2a095b 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
GRUB shell lexer and parser improvements.

	* conf/any-emu.rmk: Build rule updates.
	* conf/common.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

	* configure.ac: Configure check for flex.

	* include/grub/script_sh.h (grub_script_arg_type_t): More argument
	types.
	(grub_lexer_param): Struct member updates.
	(grub_parser_param): Likewise.
	(GRUB_LEXER_TOKEN_MAX): Maximum token size.
	(GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
	(grub_script_lexer_init): Prototype update.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	(grub_script_lexer_yywrap): New function prototype.
	(grub_script_lexer_fini): Likewise.
	(grub_script_execute_argument_to_string): Removed by...
	(grub_script_execute_argument_to_argv): ...better version.

	* script/execute.c (ROUND_UPTO): New macro.
	(grub_script_execute_cmdline): Out of memory fixes.
	(grub_script_execute_menuentry): Likewise.
	(grub_script_execute_argument_to_string): Removed. Update all
	users by...
	(grub_script_execute_argument_to_argv): ...better version.
	* script/function.c (grub_script_function_create): Use
	grub_script_execute_argument_to_argv instead of
	grub_script_execute_argument_to_string.

	* script/lexer.c (check_varstate): Removed.
	(check_textstate): Removed.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	(recordchar): Replaced with...
	(grub_script_lexer_record): ...new function.
	(nextchar): Removed.
	(grub_script_lexer_init): Rewritten.
	(grub_script_yylex): Rewritten.
	(append_newline): New function.
	(grub_script_lexer_yywrap): New function.
	(grub_script_lexer_fini): New function.
	(grub_script_yyerror): Sets error flag.

	* script/yylex.l: New file.
	(grub_lexer_yyfree): Wrapper for flex yyffre.
	(grub_lexer_yyalloc): Likewise.
	(grub_lexer_yyrealloc): Likewise.
	* script/parser.y: Refactored.

	* script/script.c (grub_script_arg_add): Out of memory fixes.
	(grub_script_add_arglist): Likewise.
	(grub_script_create_cmdline): Likewise.
	(grub_script_create_cmdmenu): Likewise.
	(grub_script_add_cmd): Likewise.
	(grub_script_parse): Use grub_script_lexer_fini to deallocated.
	* util/grub-script-check.c (grub_script_execute_menuentry): Remove
	unnecessary code.

	* tests/grub_script_echo1.in: New testcase.
	* tests/grub_script_vars1.in: New testcase.
	* tests/grub_script_echo_keywords.in: New testcase.
2010-03-14 22:37:17 +05:30
Vladimir 'phcoder' Serbinenko
1d63a066e2 Remove some redundancy in build system.
* Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
	(TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
	(TARGET_LDFLAGS): Add -nostdlib.
	(TARGET_IMG_LDFLAGS): Likewise.
	* commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
	anything since mmap isn't available.
	* conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
	Add util/time.c.
	(pkglib_MODULES): Remove reboot.mod.
	(reboot_mod_SOURCES): Removed.
	(reboot_mod_CFLAGS): Likewise.
	(reboot_mod_LDFLAGS): Likewise.
	* conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
	(MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
	(DEFSYMFILES): Add kernel_syms.lst.
	(kernel_img_HEADERS): Add common headers.
	(symlist.c): New target.
	(kernel_syms.lst): Likewise.
	(pkglib_MODULES): Add memdisk.mod.
	(memdisk_mod_SOURCES): New variable.
	(memdisk_mod_CFLAGS): Likewise.
	(memdisk_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add reboot.mod.
	(reboot_mod_SOURCES): New variable.
	(reboot_mod_CFLAGS): Likewise.
	(reboot_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add date.mod.
	(date_mod_SOURCES): New variable.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add datehook.mod.
	(datehook_mod_SOURCES): New variable.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add lsmmap.mod.
	(lsmmap_mod_SOURCES): New variable.
	(lsmmap_mod_CFLAGS): Likewise.
	(lsmmap_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add boot.mod.
	(boot_mod_SOURCES): New variable.
	(boot_mod_CFLAGS): Likewise.
	(boot_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk: Removed redundant parts.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/mips-yeeloong.rmk: Likewise.
	* conf/mips.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/i386-coreboot.rmk: Moved qemu parts ..
	* conf/i386-qemu.rmk: ... here
	* conf/i386-efi.rmk: Moved common parts to...
	* conf/x86-efi.rmk: ... here.
	* conf/i386.rmk: Added modules common to all x86 variants.
	* configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
	* disk/memdisk.c: Remove grub/machine/kernel.h.
	* gensymlist.sh.in: Include symbol.h.
	* hook/datehook.c: Correct module name.
	* include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
	(grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
	* include/grub/i386/efi/serial.h: New file.
	* include/grub/x86_64/efi/serial.h: Likewise.
	* util/time.c: Likewise.
	* video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2010-03-14 17:17:49 +01:00
Colin King
463ac55fac Shrink the pre-partition-table part of boot.img by eight bytes.
* boot/i386/pc/boot.S (ERR): New macro.
(chs_mode): Use ERR.
(geometry_error): Likewise.
(hd_probe_error): Remove.  This is only used once, so we wrwite
it inline instead.
(read_error): Instead of printing read_error_string, just set up
%si and fall through to ...
(error_message): ... this new function, also used by ERR.

	Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-03-14 15:47:05 +00:00
Colin Watson
08e46ededa Speed up consecutive hostdisk operations on the same device.
* util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
(grub_util_biosdisk_open): Initialise disk->data.
(struct linux_partition_cache): New structure.
(linux_find_partition): Cache partition start positions; these are
expensive to compute on every read and write.
(open_device): Cache open file descriptor in disk->data, so that we
don't have to reopen it and flush the buffer cache for consecutive
operations on the same device.
(grub_util_biosdisk_close): New function.
(grub_util_biosdisk_dev): Set `close' member.

* conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
* conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2010-03-14 15:39:14 +00:00
Vladimir 'phcoder' Serbinenko
4a6d2d06db Compile parts of grub-emu as modules.
* Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
	(pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
	partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
	(all-local): Add $(GRUB_EMU).
	(install-local): Install $(GRUB_EMU).
	(uninstall): Uninstall $(GRUB_EMU).
	* commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
	* kern/dl.c: Likewise.
	* commands/sleep.c: Not include machine/time.h.
	* conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
	(COMMON_CFLAGS): Likewise.
	(sbin_UTILITIES): Remove grub-emu.
	(grub_emu_SOURCES): Removed.
	(kernel_img_RELOCATABLE): New variable.
	(pkglib_PROGRAMS): Add kernel.img.
	(kernel_img_SOURCES): New variable
	(kernel_img_CFLAGS): Likewise.
	(kernel_img_LDFLAGS): Likewise.
	(TARGET_NO_STRIP): Likewise.
	(TARGET_NO_DYNAMIC_MODULES): Likewise.
	(pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
	halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
	(grub-emu): New target.
	(GRUB_EMU): New variable.
	* configure.ac: Whitelist -emu as possible x86_64 architecture.
	* efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
	* loader/xnu.c: Likewise.
	* include/grub/pci.h: Likewise.
	* genemuinit.sh: New file.
	* genemuinitheader.sh: Likewise.
	* genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
	Support TARGET_NO_DYNAMIC_MODULES.
	* include/grub/dl.h (GRUB_NO_MODULES): New variable.
	* commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
	* disk/loopback.c: Likewise.
	* font/font_cmd.c: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* partmap/gpt.c: Likewise.
	* partmap/msdos.c: Likewise.
	* partmap/sun.c: Likewise.
	* parttool/msdospart.c: Likewise.
	* term/gfxterm.c: Likewise.
	* video/bitmap.c: Likewise.
	* video/readers/jpeg.c: Likewise.
	* video/readers/png.c: Likewise.
	* video/readers/tga.c: Likewise.
	* video/video.c: Likewise.
	* util/grub-emu.c (read_command_list): Removed.
	(main): Don't call util_init_nls.
	* util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
	(grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2010-03-14 16:29:52 +01:00
Vladimir 'phcoder' Serbinenko
91fdd2ed34 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
date.mod, datehook.mod.
	(datetime_mod_SOURCES): New variable.
	(datetime_mod_CFLAGS): Likewise.
	(datetime_mod_LDFLAGS): Likewise.
	(date_mod_SOURCES): Likewise.
	(date_mod_CFLAGS): Likewise.
	(date_mod_LDFLAGS): Likewise.
	(datehook_mod_SOURCES): Likewise.
	(datehook_mod_CFLAGS): Likewise.
	(datehook_mod_LDFLAGS): Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* lib/ieee1275/datetime.c: New file.
2010-03-14 15:51:08 +01:00
Vladimir 'phcoder' Serbinenko
873ccae6c2 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
	(ieee1275_fb_mod_SOURCES): New variable.
	(ieee1275_fb_mod_CFLAGS): Likewise.
	(ieee1275_fb_mod_LDFLAGS): Likewise.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
	New proto.
	* kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
	(HEAP_MAX_ADDR): Likewise.
	* kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
	type.
	Correct stop condition.
	(grub_ieee1275_devices_iterate): New function.
	* video/ieee1275.c: New file.
2010-03-14 15:49:07 +01:00
Vladimir 'phcoder' Serbinenko
601c97c035 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
* boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
	as scratch.
	* boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
	SCRATCH_PAD_DISKBOOT as scratch.
	(bootit): Pass Openfirmware pointer in %o4.
	* conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
	of 0x200000.
	(grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
	with util/grub-mkrawimage.c.
	* configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
	* include/grub/aout.h (AOUT_MID_SUN): New definition.
	(grub_aout_get_type) [GRUB_UTIL]: Removed.
	(grub_aout_load) [GRUB_UTIL]: Likewise.
	* include/grub/kernel.h (grub_modules_get_end): New proto.
	* include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
	(SCRATCH_PAD_BOOT): New definition.
	(SCRATCH_PAD_DISKBOOT): Likewise.
	(GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
	* include/grub/sparc64/ieee1275/ieee1275.h
	(grub_ieee1275_original_stack): New variable
	* include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
	New definition
	(GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
	(GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
	(GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
	(GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
	(GRUB_PLATFORM_IMAGE_RAW): Likewise.
	(GRUB_PLATFORM_IMAGE_AOUT): Likewise.
	(grub_platform_image_format_t): New type.
	* kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
	* kern/main.c (grub_modules_get_end)
	[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
	* kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
	(codestart): Switch stacks.
	* kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
	variable.
	(grub_heap_init): Use grub_modules_get_end.
	* loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
	stack.
	* util/grub-mkrawimage.c (generate_image): Support sparc64.
	(main): Likewise.
	* util/sparc64/ieee1275/grub-mkimage.c: Removed.
2010-03-14 15:38:17 +01:00
Thorsten Glaser
d68b491ee2 * util/grub-mkrescue.in: Base ISO UUID on UTC. 2010-03-14 13:48:55 +01:00
Matt Kraai
4e02ed5014 2010-03-08 Matt Kraai <kraai@ftbfs.org>
* util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
	bug #559005).
2010-03-08 22:20:02 +00:00
Vladimir 'phcoder' Serbinenko
1f15fc1e0a 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
* genmoddep.awk: Output all missing symbols and not only first.
2010-03-07 23:02:13 +01:00
Vladimir 'phcoder' Serbinenko
fce5d8ff62 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
* NEWS: Put the date of 1.98 release.
2010-03-06 21:49:59 +01:00
Vladimir 'phcoder' Serbinenko
d1e8a02f11 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Update CPPFLAGS and not CFLAGS when checking for
	ft2build.h.
2010-03-06 21:27:04 +01:00
Vladimir 'phcoder' Serbinenko
696fd607c6 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
* normal/cmdline.c (grub_cmdline_get): Fix gabled line after
	completition in the middle of string.
2010-03-06 17:48:15 +01:00
Vladimir 'phcoder' Serbinenko
33e2e6f373 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkrescue.in: Use mktemp with explicit template.
2010-03-06 17:28:25 +01:00
Vladimir 'phcoder' Serbinenko
b1f6d291ad 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2010-03-06 17:27:28 +01:00
Vladimir 'phcoder' Serbinenko
2ac227c7f4 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
	right pointer.
2010-03-06 17:25:40 +01:00
Vladimir 'phcoder' Serbinenko
8f9a632b96 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
Fix FreeBSD compilation.

	* Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
	* configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2010-03-06 17:22:04 +01:00
Vladimir 'phcoder' Serbinenko
60b03859e8 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
* util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2010-03-05 15:38:04 +01:00
Vladimir 'phcoder' Serbinenko
48a5a769a2 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2010-03-05 15:30:44 +01:00
Vladimir 'phcoder' Serbinenko
3ab4bd77dd 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2010-03-05 15:29:28 +01:00
Robert Millan
d116e0d8d1 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
Support relative image path in theme file.

	* gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
	(image_set_property): Handle theme_dir and relative path.
2010-03-04 23:16:34 +01:00
Vladimir 'phcoder' Serbinenko
c7ef54aab1 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Alias amd64 to x86_64.
2010-03-04 22:33:49 +01:00
Vladimir 'phcoder' Serbinenko
fcee14ed5f 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* NEWS: mention multiboot on EFI.
2010-03-04 21:35:36 +01:00
Vladimir 'phcoder' Serbinenko
d078036308 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* kern/main.c (grub_load_modules): Handle errors from init functions of
	embeded modules.
2010-03-04 21:32:11 +01:00
Vladimir 'phcoder' Serbinenko
41168ea49c 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* normal/autofs.c (autoload_fs_module): Handle errors.
2010-03-04 21:30:58 +01:00
Vladimir 'phcoder' Serbinenko
b54d93ac1b 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
Disable linux.mod on qemu-mips since it's not functional and leads
	to compilation failure.

	* conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
	* conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
	* conf/mips.rmk (linux_mod_SOURCES): Move from here ...
	* conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
	* conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
	* conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
	* conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
	* conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
	* conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
	* conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
	Reported by: BVK Chaitanya
2010-03-04 17:03:43 +01:00
Jordan Uggla
fc8345da98 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
* INSTALL: Add gettext as a dependency and add qemu to a new section
	"Prerequisites for make-check".
2010-03-04 16:28:57 +01:00
Christian Franke
4760f97911 2010-03-04 Christian Franke <franke@computer.org>
* util/grub-pe2elf.c: Add missing include "progname.h".
2010-03-04 16:25:26 +01:00
Vladimir 'phcoder' Serbinenko
f209b5b230 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* normal/crypto.c (read_crypto_list): Fix a typo.
	Reported by: Seth Goldberg.
2010-03-04 16:13:35 +01:00
Vladimir 'phcoder' Serbinenko
b4b7be98db 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* Makefile.in (DISTCLEANFILES): Add stamp-h1.
2010-03-04 16:08:46 +01:00
Vladimir 'phcoder' Serbinenko
c0ee0385c9 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
	ascii.bitmaps.
2010-03-04 15:50:57 +01:00
Vladimir 'phcoder' Serbinenko
a8efbf649e 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* genmk.rb: Remove terminal*.lst in make clean.
2010-03-04 15:41:32 +01:00
Vladimir 'phcoder' Serbinenko
08dcd91370 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/efi/grub-install.in: Copy gettext files.
2010-03-04 15:12:34 +01:00
Vladimir 'phcoder' Serbinenko
c4d0b332c5 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
* fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2010-03-01 21:00:02 +01:00
Vladimir 'phcoder' Serbinenko
c6f2fe52f1 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
Wait for user entry basing on presence of output rather than on errors.

	* include/grub/normal.h (grub_normal_get_line_counter): New proto.
	(grub_install_newline_hook): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
	* normal/menu.c (show_menu): Check line_counter to determine presence
	of output.
	* normal/term.c (grub_normal_line_counter): New variable.
	(grub_normal_get_line_counter): New function.
	(grub_install_newline_hook): Likewise.
2010-03-01 20:58:45 +01:00
Vladimir 'phcoder' Serbinenko
5382b1e4a8 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
* commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2010-03-01 20:24:34 +01:00
Vladimir 'phcoder' Serbinenko
5519963bf6 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Update version to 1.98.
2010-03-01 19:07:48 +01:00
Vladimir 'phcoder' Serbinenko
72b286313a 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub.d/10_linux.in (linux_entry): Don't default to
	gfxpayload=keep if Linux doesn't support video handover.
2010-02-26 14:32:24 +01:00
Vladimir 'phcoder' Serbinenko
c140a18037 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
Don't compile video modules on yeeloong since video subsystem is part
	of kernel.

	* conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
	video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
	* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
	video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
	* conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
	* include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
	* include/grub/bitmap_scale.h: Likewise.
	* include/grub/bufio.h: Likewise.
	* include/grub/font.h: Likewise.
	* include/grub/gfxterm.h: Likewise.
	* include/grub/video.h: Likewise.
	* include/grub/vbe.h: Don't include video_fb.h.
	* video/i386/pc/vbe.c: Include video_fb.h.
	* commands/i386/pc/vbetest.c: Include video.h.
2010-02-25 15:10:18 +01:00
Colin Watson
a0ca21c2d2 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
* util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
	* util/grub-mkconfig_lib.in (save_default_entry): Only save a new
	default entry if GRUB_SAVEDEFAULT=true.  This allows using
	GRUB_DEFAULT=saved on its own to let grub-reboot work, without
	saving a new default on every boot.
2010-02-25 13:30:50 +00:00
Vladimir 'phcoder' Serbinenko
4a8a763c7b 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
* normal/crypto.c (read_crypto_list): Fix a memory leak.
	* normal/term.c (read_terminal_list): Likewise.
	* normal/main.c (grub_normal_init_page): Likewise.
	(grub_normal_read_line_real): Likewise.
2010-02-24 15:24:21 +01:00
Vladimir 'phcoder' Serbinenko
607ffde2ca 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
	memory leak.
	Reported by: Seth Goldberg.
2010-02-24 15:21:36 +01:00
Colin Watson
2b8fa975d4 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
	duplicate declaration of `start'.
2010-02-24 10:02:16 +00:00
Vladimir 'phcoder' Serbinenko
618307dd08 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
* fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
	filename.
	Reported by: Georgy Buranov
2010-02-22 09:18:59 +01:00
carles
7dd05b96dc 2010-02-20 Carles Pina i Estany <carles@pina.cat>
* util/grub-mkrawimage.c (usage): Change string formatting to
	improve gettext.
2010-02-20 23:31:35 +00:00
Manoel Rebelo Abranches
d1484a422e 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
	backspace keys.
2010-02-20 11:23:13 +01:00
Vladimir 'phcoder' Serbinenko
42b1d18685 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
* video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
	Reported by: Michael Suchanek.
2010-02-20 11:15:51 +01:00
Samuel Thibault
0a39de87d9 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
* util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
	* util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2010-02-18 08:56:31 +01:00
Vladimir 'phcoder' Serbinenko
d9f31a41ca 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
Remove any reference to non-free fonts.

	* commands/videotest.c (grub_cmd_videotest): Use unifont by default.
	* docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
	uses non-free components.
	* font/font.c (grub_font_get_name): Remove example name.
	* gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
	* gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
	* gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
	* gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2010-02-16 13:23:08 +01:00
Georgy Buranov
2793c71ea9 2010-02-16 Georgy Buranov <gburanov@gmail.com>
* disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2010-02-16 13:13:02 +01:00
Vladimir 'phcoder' Serbinenko
402e377992 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
* term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
	Double divisor.
	(serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
	features.
	(GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2010-02-15 19:01:38 +01:00
Vladimir 'phcoder' Serbinenko
0dd1e0dd38 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
* gensymlist.sh.in: Use TARGET_CC instead of CC.
2010-02-15 18:59:40 +01:00
Samuel Thibault
6fa7cfce65 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
* commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
	* docs/grub.texi (Command-line and menu entry commands): Document play
	command.
2010-02-14 18:36:26 +01:00
Samuel Thibault
37c8483b97 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
* commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
	parse arguments as inline tempo and notes.  Move code for playing notes
	to...
	(play): ... new function.
2010-02-14 18:14:16 +01:00
Samuel Thibault
14da0fb7e8 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
* commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
	grub_uint16_t instead of short.
	(grub_cmd_play): Use grub_uint32_t instead of int, convert data from
	disk from little endian to cpu endianness.
2010-02-14 17:25:52 +01:00
Samuel Thibault
04459e70a3 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
* commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
	GRUB_TICKS_PER_SECOND instead of 120.
2010-02-14 17:07:34 +01:00
Vladimir 'phcoder' Serbinenko
a08769434f 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
	escape sequence after \e.
2010-02-14 14:52:10 +01:00
Vladimir 'phcoder' Serbinenko
e29f95dc53 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
	non-ASCII characters.
2010-02-14 14:51:06 +01:00
Vladimir 'phcoder' Serbinenko
d27859b2ec 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
	set root in single quotes to prevent \, from being unescaped.
2010-02-14 14:47:50 +01:00
Vladimir 'phcoder' Serbinenko
bc028f2f86 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
Prevent unknown commands from stopping menuentry execution.

	* script/execute.c (grub_script_execute_cmdline): Print error after
	unknown command.
2010-02-14 14:46:19 +01:00
Vladimir 'phcoder' Serbinenko
095f5f82f7 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
* fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
	Reported by: Pavel Pisa.
2010-02-14 13:18:33 +01:00
Vladimir 'phcoder' Serbinenko
8c71795010 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* io/gzio.c (grub_gzio_open): Use grub_zalloc.
2010-02-14 02:10:46 +01:00
Vladimir 'phcoder' Serbinenko
904935c3ef 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Merge grub_ieee1275_map_physical into grub_map and rename to
	grub_ieee1275_map

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
	* include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
	Remove.
	* kern/ieee1275/openfw.c (grub_map): Rename to ...
	(grub_ieee1275_map): ... this. All users updated. Add phys_lo when
	necessary.
	* kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2010-02-13 16:48:22 +01:00
Vladimir 'phcoder' Serbinenko
5b59a4e367 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
	opening and not after.
2010-02-13 16:44:34 +01:00
Vladimir 'phcoder' Serbinenko
69e137e819 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
	constants.
2010-02-13 16:40:29 +01:00
Vladimir 'phcoder' Serbinenko
2c0fcc3666 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* loader/sparc64/ieee1275/linux.c (align_addr): Remove.
	(alloc_phys): Use ALIGN_UP instead of align_addr.
2010-02-13 16:32:24 +01:00
Vladimir 'phcoder' Serbinenko
8c6052cea5 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2010-02-13 16:30:22 +01:00
Vladimir 'phcoder' Serbinenko
17cec782c4 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2010-02-13 16:23:20 +01:00
Vladimir 'phcoder' Serbinenko
e0128bbdc4 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
	verbose dprintf.
2010-02-13 16:16:40 +01:00
Vladimir 'phcoder' Serbinenko
ca62070b69 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Fix over-4GiB seek on sparc64.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
	Replace pos_i and pos_lo with pos. All users updated.
	* include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
	New constant.
	* include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
	Likewise.
	* kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
	and pos_lo.
2010-02-13 16:13:28 +01:00
Vladimir 'phcoder' Serbinenko
bdca260795 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkrawimage.c (main): Call set_program_name.
2010-02-13 15:57:42 +01:00
Vladimir 'phcoder' Serbinenko
da278c4d34 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Properly align 64-bit targets.

	* util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
	(generate_image): Use ALIGN_ADDR.
2010-02-13 15:54:27 +01:00
Vladimir 'phcoder' Serbinenko
b274d734f3 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
Properly create cross-endian images.

	* include/grub/types.h (grub_host_to_target_addr): New macro
	* util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2010-02-13 15:40:13 +01:00
Vladimir 'phcoder' Serbinenko
82da2062d8 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2010-02-13 15:25:37 +01:00
Vladimir 'phcoder' Serbinenko
7cae4377a2 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
Pass SIMPLE framebuffer size in bytes and not 64K blocks.

	* loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
	* loader/i386/linux.c (grub_linux_setup_video): Likewise.
	(grub_linux_boot): Divide by 64K when on VESA.
2010-02-10 20:27:12 +01:00
Vladimir 'phcoder' Serbinenko
65a533e78a 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
Support GRUB_GFXPAYLOAD_LINUX.

	* util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
	* util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2010-02-10 19:53:13 +01:00
Vladimir 'phcoder' Serbinenko
dd01d3970f 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
* script/execute.c (grub_script_execute_cmdline): Use grub_print_error
	to show messages instead of discarding them.
	Process errors after executing command and not before. Keep old method
	too as precaution.
2010-02-10 18:09:44 +01:00
Vladimir 'phcoder' Serbinenko
660960d697 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for ft2build.h.
2010-02-09 14:09:08 +01:00
Vladimir 'phcoder' Serbinenko
62509f0434 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2010-02-07 22:49:45 +01:00
Vladimir 'phcoder' Serbinenko
473df63dc0 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* genkernsyms.sh.in: Use TARGET_CC.
2010-02-07 19:57:55 +01:00
Colin Watson
c98d2a13c2 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
* NEWS: Update.
2010-02-07 10:27:03 -08:00
Vladimir 'phcoder' Serbinenko
e28e32ae51 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
	* include/grub/partition.h [GRUB_UTIL]: Likewise.
2010-02-07 16:52:47 +01:00
Vladimir 'phcoder' Serbinenko
6e14234c87 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/multiboot2.h: Remove leftover file.
2010-02-07 16:51:16 +01:00
Yves Blusseau
b255e9cfb3 2010-02-07 Yves Blusseau <blusseau@zetam.org>
* gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2010-02-07 16:02:51 +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
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
09706ce58a Fixed ChangeLog 2010-02-06 16:00:29 +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
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
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
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
48209f4f05 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
	unnecessary calls.
2010-01-20 21:45:41 +01:00
Vladimir 'phcoder' Serbinenko
9f0a4bb7df 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Move context handling out of the kernel.

	* conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
	* conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* include/grub/env.h: Include grub/menu.h.
	(grub_env_var_type): Removed.
	(grub_env_var): Replaced field 'type' with 'global'.
	(grub_env_find): New prototype.
	(grub_env_context_open): Remove EXPORT_FUNC.
	(grub_env_context_close): Likewise.
	(grub_env_export): Likewise.
	(grub_env_set_data_slot): Removed.
	(grub_env_get_data_slot): Likewise.
	(grub_env_unset_data_slot): Likewise.
	(grub_env_unset_menu): New prototype.
	(grub_env_set_menu): Likewise.
	(grub_env_get_menu): Likewise.
	* include/grub/env_private.h: New file.
	* include/grub/normal.h (grub_context_init): New prototype.
	(grub_context_fini): Likewise.
	* kern/corecmd.c (grub_core_cmd_export): Moved from here ...
	* normal/context.c (grub_cmd_export): ... to here.
	* kern/env.c: Include env_private.h.
	(HASHSZ): Moved to include/grub/env_private.h.
	(grub_env_context): Likewise.
	(grub_env_sorted_var): Likewise.
	(current_context): Renamed from this ...
	(grub_current_context): ...to this. 'static' removed. All users updated.
	(grub_env_find): Removed 'static'.
	(grub_env_context_open): Moved to normal/context.c.
	(grub_env_context_close): Likewise.
	(grub_env_export): Likewise.
	(mangle_data_slot_name): Removed.
	(grub_env_set_data_slot): Likewise.
	(grub_env_get_data_slot): Likewise.
	(grub_env_unset_data_slot): Likewise.
	* kern/main.c (grub_set_root_dev): Don't export root.
	It will be done later.
	(grub_main): Don't export prefix.
	It will be done later.
	* normal/context.c: New file.
	* normal/main.c (free_menu): Use grub_env_unset_menu.
	(grub_normal_add_menu_entry): Use grub_env_get_menu.
	(read_config_file): Use grub_env_get_menu and grub_env_set_menu.
	(GRUB_MOD_INIT(normal)): Call grub_context_init.
	(GRUB_MOD_FINI(normal)): Call grub_context_fini.
2010-01-20 21:32:41 +01:00
Vladimir 'phcoder' Serbinenko
8dd35b8c20 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
setpci support.

	* commands/setpci.c: New file.
	* conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
	(setpci_mod_SOURCES): New variable.
	(setpci_mod_CFLAGS): Likewise.
	(setpci_mod_LDFLAGS): Likewise.
2010-01-20 20:55:55 +01:00
Vladimir 'phcoder' Serbinenko
fdb1b2ea4e 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* video/sm712.c (grub_video_sm712_setup): Use GRUB_PCI_REG_CLASS.
2010-01-20 20:49:18 +01:00
Vladimir 'phcoder' Serbinenko
449193d59e 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Byte-addressable PCI configuration space.

	* bus/pci.c (grub_pci_make_address): Use byte address instead of
	dword address.
	(grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
	GRUB_PCI_REG_CACHELINE.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
	GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
	* bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
	GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
	* commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
	* commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
	grub_pci_make_address.
	(lock_rom_area): Likewise.
	* commands/lspci.c (grub_lspci_iter): Use macroses
	GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
	of grub_pci_make_address.
	* disk/ata.c (grub_ata_pciinit): Likewise.
	* include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
	(GRUB_PCI_REG_VENDOR): Likewise.
	(GRUB_PCI_REG_DEVICE): Likewise.
	(GRUB_PCI_REG_COMMAND): Likewise.
	(GRUB_PCI_REG_STATUS): Likewise.
	(GRUB_PCI_REG_REVISION): Likewise.
	(GRUB_PCI_REG_CLASS): Likewise.
	(GRUB_PCI_REG_CACHELINE): Likewise.
	(GRUB_PCI_REG_LAT_TIMER): Likewise.
	(GRUB_PCI_REG_HEADER_TYPE): Likewise.
	(GRUB_PCI_REG_BIST): Likewise.
	(GRUB_PCI_REG_ADDRESSES): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_CIS_POINTER): Likewise.
	(GRUB_PCI_REG_SUBVENDOR): Likewise.
	(GRUB_PCI_REG_SUBSYSTEM): Likewise.
	(GRUB_PCI_REG_ROM_ADDRESS): Likewise.
	(GRUB_PCI_REG_CAP_POINTER): Likewise.
	(GRUB_PCI_REG_IRQ_LINE): Likewise.
	(GRUB_PCI_REG_IRQ_PIN): Likewise.
	(GRUB_PCI_REG_MIN_GNT): Likewise.
	(GRUB_PCI_REG_MAX_LAT): Likewise.
	* loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
	* loader/i386/efi/xnu.c (find_framebuf): Likewise.
	* video/efi_uga.c (find_framebuf): Likewise.
	* util/pci.c (grub_pci_make_address): Use byte-addressed configuration
	space.
2010-01-20 20:42:35 +01:00
Robert Millan
96d73208a1 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
	can be reliably determined to be supported.
2010-01-20 17:01:12 +00:00
Robert Millan
d44844828a 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
	that VESA is supported.
	(grub_linux_boot): Use generic framebuffer unless VESA is known to be
	supported.
2010-01-20 16:30:20 +00:00
Vladimir 'phcoder' Serbinenko
00308ecfe8 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
2010-01-20 15:43:21 +01:00
Robert Millan
f66924a414 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/misc.c (make_system_path_relative_to_its_root): Work around
	special-casing of "/", as previous incarnation of this routine did.
2010-01-20 14:40:00 +00:00
Vladimir 'phcoder' Serbinenko
cbca0ada62 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Fix any-emu compilation.

	* conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
	* grub_bin2h_SOURCES: New variable.
2010-01-20 15:26:31 +01:00
Robert Millan
34a66d995b 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/00_header.in: Fix stupid mistake from last commit.
2010-01-20 14:10:46 +00:00
Robert Millan
94fabf587a 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/00_header.in: Fix handling of locale_dir.
2010-01-20 13:55:30 +00:00
Vladimir 'phcoder' Serbinenko
02cf98ca8d 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
	as possible unifont location (Gentoo).
	Reported by: Alexander Brüning
2010-01-20 13:27:23 +01:00
Vladimir 'phcoder' Serbinenko
327dbcd7b9 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Don't try to generate lists for kernel.img.

	* conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
	(pkglib_MODULES): Remove kernel.img.
	(kernel_img_EXPORTS): Removed.
	(kernel_img_RELOCATABLE): New variable.
	* conf/x86_64-efi.rmk: Likewise.
	* genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
2010-01-20 10:59:15 +01:00
Vladimir 'phcoder' Serbinenko
ca46729091 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/misc.h (grub_sprintf): Removed. All users switched to
	grub_xasprintf or grub_snprintf.
	(grub_vsprintf): Likewise.
	(grub_snprintf): New proto.
	(grub_vsnprintf): Likewise.
	(grub_xasprintf): Likewise.
	(grub_xvasprintf): Likewise.
	* kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
	(grub_sprintf): Removed.
	(grub_vsnprintf): New function.
	(grub_snprintf): Likewise.
	(grub_xvasprintf): Likewise.
	(grub_xasprintf): Likewise.
	(grub_vsprintf): Renamed to ...
	(grub_vsnprintf_real): ...this. New argument max_len.
2010-01-20 09:53:23 +01:00
BVK Chaitanya
aca655fd20 fix grub-script-check warnings 2010-01-20 12:48:35 +05:30
Vladimir 'phcoder' Serbinenko
7ee92c32e1 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/font.h (grub_font_load): Fix prototype.
2010-01-20 08:04:39 +01:00
Vladimir 'phcoder' Serbinenko
f80927cadb 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
2010-01-20 08:04:01 +01:00
Vladimir 'phcoder' Serbinenko
119c50eab3 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/x86_64/at_keyboard.h: New file.
2010-01-20 08:02:45 +01:00
Vladimir 'phcoder' Serbinenko
47d5f3c1c2 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* loader/mips/linux.c: Include missing grub/i18n.h.
2010-01-20 08:01:48 +01:00
Robert Millan
55ff526642 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* normal/menu.c (notify_execution_failure): Clarify error message.
2010-01-20 02:50:36 +00:00
Robert Millan
c893cc87fc 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* commands/loadenv.c (check_blocklists): Use `grub_err_t' as
	return value (and revert all return statements).  Update users.
2010-01-20 02:43:19 +00:00
Colin Watson
917dd37040 2010-01-20 Dan Merillat <debian@dan.merillat.org>
* kern/device.c (grub_device_iterate): Allocate new part_ent
	structure based on sizeof (*p) rather than sizeof (p->next), to
	account for structure padding.

	* util/grub-probe.c (probe_raid_level): Return -1 immediately if
	disk is NULL, which might happen for LVM physical volumes with no
	LVM signature.
2010-01-20 02:11:07 +00:00
Robert Millan
d4a4ee5765 Merge mips branch 2010-01-20 01:55:41 +00:00
Robert Millan
25c2b5b317 Merge kernel-font branch 2010-01-20 00:42:55 +00:00
Vladimir 'phcoder' Serbinenko
915fc1b8bf 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/multiboot.h: Resynced with spec.
	* include/multiboot2.h: Likewise.
	* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
	GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2010-01-20 01:08:46 +01:00
Robert Millan
9444b678a1 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/term.h (grub_term_register_input,
	grub_term_register_output): Check return of terminal init()
	routines, and abort if errors are raised.
	
	* commands/terminal.c: Update copyright year.
2010-01-18 19:43:39 +00:00
Robert Millan
cba98e8dbc 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* commands/terminal.c (grub_cmd_terminal_input)
	(grub_cmd_terminal_output): Check return of terminal init()
	routines, and abort if errors are raised.
2010-01-18 19:31:10 +00:00
Vladimir 'phcoder' Serbinenko
6f7db5d676 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/bsd.h: Fix include pathes.
2010-01-18 19:25:20 +01:00
Vladimir 'phcoder' Serbinenko
262bff8d83 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
Add missing *BSD copyright headers.

	* include/grub/aout.h: Add BSD licence.
	* include/grub/i386/bsd.h: Parts under different licences moved to ...
	* include/grub/i386/freebsd_linker.h: ... here,
	* include/grub/i386/freebsd_reboot.h: ... here,
	* include/grub/i386/netbsd_bootinfo.h: ... here,
	* include/grub/i386/netbsd_reboot.h: ... here,
	* include/grub/i386/openbsd_bootarg.h: ... here,
	* include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
	licence to each file.
2010-01-18 17:40:23 +01:00
Robert Millan
b2cab84877 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* acinclude.m4: Remove `nop' assembly instruction; it's not
	implemented by all architectures.
2010-01-18 16:22:03 +00:00
Robert Millan
2cb6be4bc2 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
	ELILO.  This is no longer necessary.
2010-01-18 16:08:25 +00:00
BVK Chaitanya
a2eaee157c Add missing ChangeLog entry for -r2078 2010-01-18 19:49:19 +05:30
Robert Millan
88d170128f 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
Fix annoying UI bug in rescue mode.  Thanks to Tristan Gingold for
	spotting it back in 2008.  Shame on me for forgetting he did.
	
	* kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2010-01-18 13:45:40 +00:00
Robert Millan
8040619d88 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
	(GRUB_VIDEO_LINUX_TYPE_TEXT): ... this.  Update all users.
	(GRUB_VIDEO_TYPE_VLFB): Rename to ...
	(GRUB_VIDEO_LINUX_TYPE_VESA): ... this.  Update all users.
	(GRUB_VIDEO_TYPE_EFI): Rename to ...
	(GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this.  Update all users.
2010-01-18 07:49:50 +00:00
Robert Millan
a0c2a0f6ff 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/test.h: Add license header.
	* tests/example_functional_test.c: Likewise.
	* tests/example_unit_test.c: Likewise.
	* tests/lib/functional_test.c: Likewise.
	* tests/lib/test.c: Likewise.
	* tests/lib/unit_test.c: Likewise.
2010-01-17 17:29:57 +00:00
Vladimir 'phcoder' Serbinenko
b0b139075e 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
Use flag-based instead of hook-based video mode selection and "auto"
	keyword.

	* include/grub/video.h (grub_video_adapter): Changed 'setup' member.
	(grub_video_set_mode): Changed prototype. All users updated.
	(grub_video_check_mode_flag): New inline function.
	* video/video.c (parse_modespec): New function.
	(grub_video_set_mode): Parse flags and keywords.
2010-01-17 17:52:01 +01:00
carles
ea379330f9 2010-01-17 Carles Pina i Estany <carles@pina.cat>
* util/misc.c (grub_util_info): Fix the order of the parameters in a
	fprintf call.
2010-01-17 14:42:19 +00:00
Felix Zielcke
e15c215ebd 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
* genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2010-01-16 11:57:47 +01:00
carles
409ae1c92a 2010-01-16 Carles Pina i Estany <carles@pina.cat>
* util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
	string.
	* util/grub-emu.c (usage): Likewise.
	* util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
	* util/i386/efi/grub-mkimage.c (usage): Likewise.
	* util/i386/pc/grub-mkimage.c (usage): Likewise.
	* util/i386/pc/grub-setup.c (usage): Likewise.
2010-01-16 00:39:14 +00:00
carles
70a14d3d49 2010-01-16 Carles Pina i Estany <carles@pina.cat>
* util/misc.c (grub_util_warn): Gettextizze, print full stop after
	the message.
	(grub_util_info): Likewise.
	(grub_util_error): Likewise.
	* util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
	and/or new lines in `grub_util_warna', `grub_util_info',
	`grub_util_error' calls.
	* util/getroot.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-emu.c: Likewise.
	* util/grub-fstest.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c: Likewise.
	* util/grub-mkrelpath.c: Likewise.
	* util/grub-pe2elf.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/hostdisk.c: Likewise.
	* util/i386/efi/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/ieee1275/ofpath.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* util/raid.c: Likewise.
	* util/sparc64/ieee1275/grub-mkimage.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
2010-01-16 00:26:52 +00:00
Vladimir 'phcoder' Serbinenko
a0b766fc9b 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Enable multiboot on non-pc.

	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
	multiboot.mod and multiboot2.mod to ...
	* conf/i386.rmk (pkglib_MODULES): ... here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_SOURCES): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
	* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
	Moved to ...
	* conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
	* conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
	relocator.mod.
	(ata_mod_SOURCES): Removed.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.
	(relocator_mod_SOURCES): Removed.
	(relocator_mod_CFLAGS): Likewise.
	(relocator_mod_ASFLAGS): Likewise.
	(relocator_mod_LDFLAGS): Likewise.
	Include i386.mk.
	* include/grub/x86_64/multiboot.h: New file.
	* loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
	Terminate EFI.
2010-01-15 21:11:51 +01:00
Vladimir 'phcoder' Serbinenko
884ade5654 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Video multiboot support.

	* include/grub/multiboot.h (grub_multiboot_set_accepts_video):
	New prototype.
	* include/multiboot.h: Resynced with multiboot specification.
	* include/multiboot2.h: Likewise.
	* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
	(grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
	* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
	(HAS_VGA_TEXT): Likewise.
	(accepts_video): New variable.
	(grub_multiboot_set_accepts_video): New function.
	(grub_multiboot_get_mbi_size): Account for video structures.
	(set_video_mode): New function.
	(retrieve_video_parameters): Likewise.
	(grub_multiboot_make_mbi): Fill video fields.
2010-01-15 16:30:57 +01:00
Vladimir 'phcoder' Serbinenko
0d90e8a6fb 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
Video driver ids.

	* include/grub/video.h (grub_video_driver_id): New type.
	(grub_video_adapter): New member 'id'. All users updated.
	(grub_video_get_driver_id): New proto.
	* video/video.c (grub_video_get_driver_id): New function.
2010-01-15 16:11:18 +01:00
carles
5c71db1b9b 2010-01-14 Carles Pina i Estany <carles@pina.cat>
* util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
	`var=val'.
2010-01-14 23:20:13 +00:00
carles
cca15b52c1 2010-01-14 Carles Pina i Estany <carles@pina.cat>
* normal/cmdline.c (print_completion): Gettextizze.
2010-01-14 23:07:44 +00:00
carles
c586fbb206 2001-01-14 Carles Pina i Estany <carles@pina.cat>
* loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2010-01-14 23:04:49 +00:00
carles
ba2f6848e0 2010-01-14 Carles Pina i Estany <carles@pina.cat>
* gettext/gettext.c (grub_gettext_translate): Push and pop
	grub_errno.
	(grub_gettext_delete_list): Change comment style.
	* kern/err.c (grub_error): Gettextizze.
	(grub_fatal): Gettextizze.
2010-01-14 22:31:06 +00:00
Robert Millan
0a46429a55 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
	(grub_linux16_real_boot): ... this.
	* kern/i386/loader.S: Likewise.
	* loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
	(grub_linux16_boot): New function.  Switches to text mode and calls
	grub_linux16_real_boot().
	
	* loader/i386/bsd.c: Include `<grub/video.h>'.
	(grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
	text mode before calling grub_unix_real_boot().
	
	* loader/i386/multiboot.c: Include `<grub/video.h>'.
	(grub_multiboot_boot): Switch to text mode before calling
	grub_relocator32_boot().
	
	* loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
	(grub_chainloader_boot): Switch to text mode before calling
	grub_chainloader_real_boot().
2010-01-14 21:08:31 +00:00
Robert Millan
d6f93a661c 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
2010-01-05  Colin Watson  <cjwatson@ubuntu.com>
	
	* util/grub-reboot.in: Make sure prev_saved_entry always gets a
	non-empty value.
2010-01-14 18:52:39 +00:00
BVK Chaitanya
0934d18466 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
Unit testing framework for GRUB.

	* Makefile.in: Test framework build rules for 'make check'.
	* conf/tests.rmk: Build rules for individual tests and framework.

	* include/grub/test.h: Header file for whitebox tests.
	* tests/lib/functional_test.c: Framework support for whitebox
	functional tests.
	* tests/lib/test.c: Common whitebox testing code for unit and
	functional tests.
	* tests/lib/unit_test.c: Framework support for whitebox unit
	tests.

	* tests/util/grub-shell-tester.in: Support utility for grub-script
	tests.
	* tests/util/grub-shell.in: Utility to execute grub-script
	commands in a Qemu instance.

	* tests/example_functional_test.c: Example whitebox functional
	test.
	* tests/example_grub_script_test.in: Example grub-script test.
	* tests/example_scripted_test.in: Example scripted test.
	* tests/example_unit_test.c: Example whitebox unit test.
2010-01-14 19:15:21 +05:30