2015-01-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/file_filter/file: Really add missing file.

2015-01-23  Andrei Borzenkov  <arvidjaar@gmail.com>

	* grub-core/disk/xen/xendisk.c: Accept hdX as disk names on Xen to
	allow legacy menu.lst processing.

2015-01-22  Felix Janda <felix.janda@posteo.de>

	Remove direct _llseek code and require long filesystem libc.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove potential division by 0 in gfxmenu.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_text.c (grub_menu_init_page): Avoid
	returning 0 geometry to avoid divisions by 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/cputime.c (grub_util_get_cpu_time_ms): Cache
	sc_clk_tck and check it for sanity.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/mm.c (grub_efi_get_memory_map): Never return a
	descriptor_size==0 to avoid potential divisions by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/haiku/getroot.c (grub_util_find_partition_start_os):
	Avoid division by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/generic/rtc_get_time_ms.c (grub_rtc_get_time_ms): Avoid
	division by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
	no division by 0 occurs.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_div_roundup): Remove as it's unused.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c: Avoid division by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid division by zero in serial.

	* grub-core/term/serial.c (grub_cmd_serial): Ensure speed is not 0.
	* grub-core/term/ns8250.c (serial_get_divisor): Exit if speed is 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/jpeg.c: Avoid sivision by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c: Validate volumes to avoid division
	by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/term.h: Avoid returining 0-sized terminal
	as it may lead to division by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs.c: Avoid divisions by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c: Avoid divisions by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/linux/blocklist.c (grub_install_get_blocklist): Check
	blocksize validity.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
	validity.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Do not
	divide by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem
	sanity checks.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c: Additional filesystem
	sanity checks.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (grub_ext2_mount): Additional
	checks for superblock validity.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_mount): Check
	that sblock.ino_per_group is not 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Reject NILFS2 superblocks with over 1GiB blocks.

	* grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
	block size is <= 1GiB.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry
	is sane when using CHS addressing.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid
	division by zero.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usbtrans.c (grub_usb_bulk_maxpacket): Avoid
	potentially returning 0.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past
	the end of file.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (grub_fshelp_read_file): Don't attempt to read
	past the end of file.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/lexer.c (grub_script_lexer_yywrap): Update len
	synchronously with line.

2015-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace explicit sizeof divisions by ARRAY_SIZE.

2015-01-19  Kris Moore <kris@pcbsd.org>

	* grub-core/disk/geli.c: Support GELI v6 and v7.

2014-12-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	* grub-core/term/serial.c (grub_cmd_serial): Fix --rtscts
	option processing.

2014-12-07  David Kozub  <zub.272@gmail.com>

	* grub-core/kern/arm/misc.S: fix unaligned 64bit local variable
	in __aeabi_uidivmod
	Fixes Savannah bug #43632.

2014-12-07  Peter Nelson <peterdn>

	* grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
	chunks.

2014-12-07  Andrei Borzenkov  <arvidjaar@gmail.com>

	* util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
	non-portable '-n' echo option.
	* util/grub.d/10_kfreebsd.in: Change how list is built to avoid
	non-portable 'echo -n.
	* util/grub.d/10_linux.in: Likewise (closes 43668).
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Print spaces directly to avoid
	non-portable 'echo -n'.

2014-12-07  Curtis Larsen <larsen@dixie.edu>

	* grub-core/net/tcp.c (grub_net_recv_tcp_packet): Fix double
	free when multiple empty segments were received (closes 42765).

2014-12-05  Andrei Borzenkov  <arvidjaar@gmail.com>

	* tests/util/grub-shell.in: Support --files also for netboot.
	* tests/file_filter_test.in: New file with file filters tests.
	* Makefile.util.def: Add file_filter_test.
	* conf/Makefile.extra-dist: ... and here.
	* tests/file_filter/file.gz: Test file for file_filter_test.
	* tests/file_filter/file.gz.sig: Likewise.
	* tests/file_filter/file.lzop: Likewise.
	* tests/file_filter/file.lzop.sig: Likewise.
	* tests/file_filter/file.xz: Likewise.
	* tests/file_filter/file.xz.sig: Likewise.
	* tests/file_filter/keys: Likewise.
	* tests/file_filter/keys.pub: Likewise.
	* tests/file_filter/test.cfg: Likewise.
	* grub-core/commands/verify.c: Fix memory corruption doing
	signature check for network files (closes 43601).

2014-12-01  Andrei Borzenkov  <arvidjaar@gmail.com>

	* grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
	memory leak (CID 73645, 73782).
	* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
	(CID 73635).

2014-11-30  Andrei Borzenkov  <arvidjaar@gmail.com>

	* grub-core/lib/syslinux_parse.c (free_menu): Do not free
	inline array (CID 73610).

2014-11-28  Andrei Borzenkov  <arvidjaar@gmail.com>

	* grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
	* grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
	(Coverity CID 73813, 73710)
	* grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
	and use after free (Coverity CID 73813, 73710, 73730)
	* grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
	CID 73854)
	* util/grub-install-common.c (grub_install_get_target): Check return
	value of grub_util_fd_read (Coverity CID 73819).
	* util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
	to hd.magic (Coverity CID 73587, 73888, bug 43690).

2014-11-20  Andrei Borzenkov  <arvidjaar@gmail.com>

	* tests/util/grub-fs-tester.in: Consistently print output
	of grub ls if test fails.

2014-11-07  Leif Lindholm <leif.lindholm@linaro.org>

	* grub-core/kern/efi/init.c: check value of *path before
	dereferencing.

2014-11-03  Michael Chang  <mchang@suse.com>

	* grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
	of neighbor solicitation packet in grub_netbuff_pull.

2014-10-14  Andrei Borzenkov  <arvidjaar@gmail.com>

	* grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
	avoid fatal warnings with older gcc (probably before 4.7).
	* grub-core/loader/arm64/linux.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
	* grub-core/loader/i386/pc/linux.c: Likewise.
	* grub-core/loader/ia64/efi/linux.c: Likewise.
	* grub-core/loader/mips/linux.c: Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c: Likewise.

2014-09-25  Colin Watson  <cjwatson@ubuntu.com>

	Fix in-tree --platform=none

	* configure.ac: Only remove include/grub/cpu and
	include/grub/machine in the --platform=none case, not all of
	include/grub.

2014-09-23  Colin Watson  <cjwatson@ubuntu.com>

	Add a new "none" platform that only builds utilities

	* configure.ac: Add "none" platform.  Default to it for unsupported
	CPUs rather than stopping with a fatal error.  Don't downgrade
	x86_64-none to i386.  Define COND_real_platform Automake conditional
	if the platform is anything other than "none".  Don't do any include
	directory linking for "none".
	* Makefile.am: Skip building grub-core and all bootcheck targets if
	!COND_real_platform.
	* include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
	is defined.

2014-09-22  Andrei Borzenkov <arvidjaar@gmail.com>

	Use grub_cpu_to_XXX_compile_time for constants.

2014-09-21  Valentin Dornauer  <valentin@unimplemented.org>

	The AML parser implements only a small subset of possible AML
	opcodes. On the Fujitsu Lifebook E744 this and another bug in
	the parser (incorrect handling of TermArg data types) would lead
	to the laptop not turning off (_S5 not found).

	* grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
	in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
	aren't always simply strings!); Add function to skip TermArgs
	* include/grub/acpi.h: Add new opcodes

2014-09-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c: Don't drop to rescue console in
	case of password-protected prompt and no menu entries.

2014-09-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/keylayouts.c: Ignore unknown keys.

2014-09-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gmodule.pl.in: Accept newer binutils which output
	empty column rather than 0x0.

2014-09-21  Michael Chang  <mchang@suse.com>

	* grub-core/osdep/unix/config.c: Remove extraneous comma.

2014-09-21  Peter Jones  <pjones@redhat.com>

	* grub-core/loader/arm/linux.c: Initialized initrd_ctx so
	we don't free a random pointer from the stack.
	* grub-core/loader/arm64/linux.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
	* grub-core/loader/i386/pc/linux.c: Likewise.
	* grub-core/loader/ia64/efi/linux.c: Likewise.
	* grub-core/loader/mips/linux.c: Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c: Likewise.

2014-09-15  Khem Raj  <raj.khem@gmail.com>

	* grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
	_BSD_SOURCE to avoid warnings under glibc 2.20+.

2014-09-08  Michael Chang  <mchang@suse.com>

	* grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
	check; comparing &data->extent against addresses in the region it
	points to is unpredictable.

2014-09-07  Colin Watson  <cjwatson@ubuntu.com>

	Support grub-emu on x32 (ILP32 but with x86-64 instruction set)

	* configure.ac: Remove -m64 from checks for -mcmodel=large and
	-mno-red-zone.  These are always either unnecessary (x86_64-emu) or
	already in TARGET_CFLAGS at this point, and they produce incorrect
	results when building for x32.
	* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
	pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
	* include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
	GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.

2014-09-07  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Remove several unnecessary semicolons.

2014-08-25  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
	Initialise pend to pacify GCC.

2014-08-14  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-mkconfig.in: Fix typo (gettext_print instead of
	gettext_printf).

2014-08-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c: Retry probing keyboard if
	scancode setup failed.

2014-08-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk_common.c: Clump disk size to 1EiB.

2014-08-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
	safety to avoid triggerring VirtualBox bug.

2014-08-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cbfs.c: Don't probe disks of unknow size.

	Fixes hang on virtualbox.

2014-07-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/10_hurd.in: Make kernel list progression not fail on
	kernels whose paths contain regex metacharacters.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.

	Reported by: Heimo Stranner.

2014-06-26  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub-dev.texi (Finding your way around): The build system no
	longer uses AutoGen directly.

2014-06-21  Роман Пехов <roman_pekhov>

	* grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.

2014-06-21  Glenn Washburn <development@efficientek.com>

	* util/grub-install.c: Fix handling of --disk-module.

2014-06-21  Stephane Rochoy <sheda>

	* grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
	EFI system table.

2014-06-21  Stephane Rochoy <sheda>

	* grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
	EFI system table physical address.

2014-06-21  Trevor Woerner <trevor.woerner@linaro.org>

	* util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.

2014-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.

2014-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
	check.

2014-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.

	Reported by: Yves Blusseau <blusseau@zetam.org>.

2014-04-20  Piotr Krysiuk  <piotras@gmail.com>

	* grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
	GDT in conventional memory.

2014-04-10  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
	UUID.  Other parts of grub-mkconfig tolerate these, they were
	previously allowed here up to commit
	55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
	practice when the system has active LVM snapshots.
	Fixes Ubuntu bug #1287436.

2014-04-10  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/lvm.c (grub_lvm_detect): Search for
	"logical_volumes" block a little more accurately.

2014-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/syslinux_parse.c: Fix timeout quoting.

2014-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
	pulled from libgcc.

2014-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace few instances of memcmp/memcpy in the code that should be
	grub_memcmp/grub_memcpy.

2014-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
	device names.

2014-03-31  Thomas Falcon <tlfalcon@linux.vnet.ibm.com>

	btrfs: fix get_root key comparison failures due to endianness

	* grub-core/fs/btrfs.c (get_root): Convert
	GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.

2014-03-31  Colin Watson  <cjwatson@ubuntu.com>

	Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.

	Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
	no longer to be forgiving of trailing spaces on grub-probe output
	lines, which among other things means that util/grub.d/10_linux.in
	no longer detects LVM.  To fix this, make grub-probe's output
	delimiting more consistent.  As a bonus, this improves the coverage
	of the -0 option.

	Fixes Debian bug #735935.

	* grub-core/disk/cryptodisk.c
	(grub_util_cryptodisk_get_abstraction): Add a user-data argument.
	* grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
	Likewise.
	* include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
	Update prototype.
	* include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
	* util/grub-install.c (push_partmap_module, push_cryptodisk_module,
	probe_mods): Adjust for extra user-data arguments.
	* util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
	probe_abstraction): Use configured delimiter.  Update callers.

2014-03-31  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-probe,c (options): Make -0 work again (broken by
	conversion to argp).
	(main): Simplify logic.

2014-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c: Fix the case when end of leftover is used.

2014-03-26  Fu Wei <fu.wei@linaro.org>

	* grub-core/loader/arm64/linux.c: Remove redundant "0x".

2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
	* grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.

	Suggested by: Markus Müller.

2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
	if E820 failed to return any regions.

2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
	tables for low memory calculations.

2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
	location to 640K.

2014-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
	region.

2014-02-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
	exclusively.

2014-02-04  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	Add bootpath parser for open firmware.

	It enables net boot even when there is no bootp/dhcp server.

	* grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
	and call it at grub_ieee1275_net_config_real.
	* grub-core/kern/ieee1275/init.c: Add bootpath to
	grub_ieee1275_net_config.
	* include/grub/ieee1275/ieee1275.h: Likewise.


2014-02-04  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	Add grub_env_set_net_property function.

	* grub-core/net/bootp.c: Remove set_env_limn_ro.
	* grub-core/net/net.c: Add grub_env_set_net_property.
	* include/grub/net.h: Likewise.

2014-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c: Build fix for argp.h with older gcc.

2014-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c: Build fix for argp.h with older gcc.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
	7 seconds to recover if last poweroff was bad.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Properly handle transactions with no
	transferred data.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Add safety cleanups.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Allocate and clean space for all possible 32
	slots to avoid pointing to uninited area.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Do not enable I/O decoding and keep
	enabling busmaster for the end.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c: Downgrade warnings about unhandled features
	to debug.

2014-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c: Tolerate missing keyboard.

2014-01-29  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* .gitignore: add missing files and .exe variants.

2014-01-26  Mike Gilbert <floppym@gentoo.org>

	grub-install: support for partitioned partx loop devices.

	* grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
	/dev/loopX as being the parent of /dev/loopXpY.

2014-01-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/serial.c (grub_serial_register): Fix invalid free.
	Ensure that pointers are inited to NULL and that pointers are not
	accessed after free.

2014-01-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
	__attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
	* include/grub/emu/misc.h: ... and here.
	* include/grub/err.h: ... and here.
	* util/import_gcry.py: ... and here (in files g10lib.h).

2014-01-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-mkimage.c: Make prefix argument mandatory.

2014-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix several translatable strings.

	Suggested by: D. Prévot.

2014-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.c: List available targets.

2014-01-23  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.c (write_to_disk): Add an info message.

2014-01-21  Andrey Borzenkov <arvidjaar@gmail.com>

	* Makefile.am: Allow adding extra files to generated Windows ZIP
	archive by setting GRUB_WINDOWS_EXTRA_DIST.

2014-01-21  Andrey Borzenkov <arvidjaar@gmail.com>

	* configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
	Show detected font path in summary.

2014-01-21  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
	interval gradually.
	* grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
	* grub-core/net/net.c (grub_net_fs_read_real): Likewise.
	* grub-core/net/tftp.c (tftp_open): Likewise.
	* include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.

2014-01-21  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* grub-core/net/net.c (receive_packets): Change stop condition to avoid
	infinite loops.

	In net/net.c there is a while (1) that only exits if there is a stop
	condition and more then 10 packages or if there is no package received.

	If GRUB is idle and enter in this loop, the only condition to leave is
	if it doesn't have incoming packages. In a network with heavy traffic
	this never happens.

2014-01-19  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
	EPERM when modifying kern.geom.debugflags.  It is only a problem for
	such things as installing GRUB to the MBR, in which case there'll be
	an error later anyway, not for opening files during tests.

2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
	instead of MOD_FILES.
	* grub-core/genemuinit.sh: Simplify stripping of suffix so it works
	both with and without .exe.
	* grub-core/genemuinitheader.sh: Same.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.c: Fix a typo.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c (read_config_file): Buffer config file.
	Reduces boot time.

2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>

	* acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
	symbolic link to directory. It fails in Msys shell on Windows 2003.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (default_payload.elf): Add modules
	multiboot cbmemc linux16 gzio echo help.

2014-01-18  Mike Gilbert <floppym@gentoo.org>

	* Makefile.util.def: Link grub-ofpathname with zfs libs.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/macbless.c: Rename FILE and DIR to avoid
	conflicts.

	Reported by: Andrey Borzenkov.

2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>

	* include/grub/misc.h: Move macros for compiler features to ...
	* include/grub/compiler.h: ... new file.
	* include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
	* grub-core/commands/fileXX.c: Include <grub/misc.h>.
	* grub-core/efiemu/prepare.c: Include <grub/misc.h>.
	* grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
	* grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
	* grub-core/video/capture.c: Include <grub/misc.h>.
	* include/grub/command.h: Include <grub/misc.h>.
	* include/grub/dl.h: Include <grub/misc.h>.
	* include/grub/procfs.h: Include <grub/misc.h>.

2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>

	* configure.ac: Add support for BUILD_EXEEXT and use it ...
	* Makefile.am: ... here.
	* Makefile.util.def: ... and here.
	* grub-core/Makefile.am: ... and here.

2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>

	* include/grub/osdep/hostfile_windows.h: Use _W64 instead of
	FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c: Recognize keys F1-F12.

2014-01-18  Andrey Borzenkov <arvidjaar@gmail.com>

	* configure.ac: Add support for BUILD_LDFLAGS.
	* Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
	* grub-core/Makefile.am: ... and here.
	* INSTALL: Mention BUILD_LDFLAGS.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mount.c: Extend GCC warning workaround to grub-mount.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/efi.c: Ensure that the result starts with /
	and has no //.

2014-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* NEWS: Add few missing entries.

2014-01-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in (make_timeout): Use && rather than test
	-a.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
	than test -o.
	* util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
	rather than test -o.

2014-01-17  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
	redundant preprocessor conditional.

2014-01-08  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-macbless): Change mansection to 8.

2014-01-07  Leif Lindholm <leif.lindholm@linaro.org>

	* grub-core/loader/arm64/linux.c: correctly set device path end length.

2014-01-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
	arm64 to comply with EFI specification. Also use grubaa64.efi for
	consistency.
	* util/grub-mkrescue.c: Change to use bootaa64.efi too.

2014-01-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
	on MinGW-64 when compiling for 32 bits.

2013-12-30  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.

2013-12-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* NEWS: Add few missing entries. Correct existing ones.

2013-12-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't abort() on unavailable coreboot tables if not running on coreboot.

2013-12-28  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
	on mingw.

2013-12-28  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: The cmosclean command in fact dates back to 1.99.  Remove
	mention of it from 2.02.

2013-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache_armv6.S: Remove .arch directive.

	As these functions are used on pre-ARMv6 CPUs as well we don't want
	to make assembler assume that architecture is higher than default one.

2013-12-27  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: First draft of 2.02 entry.

2013-12-27  Colin Watson  <cjwatson@ubuntu.com>

	* INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
	* docs/grub.texi (Getting the source code): Likewise.

2013-12-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/osdep/windows/platform.c (get_platform): Fix EFI
	detection.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Set version to 2.02~beta2.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.

2013-12-24  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-probe.c: Improve help message and simplify list handling.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix buffer overflow in grub_efi_print_device_path.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Show SATA device path.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Revert grub-file usage in grub-mkconfig.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Make newly-created files other than grub.cfg world-readable.

2013-12-24  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub.d/00_header.in: Improve compatibility with old config.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Make rijndael.c respect aliasing rules.

	Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_util_device_is_mapped_stat available in grub-emu core.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Add -Qn to TARGET_CFLAGS if it's supported.
	Fixes compilation on cygwin.

	Reported by: Andrey Borzenkov.
	Suggested by: Andrey Borzenkov.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Save TARGET_CC version in modinfo.sh.

	Suggested by: Andrey Borzenkov.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
	follow the same algorithm to avoid method mismatch. Don't assume
	DMRAID- UUID to mean full disk but instead check that mapping is linear.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Declare GRUB_EFI_VENDOR_APPLE_GUID.

2013-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Dump type and vendor specific data when printing device path.

2013-12-23  Colin Watson  <cjwatson@debian.org>

	Update some documentation to refer to Git rather than Bazaar.

	* docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
	than Bazaar.
	* po/README: Likewise.  Fix spelling mistake.

2013-12-23  Colin Watson  <cjwatson@ubuntu.com>

	Don't distribute config.h.

	* Makefile.am (platform_HEADERS): Move to ...
	(nodist_platform_HEADERS): ... here.  Fixes gettext_strings_test
	failure when building from a distributed tarball.

2013-12-23  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Fix spelling.
	* grub-core/commands/parttool.c: Fix grammar.
	* grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
	Embedding Partition".

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	ARM64 support for grub-mkrescue.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Install modinfo.sh to keep build information around.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/modinfo.sh.in: Add build config information.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	ARM64 grub-file and grub-mkconfig support.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove leftover options defines.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/arm64/linux.c: Add missing bracket.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Add arm64-efi recognition to grub-file.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ia64-efi recognition in grub-file.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Recognize raspberry pi kernel in grub-file.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable cache on ARM U-Boot port.

	Without it the port is reidiculously slow.

2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ARM cache maintainance.

	More code was converted from ASM to C for easier handling.

2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
	algorithm on v5.

	Suggested by: Leif Lindholm.

2013-12-22  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-mkconfig.in: Fix Xen platform conditions.

2013-12-22  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-mkrescue.c: Split single help message string in several
	strings used in previous shell version.

2013-12-22  Leif Lindholm <leif.lindholm@linaro.org>

	Add arm64 Linux loader.

2013-12-22  Leif Lindholm <leif.lindholm@linaro.org>

	Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().

2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Add module loading and parsing boot time checkpoints.

2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/arm/linux.c: Pass arguments through on ATAG
	platforms.

2013-12-22  Lars Wendler <polynomial-c@gentoo.org>

	* util/grub-mkconfig.in: Skip non-executable files.

2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Workaround buggy timer in raspberry pie by using our own timer
	implementation.

2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
	Increase to 16 MiB to allow loading the whole memdisk.

2013-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ARM Linux Loader on non-FDT platforms.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Choose link format based on host_os on emu.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/getroot.c: Non-unix build fix.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/main.c: Build fix for emu.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Build fixes for argp.h with older gcc.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
	in strings.

	Suggested by: David Prévot.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable -Wformat=2 if it's supported.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
	-Wmissing-declarations if supported.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
	u32 as both HFS and HFS+ have 32-bit inodes.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_strtol): Fix overflow.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
	as return type in both conditionals.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
	to use uint8_t for color.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c (grub_util_get_image_size): Check for overflow.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
	for size.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
	for pointer difference.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Skip sample keys.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c (grub_qsort_strcmp): Don't discard const attribute.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove duplicate warning arguments.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing static qualifiers.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing includes.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Inline printf templates when possible to enable format checking.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/crypto.h: Don't discard const attribute.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
	was intended.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/crypto.c: Don't discard const attribute.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/disk.c: Fix potential overflow.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c: Don't discard const attribute.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c: Don't discard const attribute.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk.c: Fix potential overflow.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common: Don't include non-existing directory
	grub-core/lib/libgcrypt-grub/include.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Clarify several translatable messages.

2013-12-21  David Prévot  <david@tilapin.org>

	Correct some translatable strings.

2013-12-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.c: Rephrase mkrescue description.

2013-12-21  Vladimir Serbinenko  <phcoder@gmail.com>
2013-12-21  Colin Watson  <cjwatson@ubuntu.com>

	Clarify several translatable messages.

2013-12-20  Colin Watson  <cjwatson@ubuntu.com>

	Be more verbose about some configure failures.

2013-12-20  Colin Watson  <cjwatson@ubuntu.com>

	Fix various build problems on GNU/Hurd.

	* grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
	!defined (__GNU__).
	(xgetcwd): Likewise.
	* include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
	[__GNU__]: Add prototype.
	* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
	long int using %ld rather than %d.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.c: Inform user about install platform.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Set version to 2.02~beta1.

2013-12-18  Allen Pais <allen.pais@oracle.com>
2013-12-18  Bob Picco <bob.picco@oracle.com>

	* grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_zlib_decompress handle incomplete chunks.

	Fixes squash4.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
	on i386-multiboot.

2013-12-18  Aleš Nesrsta  <starous@volny.cz>

	* grub-core/disk/usbms.c: Retry on unknown errors.
	Reuse the same tag on retries.

2013-12-18  Aleš Nesrsta  <starous@volny.cz>

	* grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.

	Avoid confusing them with already completed transfers.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove xen VFB.

	Due to XEN bug it prevents Linux boot. Remove it at least, until
	workaround is found.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/exclude.pot: Add 2 missing excludes.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing license section in macbless.mod and macho.mod.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Allow compilation without thumb-interwork as long as no thumb is
	involved or only thumb2 is used.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Update comment as to why sparc64 clang isn't usable.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Add __attribute__ ((sysv_abi)) only if it's really needed.

	Some compilers don't support it.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/syslinux_parse.c: Declare timeout unsigned.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove -Wold-style-definition.

	Not very useful and interaction of it with regexp depends on GCC
	version.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_util_get_windows_path_real static.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/fileXX.c: Silence cast-align.
	* grub-core/loader/i386/xen_fileXX.c: Likewise.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
	rather than LL suffix.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/arm/linux.c: Use common initrd functions.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Decrease number of strings to translate.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Mark strings for translation and add remaining ones to exclude list.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-file.c (main): Fix sizeof usage.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Silence spurious warning.

2013-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove check_nt_hiberfil as it's been superseeded by file command.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/osdetect.cfg: Add isolinux config to detected OSes.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement syslinux parser.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Support cpuid --pae.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Use AT keyboard on Yeeloong 3A.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Add Yeeloong 3A reboot and halt.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Add Radeon Yeeloong 3A support.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Add bonito 3A support.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/machoXX.c: Fix compilation on non-i386.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xen_fileXX.c: Silence cast-align.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/macho.c: Fix compilation on non-i386.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing format_arg attribute to check that printf with translated
	messages has proper arguments.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Use grub_xasprintf to format translated error messages containing
	64-bit quantity.

2013-12-17  Jon McCune  <jonmccune@google.com>

	Fix double-free introduced by commit 33d02a42d64cf06cada1c389

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify message for unsupported relocation.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Mark miscompile error for translation.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Use %I64 and not %ll when using OS printf if compiling for windows.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Update Mac code to match new register_efi prototype.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement better integration with Mac firmware.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c: Implement special value for
	load_addr.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Include serial module in default_payload.elf.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Add explicit thumb interwork bx in asm files.

	Shouldn't matter for armv >= 5 but let's be safe.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement Truecrypt ISO loader.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c: Ensure at least a single space between commands.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement grub_file tool and use it to implement generating of config
	in separate root.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Change to v1 xen grants.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.

	GRUB relied on %ebx being preserved across hypercall which isn't true.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.

	GRUB relied on %rdi being preserved across hypercall which isn't true.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement XEN VFB support.

2013-12-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove grub_bios_interrupt on coreboot.

	It's not used currently and cannot be used safely currently.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Update exclude.pot and mark few strings for translation.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c: Fix incorrect file usage in fallback code.

	Reported by: Jon McCune

2013-12-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
	Add verbose information which firmware directories were tried.

2013-12-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
	function to optionally redirect all three standard descriptors.
	Redefine grub_util_exec, grub_util_exec_redirect and
	grub_util_exec_redirect_null to use it.
	* include/grub/emu/exec.h: Define it.
	* include/grub/osdep/exec_unix.h: Delete, it is unused.
	* grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
	Use grub_util_exec_redirect_all to redirect error to NULL.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/sleep_test.c: Silence spurious warning.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
	linker trying to "fixup" the code.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/x86_64/xen/startup.S: Align stack.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Add support for converting PE+ to Elf64.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove practice of assigning random const pointers to device id.

	This is not required as cache code already checks driver id as well.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
	with mingw.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h: Don't use call wrappers when compiled with
	mingw or cygwin as API already matches.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h: Define (u)intn_t based on pointer size and
	not on long.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle X86_64_PC64 relocation.

	Those are generated by some cygwin compilers.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Determine the need for mingw-related stubs at compile time rather than
	using not very significant $target_os.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmod.sh.in: Strip before converting to ELF as strip
	may not work with ELF.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Use unix functions for temporary files and special files on cygwin.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Define functions explicitly rather than using --defsym in tests
	whenever possible. Respect locality in remaining cases.

2013-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.

2013-12-15  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
	unlikely errors when getting EFI variables and make exhaustive search
	for all BootNNNN variables to find matching one.

2013-12-15  Ian Campbell  <ijc@hellion.org.uk>

	* grub-core/kern/uboot/init.c: Fix units of uboot timer.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	New functional test for sleep function.

	This test allows to check sleep without qemu. Keep qemu version as
	well as functional test won't notice if all clocks are going too fast
	or too slow.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Add explicit sysv_abi on amd64 asm routines.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/efi/lsefisystab.c: Use %lld to show
	num_table_entries.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/test.h: Use gnu_printf rather than printf on GRUB
	functions.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
	appropriate.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
	appropriate.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/loopback.c: Use sequential IDs rather than pointer.

	In case of quick removal of loopback and adding another one it may
	get same ID, confusing the cache system.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpi.c: Use grub_addr_t rather than long when
	appropriate.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
	than converting to long.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c (relocate_addresses): Display offset rather
	than almost useless pointer.

2013-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Add gcc_struct to all packed structures when compiling with mingw.

	Just "packed" doesn't always pack the way we expect.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-pe2elf.c: Fix handling of .bss.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement windows flavour of EFI install routines.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Change grub_install_register_efi interface to pass GRUB device.

	This allows grub_install_register_efi to request partition info
	directly.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Workaround cygwin bug when using \\?\Volume{GUID} syntax.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Do not use TCHAR string functions as they are not available on cygwin.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Workaround windows bug when querying EFI system partition parameters.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
	by using bitfields.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Make i386-* other than i386-pc compileable under cygwin.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix definition of grub_efi_hard_drive_device_path. Take care that
	existing code would work even if by some reason bogus definition is
	used by EFI implementations.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/blocklist.c: Add missing cast in printf
	invocation.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/config.c: Remove trailing newline from distributor in simple
	parsing.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h: Rename protocol and interface to avoid
	conflict.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* .gitignore: add .exe variants. add missing files. remove few outdated
	entries.

2013-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/exec.c: Use unix version on cygwin.

2013-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement multiboot2 EFI BS specification.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c: Fix premature line wrap and crash.
	Crash happened only in some cases like a string starting at the
	half of the screen of same length.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efiemu/efiemu.h: Sync configuration table declaration
	with EFI counterpart.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Propagate the EFI commits to x86-efi specific parts.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/efi/lssal.c: Fix terminating condition.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Introduce grub_efi_packed_guid and use it where alignment is not
	guaranteed.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (grub_efi_device_path): Define length as
	unaligned u16 rather than u8[2].

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
	for relocation range.

2013-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
	non-function pcrel21b relocation. It happens with .text.unlikely
	section.

2013-12-10  Leif Lindholm <leif.lindholm@linaro.org>

	* make MAX_USABLE_ADDRESS platform-specific
	* grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.

2013-12-10  Leif Lindholm <leif.lindholm@linaro.org>

	* grub-core/lib/fdt.c: change memcpy => grub_memcpy

2013-12-09  Jon McCune <jonmccune@google.com>

	* Add --no-rs-codes flag to optionally disable reed-solomon codes
	in grub-install and grub-bios-setup for x86 BIOS targets.

2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing compile and link options for sparc64-emu.

2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement sparc64 trampolines (needed for sparc64-emu).

2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
	range of R_SPARC_HI22.
	Implement R_SPARC_LM22.

2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
	Do not explicitly check for symbol table as it's already checked in
	platform-independent layer.

2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
	on ia64 as __clear_cache is a dummy on ia64.

2013-12-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
	Do not explicitly check for symbol table as it's already checked in
	platform-independent layer.

2013-12-09  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Add missing newline to output.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
	* grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
	compilation with GCC <= 4.2.
	* grub-core/kern/emu/argp_common.c: Likewise.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
	right platform rather than leaking to sparc64-emu.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
	But ensure that the variables in question are indeed unsigned.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove grub_memalign on emu.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
	truncate incomplete lines but instead flushes them.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
	and implement windows variant.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix mips-emu compilation.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check for freetype library usability.

2013-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Make arm-emu work.

2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.

2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Environment): Update color_normal and color_highlight
	defaults (light-gray instead of white).

2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/normal/main.c (INIT): Set default color to light-gray
	to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
	and apparently BIOS defaults.

2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Transform -C option to grub-mkstandalone to --core-compress available
	in all grub-install flavours.

2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Merge GRUBFS and GRUB_FS variables.

2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>

	Revert commit 69ca97c820, it caused failures when using OS device name
	in grub-install. Instead just strip off parenthesis in grub-install
	if (hdX) was passed.

2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install.c (push_partmap_module): Add helper to convert
	partmap names to module names and use it in probe_mods(). Fixes
	failure to find partmap modules in diskfilter case.

2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Make unifont mandatory on coreboot.

2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Skip unifont 6.3 pcf and bdf.

2013-12-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am: Remove partial font files if generation failed.

2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
	strings.
	* include/grub/util/misc.h: Define it ...
	* util/grub-install.c (device_map_check_duplicates): ... and use it.

2013-12-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
	${grub_probe}.

2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't add -mlong-calls when compiling with clang.

2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Fix a typo.

2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Revamp relocation handling.

	Move more code to common dl.c. Add missing veneers for arm and arm64.
	Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)

2013-12-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c: Fix reloc section generation for ia64.

2013-12-05  Mike Gilbert  <floppym@gentoo.org>

	* INSTALL: Raise minimum python version to 2.6.
	* gentpl.py: Use python3-style print function.

2013-12-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.c: Mention Boot* variable.

2013-12-05  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/osdep/linux/hostdisk.c
	(grub_util_find_partition_start_os): Initialise start to avoid
	spurious compiler warning.

2013-12-05  Colin Watson  <cjwatson@ubuntu.com>

	On Linux, read partition start offsets from sysfs if possible, to
	cope with block device drivers that don't implement HDIO_GETGEO.
	Fixes Ubuntu bug #1237519.

	* grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
	function.
	(sysfs_partition_start): Likewise.
	(grub_util_find_partition_start_os): Try sysfs_partition_start
	before HDIO_GETGEO.

2013-12-05  Leif Lindholm  <leif.lindholm@linaro.org>

	* grub-core/kern/fdt.c: Update struct size when adding node.

2013-12-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle unaligned .bss on sparc64.

	Current code improperly assumes that both __bss_start and _end are
	aligned to 8-bytes. Eliminating this assumption and explicitly align
	modules.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
	so it doesn't land in the middle of loaded image.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Move all warning options that may be absent in
	gcc >= 3.1 to optional.

	Note: while this allows to compile with older GCC, official requirements
	remain the same and no support for older GCC.

2013-12-04  Colin Watson  <cjwatson@ubuntu.com>

	Copying the themes directory in grub-shell isn't
	parallel-test-friendly and breaks on the second test when the source
	directory is read-only (as in "make distcheck").  Instead, add a
	hidden --themes-directory option to grub-mkrescue et al, and use it
	in grub-shell.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
	as it's no longer necessarry.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Allow compilation with older GCC for ARM.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
	* INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
	ppc.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/main.c: Ignore missing prototype for main.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Pass font config to config.h and not by TARGET_CFLAGS as adding
	arguments doesn't work if TARGET_CFLAGS is specified on command
	line.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -Wvla if compiler supports it.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
	Remove variable length arrays.
	* grub-core/term/efi/console.c (grub_console_putchar): Likewise.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/qemu/init.c: Remove variable length arrays.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/types.h: Declare all byteswaps as inline functions
	except compile-time ones.

	Solves variable shadowing in constructions like
	cpu_to_le (le_to_cpu(x) + 1).

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/efi.c: Remove variable length arrays.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
	minutes.

2013-12-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
	* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.

2013-12-03  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/Makefile.core.def (setjmp): Distribute
	lib/arm64/setjmp.S.

2013-12-03  Colin Watson  <cjwatson@ubuntu.com>

	Add a new timeout_style environment variable and a corresponding
	GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig.  This
	controls hidden-timeout handling more simply than the previous
	arrangements, and pressing any hotkeys associated with menu entries
	during the hidden timeout will now boot the corresponding menu entry
	immediately.

	GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
	generates a warning, and if it shows the menu it will do so as if
	the second timeout were not present.  Other combinations are
	translated into reasonable equivalents.

	Based loosely on work by Franz Hsieh.  Fixes Ubuntu bug #1178618.

2013-12-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/config.c: Add missing pointer adjustment.
	Reported by: qwertial

2013-11-30  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
	directly, not via `cpu' link, to fix libgrub.pp generation.

2013-11-30  Leif Lindholm <leif.lindholm@linaro.org>

	New port arm64-efi.

2013-11-30  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (sleep): Document exit codes.

2013-11-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Ensure that -mno-unaligned-access or some equivalent option is used.

2013-11-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
	-march=armv3.

2013-11-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove leftover GRUB_IA64_DL_TRAMP_SIZE.

2013-11-29  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
	builds, since we don't have an EPS version of font_char_metrics.png.
	Add leading dot to image extension per the Texinfo documentation.

2013-11-29  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
	<freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
	* util/grub-gen-widthspec.c: Likewise.
	* util/grub-mkfont.c: Likewise.

2013-11-29  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
	* util/setup.c (SETUP): ... here. Fixes regression: grub-install
	failed to install on (hdX).
	* util/grub-setup.c (get_device_name): Remove, not needed after
	above change.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c: Remove variable length arrays.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/linux/ofpath.c: Check return value of read.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
	computing crc32 rather than handling with md fundtions directly.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
	checking fwstart.img rather than md fundtions directly.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c (main): Check that fread succeeded.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common: Remove -mexplicit-relocs and
	-DUSE_ASCII_FALLBACK on yeeloong.

	-DUSE_ASCII_FALLBACK is already added by font snippets.
	-mexplicit-relocs isn't needed is compiler/assemblera are
	configured properly.
	If they're not we shouldn't attempt to fix it by ourselves.
	Binary compare between before and after shows no difference.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def: Remove libgnulib.a and use its
	sources in dependencies directly.

	This was the only instance of "library" in core config. A bug was
	reported that -fno-stack-protector wasn't passed to it. Instead of
	figuring out why it failed just remove this construction used
	needlessly.

2013-11-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/password.c (grub_password_get): Check that
	fgets succeeded.

2013-11-27  Francesco Lavra  <francescolavra.fl@gmail.com>

	* docs/grub.texi (ls): Fix command description in case of a device name
	passed as argument.

2013-11-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate variable length arrays in grub_vsnprintf_real.

	A bit tricky because this function has to continue to work without
	heap for short strings. Fixing prealloc to 32 arguments is reasonable
	but make all stack references use 32-bit offset rather than 8-bit one.
	So split va_args preparsing to separate function and put the prealloc
	into the caller.

2013-11-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
	Fixes build for windows.

2013-11-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Don't generate platform-dependent conditionals for
	platform-independent targets.

2013-11-27  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
	references to mdadm from otherwise generic code.
	(grub_util_exec_pipe): Likewise.
	(grub_util_exec_pipe_stderr): Likewise.
	* grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
	This function calls vgs, not mdadm; adjust variable names
	accordingly.

2013-11-27  Colin Watson  <cjwatson@ubuntu.com>

	Generate Makefile.*.am directly from gentpl.py, eliminating the use
	of Autogen.  The Autogen definitions files remain intact as they
	offer a useful abstraction.

2013-11-27  Colin Watson  <cjwatson@ubuntu.com>

	Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
	into no-ops, and use it in programs that copy files but do not need
	to take special care to sync writes (grub-mknetdir, grub-rescue,
	grub-mkstandalone).

2013-11-26  Colin Watson  <cjwatson@ubuntu.com>

	* tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
	than hardcoding /usr/local/bin/xorriso.

2013-11-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Add PCI command activation to all PCI drivers as required for coreboot
	and maybe some other firmwares.

2013-11-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am: Reduce gratuituous differences between Apple
	and non-Apple variants of efiemu compile.

2013-11-25  Andrey Borzenkov <arvidjaar@gmail.com>

	*  configure.ac: Add explicit check for linking format of
	efiemu64; save it as EFIEMU64_LINK_FORMAT.
	* grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
	hardcoding linking format.

2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mknetdir.c: Look for platform directories under pkglibdir
	and not pkgdatadir.

2013-11-25  Colin Watson  <cjwatson@ubuntu.com>
2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Add a --locale-directory option to grub-install and related tools.

	* include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
	--locale-directory option.
	(enum grub_install_options): Add
	GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
	* util/grub-install-common.c (grub_install_help_filter): Handle
	GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
	(grub_install_parse): Likewise.
	(get_localedir): New function to check for a user-provided option
	before trying grub_util_get_localedir.
	(copy_locales): Use get_localedir rather than
	grub_util_get_localedir.  Handle differing locale directory layouts.
	(grub_install_copy_files): Likewise.

2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
	Don't rely on PATH_MAX.

2013-11-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmoddep.awk: Use more portable && rather than and.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
	an object after data. While it doesn't seem right solution, it
	works well enough and OSX isn't main compilation platform.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Add -ed2016 in order to make objconv accept our binary.
	While it doesn't seem right solution, it works well enough and
	OSX isn't main compilation platform.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -static to LDFLAGS when using apple linker to
	prevent it from pulling in dynamic linker.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Apple assembly doesn't handle symbol arithmetic well. So define an
	offset symbol in boot.S and use it.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Apple assembly doesn't handle symbol arithmetic well. So instead
	of getting addres of kernel_sector + 4 define kernel_sector_high.
	It also makes code more readable.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	With Apple assembly in .macro environvemnt you have to use $$ instead
	of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
	to $$x on Apple and to $x on everything else.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
	OBJCONV.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
	and non-Apple. This instruction is shorter and faster,
	so no reason not to use it on both.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c: Use section _text, _text rather than
	.text when compiling for Apple.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/arc/console.c: Add missing cast to silence warning.

2013-11-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
	%dx restore the probe worked on non-existant drive. Reorganize the
	code a little bit to free 2 bytes necessary for push/pop.

2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
	Add missing cast to silence warning.

2013-11-23  Keshav Padram Amburay <the.ridikulus.rat@gmail.com>

	* util/grub-install.c (update_nvram): Support --no-nvram flag
	for EFI targets.

2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Add note about sparc64/ia64 with clang (unsupported).

2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/garbage-gen.c: Add missing include of sys/time.h.

2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't add -mflush-func if it's not supported by compiler.

2013-11-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Move common BIOS/coreboot memory map declarations to
	include/grub/i386/memory_raw.h and eliminate duplicate declarations.

2013-11-22  Andrey Borzenkov <arvidjaar@gmail.com>

	* Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Document why older clang versions aren't appropriate.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Document about clang for mips.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
	clang.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Add *-xen to the list of grub-install-common platforms.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
	3 last commits.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/xen/init.c: Do not map more pages than we can address.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
	with -mcmodel=large.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
	range-checking for 32-bit quantities.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Compile with -fPIC when compiling with clang on
	mips.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
	when compiling with clang.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	clang emits calls to abort () under some unknown conditions.
	Export abort () when compiling with clang.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub-dev.texi: Document stack and heap sizes.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/pc/memory.h: Decrease
	GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
	GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
	The binary doesn't change (checked). It's more to better reflect actual
	usage.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
	at compile time that enough of scratch size is available.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
	Previously we misaligned stack by 8 in startup.S and compensated
	for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
	right behaviour is to align stack in startup.S and keep it aligned
	in callwrap.S. startup.S part was committed few commits before. This
	takes care of callwrap.S.
	Reported by: Gary Lin.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/startup_raw.S: Handle the case of gap between
	.data and .bss. May happen if compiler and assembly use different
	alignment.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	On MIPS handle got16 relocations to local symbols in an ABI-compliant
	way.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Add support for a new magic symbol _gp_disp on mips to handle PIC
	binaries.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Use $t9 for indirect calls from asm to C as PIC ABI requires.

2013-11-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
	when rest of GRUB is compiled for hisher stepping. Instead use
	.set mips3/.set mips1 around cache and sync opcodes.

2013-11-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
	do essentially the same thing, do it in similar way.

2013-11-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.c (main): If a source directory is not
	specified, read platform-specific files from subdirectories of
	pkglibdir, not pkgdatadir.

2013-11-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/normal/progress.c: Remove unused file.

2013-11-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
	array.

2013-11-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig.in: Say explicit "grub configuration" rather
	than grub.cfg.

2013-11-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* coreboot.cfg: Add missing file.

2013-11-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am: Allow STRIP to be empty when creating windowszip.

2013-11-19  Axel Kellermann <axel.kellermann@gmx.de>

	* util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
	selectively skipping systems.

2013-11-19  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-mkimage): Add
	grub-core/osdep/aros/config.c to extra_dist.
	* conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
	docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
	grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
	grub-core/gnulib-no-gets.diff.

2013-11-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Add automated filesystem checking based on scripts I've used now for
	quite some time locally. Most of the test require root so they are
	skipped when run without necessarry privelegies.

2013-11-19  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.c (main): Adjust info messages to match
	installed paths of grub-bios-setup and grub-sparc64-setup.

2013-11-19  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install-common.c (copy_locales): Consistently use
	grub_util_get_localedir () rather than LOCALEDIR.
	(grub_install_copy_files): Likewise.

2013-11-19  Josh Triplett  <josh@joshtriplett.org>

	* grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
	16-byte boundary, as required by the x86-64 ABI, before calling
	grub_main.  In some cases, GCC emits code that assumes this
	alignment, which crashes if not aligned.  The EFI firmware is also
	entitled to assume that stack alignment without checking.

2013-11-18  Josh Triplett  <josh@joshtriplett.org>

	* grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
	4k page boundaries as expected by firmware rather than 1k
	boundaries.
	(grub_mmap_malign_and_register): Likewise.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_func_test.in: Decrease RAM size to 512M. With less
	fragmentation 512M is enough.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
	pointer to 32K. This is the size of cache element which is the most
	common allocation >1K. This way the pointer is always around blocks
	of 32K and so we keep performance while decreasing fragmentation.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
	current memory when allocating large chunks. This significantly
	decreases memory fragmentation.

2013-11-18  Colin Watson  <cjwatson@ubuntu.com>

	* tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
	but for symmetry).
	* tests/lzocompress_test.in: Skip if lzop is not installed.
	* tests/xzcompress_test.in: Skip if xz is not installed.

2013-11-18  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.c (main): Fix typo.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
	clock frequency to 200 MHz,

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Increase console size to 1024x1024.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (default_payload.elf): Add pata to loaded modules.
	Load config file from (cbfsdisk)/etc/grub.cfg.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install-common.c (grub_install_copy_files): Fix module
	destination directory.

2013-11-18  Colin Watson  <cjwatson@ubuntu.com>

	* tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
	files have not been built.

2013-11-18  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
	Handle errors from mkstemp.
	(grub_util_make_temporary_dir): Handle errors from mkdtemp.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Use -cdrom and don't force cdrom
	on primary master on pseries.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
	already loaded. This saves memory needed for tests,

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
	work again.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
	work again.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
	master since with some combinations of qemu and firmware only primary
	IDE channel is available.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
	low-memory platforms where we don't have enough memory for them.
	* grub-core/tests/videotest_checksum.c: Likewise.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
	already loaded. This saves memory needed for tests,

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of install lists.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/sparc64/setjmp.S: Force spilling of current window.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	On i386-ieee1275 we run in paged mode. So we need to explicitly map
	the devices before accessing them.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
	as file argument.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/file.c (grub_file_open): Free file->name on failure.
	(grub_file_close): Free file->name.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c (free_pk): Plug memory leak.
	(grub_load_public_key): Likewise.
	(grub_verify_signature_real): Likewise.
	(grub_cmd_verify_signature): Likewise.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
	memory leak.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
	(grub_longjmp): Restore r31.
	* include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
	modules to be in line with make_image_abs.

2013-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.

	setjmp.S uses 12 entries but buffer is declared with only 11 entries.

2013-11-17  Ian Campbell  <ijc@hellion.org.uk>

        * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_func_test.in: Increase memory reservation as on EFI we need
	to leave some memory to firmware.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
	of loading gfxterm as gfxterm is embed in kernel on some platforms.
	* grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
	Load gfxmenu.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
	now needs full arguments.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c (main): Add trailing \n in
	.disk_label.contentDetails to be in line with previous shell script.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install-common.c (grub_install_parse): Recognize
	--compress=none like shell script did.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h: Replace check for __sparc64__ with one for
	__sparc__ as __sparc64__ isn't actually defined.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
	counterpart of fixing the naming of escc ports.

2013-11-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install-common.c (platforms): Fix the order of entries and
	remove useless field val.

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.c: Add new option --no-bootsector to skip
	installing of bootsector. Accept --grub-setup=/bin/true as
	backwards-compatible synonym.

2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install.c (device_map_check_duplicates): Fix incorrect
	order of qsort arguments (number of elements vs. element size).

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
	the function of these files exceeds what can be sanely handled in shell
	in posix-comaptible way. Also writing it in C extends the functionality
	to non-UNIX-like OS and minimal environments.

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
	compiling to thumb2.
	* grub-core/kern/arm/cache_armv7.S: Likewise.
	* grub-core/lib/arm/setjmp.S: Likewise.

2013-11-16  Leif Lindholm <leif.lindholm@linaro.org>

	* grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
	in grub_uboot_syscall

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Decrease stack usage in lexer.

	We have only 92K of stack and using over 4K per frame is wasteful

	* grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
	as macros so that compiler would remove useless structure on stack.
	Better solution would be to fix flex not to put this structure on
	the stack but flex is external program.

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Decrease stack usage in signature verification.

	We have only 92K of stack and using over 4K per frame is wasteful

	* grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
	rather than stack.
	(grub_verify_signature_real): Likewise.

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Decrease stack usage in mdraid 0.9x.

	We have only 92K of stack and using over 4K per frame is wasteful

	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
	rather than stack.

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Decrease stack usage in BtrFS.

	We have only 92K of stack and using over 4K per frame is wasteful

	* grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
	rather than stack.

2013-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Decrease stack usage in JFS.

	We have only 92K of stack and using over 4K per frame is wasteful

	* grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
	stack. Note: this function is recursive.
	(grub_jfs_read_inode): Read only part we care about.

2013-11-16  Leif Lindholm <leif.lindholm@linaro.org>

	* grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
	handling

2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* configure.ac: Restore -nostdlib for libgcc symbols tests.

2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Environment): Document cmdpath.

2013-11-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
	Remove "unused" attribute from arguments, they are used.

2013-11-15  Colin Watson  <cjwatson@debian.org>

	* .gitignore: Only ignore grub-mk* at the top level.

2013-11-15  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-reboot.in (usage): Fix a typo.

2013-11-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace libgcc version of ctz with our own.

	On upcoming arm64 port libgcc ctz* are not usable in standalone
	environment. Since we need ctz* for this case and implementation is
	in C we may as well use it on all concerned platforms.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Probe for linking format rather than guessing it based
	on target_os.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
	"1" prior to handoff.

	Reported by: M A Young.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
	\0 to all files.

	Reported by: M A Young.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
	compilation on NetBSD.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* acinclude.m4: Don't add -P on initial nm test.

	Note: even though this patch postdates Andrey's it bears 14 Nov as
	date due to timezone difference.

2013-11-15  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/Makefile.core.def (signature_test): Add missing
	tests/signatures.h.

2013-11-14  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install_header: Set localedir here, since this file is
	where it's used.
	* util/grub-install.in: Remove setting of localedir.
	* util/grub-mkrescue.in: Likewise.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Move nm checks to the end.
	Call grub_PROG_NM_WORKS.
	* acinclude.m4: New check grub_PROG_NM_WORKS.
	Use $TARGET_CFLAGS -c when compiling test binary.

2013-11-14  Colin Watson  <cjwatson@ubuntu.com>

	* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
	unused variables.

2013-11-14  Matthew Garrett  <mjg@redhat.com>

	* grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
	cmdpath to firmware directory.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
	at the start of second iteration.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am (efiemu64.o): Explicitly set link format.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (default_payload.elf): New target for easier coreboot
	build.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache_armv6.S: Remove special handling for
	clang (not necessarry with -no-integrated-as).
	* include/grub/symbol.h [__arm__]: Likewise.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Use -no-integrated-as on arm with clang.
	* INSTALL: Mention ARM compilation with clang.

2013-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
	-mthumb-interwork.

2013-11-14  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
	code for indirect block handling.

	Saves 185 bytes on compressed image.

2013-11-13  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	Fix make clean.

	* Makefile.am: Remove build-grub-* in make clean.

2013-11-13  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	New files to gitignore.

	* .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
	build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.

2013-11-13  Leif Lindholm <leif.lindholm@linaro.org>

	* grub-core/kern/arm/misc.S: Make thumb2-compatible.

2013-11-13  Leif Lindholm <leif.lindholm@linaro.org>

	* .gitignore: fix rules for .dep* and add *.a post git migration

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
	to match INSTALL.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/misc.c: Don't redirect divisions in the
	GRUB_UTIL case.
	* include/grub/misc.h: Likewise.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
	systems that require checking the return value of write.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in (efi_quiet): Fix inverted logic: make
	efibootmgr quiet when --debug is not used, rather than when it is.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* gentpl.py (define_macro_for_platform_dependencies): Remove
	first (and thus unused) of two definitions for this function.
	(platform_dependencies): Likewise.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
	functions, we only need to check this for the target, not the host.
	* configure.ac (grub_apple_cc): Likewise.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
	* grub-core/kern/arm/cache_armv6.S: ... here. This allows this
	asm to stay in arm even if surrounding is thumb.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
	helper functions are needed for thumb.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
	level / 3 division explicitly unsigned. Saves few bytes.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
	division.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
	grub_uboot_boot_data to asm part.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
	literal load.
	(grub_uboot_syscall): Save/restore r9 and align stack.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache.S: Replace = with explicit litteral load.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
	occurencies with END.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-editenv.c (help_filter, argp): Document how to delete
	the whole environment block.
	Reported by Dan Jacobson.  Fixes Debian bug #726265.

2013-11-13  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Internationalisation, Supported kernels): Fix
	sectioning.

2013-11-13  Josh Triplett <josh@joshtriplett.org>

	* grub-core/normal/term.c (grub_set_more): Use bool logic rather than
	increment/decrement.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
	compiling with clang.

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
	".".

2013-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Redirect all divisions to grub_divmod64.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing includes of loader.h.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Allow disabling themes.

2013-11-12  Lukas Schwaighofer <lukas@schwaighofer.name>

	* util/grub.d/20_linux_xen.in: Don't decompress initrd.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
	until it becomes operational.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (legacy_password_test): Disable
	on platforms where no legacycfg is compiled.
	* grub-core/tests/lib/functional_test.c: Tolerate failure to
	load legacy_password_test.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/prepare.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
	strict-aliasing warning.
	(fsync): Silence cast warning.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c: Remove variable length arrays.
	Load gcry_dsa/gcry_rsa automatically.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/signature_test.c: New test.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
	API.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/legacy_password_test.c (vectors): Make static.
	* grub-core/tests/pbkdf2_test.c (vectors): Likewise.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/proc.c: Allow \0 in proc files.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/xnu_uuid_test.c: Fix assert message.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/xnu_uuid_test.c: Fix copyright year.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
	length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/AFSplitter.c: Remove variable length arrays.
	* grub-core/disk/cryptodisk.c: Likewise.
	* grub-core/disk/geli.c: Likewise.
	* grub-core/disk/luks.c: Likewise.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/legacy_password_test.c: New test.
	* grub-core/commands/legacycfg.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/pbkdf2.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/pbkdf2_test.c: New test.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/lzopio.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/crypto.h: Add maximums on hash size and cipher block
	size.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/xnu_uuid.c: Remove variable length arrays.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/xnu_uuid_test.c: New test.

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
	covers it).

2013-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hashsum.c: Remove variable length arrays.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
	condition.
	* tests/grub_func_test.in: Increase memory allocation.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
	&& HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
	sys/mount.h.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
	(grub_util_get_fd_size_os): ...this.
	(grub_hostdisk_flush_initial_buffer): New empty function.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gensyminfo.sh.in: Handle the case of portable output
	without --defined-only.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
	rip-relative addressing in prologue.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
	* grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
	Add missing semicolon.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check for lzma.h for enabling liblzma and allow
	manual disabling.

2013-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing includes of loader.h.

2013-11-11  Fam Zheng <famcool@gmail.com>

	* util/grub.d/30_os-prober.in: Add minix entry.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
	right buffer for temporary load.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
	payload.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
	not Types.h.
	* grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
	environment.
	(LzmaDec_InitDicAndState): Make static.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.

	Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub-dev.texi: Replace bzr references with git ones.

2013-11-10  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Simple configuration): Remove reference to
	grub-reboot from saved default entry description - grub-default
	does not use it anymore.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Make efiemu test cflags match the cflags efiemu is
	compiled with.

2013-11-10  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix grub_machine_fini bitrot.

	Reported by: Glenn Washburn.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
	-DELF.
	* grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
	instead of ELF*.

2013-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
	Add -march=core2 when testing compile of efiemu64.

	Thanks Andrey Borzenkov for spotting this.

2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
	XEN PV environment and load kernels.

2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
	* grub-core/loader/multiboot_mbi2.c: Likewise.

2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
	handling.

2013-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/cmostest.c: Add new command "cmosset".

	Tested by: Denis 'GNUtoo' Carikli.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
	Use to get rounded angle rather than truncated.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/serial.c: Add option for enabling/disabling
	RTS/CTS flow control.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
	divisions.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
	Use grub_fatal rather than divide by zero.
	* grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
	truncate.
	(grub_fixed_fsf_divide): Likewise.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
	division by-zero and senseless negative divisions.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
	division by-zero and senseless negative divisions.
	(circprog_set_property): Don't accept negative num_ticks.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
	division by-zero and senseless negative divisions.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Use elf_*_fbsd on kfreebsd.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/div_test.c: New test.

2013-11-08  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_box.c: Updated to work with area status.
	* grub-core/gfxmenu/gui_canvas.c: Likewise.
	* grub-core/gfxmenu/view.c: Likewise.
	* grub-core/video/fb/video_fb.c: Introduce new functions:
	grub_video_set_area_status, grub_video_get_area_status,
	grub_video_set_region, grub_video_get_region.
	* grub-core/video/bochs.c: Likewise.
	* grub-core/video/capture.c: Likewise.
	* grub-core/video/video.c: Likewise.
	* grub-core/video/cirrus.c: Likewise.
	* grub-core/video/efi_gop.c: Likewise.
	* grub-core/video/efi_uga.c: Likewise.
	* grub-core/video/emu/sdl.c: Likewise.
	* grub-core/video/radeon_fuloong2e.c: Likewise.
	* grub-core/video/sis315pro.c: Likewise.
	* grub-core/video/sm712.c: Likewise.
	* grub-core/video/i386/pc/vbe.c: Likewise.
	* grub-core/video/i386/pc/vga.c: Likewise.
	* grub-core/video/ieee1275.c: Likewise.
	* grub-core/video/i386/coreboot/cbfb.c: Likewise.
	* include/grub/video.h: Likewise.
	* include/grub/video_fb.h: Likewise.
	* include/grub/fbfill.h: Updated render_target structure.
	grub_video_rect_t viewport, region, area
	int area_offset_x, area_offset_y, area_enabled
	* include/grub/gui.h: New helper function
	grub_video_bounds_inside_region.
	* docs/grub-dev.texi: Added information about new functions.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
	for alignment.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
	missing attribute.
	* grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_divmod64): Don't fallback to
	simple division on arm and ia64.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
	link with libgcc.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
	prefix symbol, not @.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Add note about older gcc and clang.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Boot as hdd on ppc by default.

2013-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
	NULL pointer dereference.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am: Do not include libgcc.h when compiling with
	clang.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
	warnings.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (grub_net_route_unregister): Remove unused
	function.
	* grub-core/loader/i386/xnu.c (hextoval): Likewise.
	* grub-core/disk/geli.c (ascii2hex): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Run linker tests without -Werror.
	Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
	Change all occurences of -static-libgcc resp -lgcc to
	TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't add -no-itegrated-as on clang on non-x86.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Allow compiling with clang (not really supported though).

	* conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
	unconditionally.
	* configure.ac: Add -no-integrated-as when using clangfor asm files.
	Add -mrtd -mregparm=3 on i386 when not using clang.
	* grub-core/kern/misc.c (grub_memset): Add volatile when on clang.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
	bindings.
	* grub-core/lib/reed_solomon.c: Likewise.
	* include/grub/i386/gdb.h: Likewise.
	* include/grub/i386/pc/int.h: Likewise.
	* include/grub/i386/pc/pxe.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Import libgcrypt 1.5.3.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't add -Wcast-align on x86.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -freg-struct-return on all platforms that
	support it.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* acinclude.m4: Use -Werror on parameter tests.
	* configure.ac: Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check that -malign-loops works rather than assuming that
	either -falign-loops or -malign-loops work.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove -fnested-functions. We don't need it anymore.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Prevent cflags leaking to subsequent tests by always
	resetting cflags to target_cflags in target tests.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
	function.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_parse): Remove nested function.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (grub_cmdline_get):
	Remove nested functions.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/test_sha512sum.in: Make it work on emu.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
	functions.
	(grub_bidi_line_logical_to_visual): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove vestiges of -Wunsafe-loop-optimisations.

	* conf/Makefile.common (CFLAGS_GNULIB): Remove
	-Wno-unsafe-loop-optimisations.
	* grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
	pragma.
	* grub-core/io/gzio.c: Likewise.
	* grub-core/script/parser.y: Likewise.
	* grub-core/script/yylex.l: Likewise.
	* util/grub-mkfont.c: Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (process_cursive): Remove nested function.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_dprintf): Use unnamed vararg.
	(grub_boot_time): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/symbol.h (FUNCTION): Use @function rather than
	"function".
	(VARIABLE): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
	(parse_dhcp_vendor): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (main_context), (secondary_context):
	Define after defining type and not before.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
	type.
	(grub_gcm_decrypt): Likewise.
	(algo_decrypt): Likewise.
	(grub_zfs_decrypt_real): Transform error type.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/geli.c (geli_rekey): Fix error return type.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
	(grub_usbms_cbi_reset): Likewise.
	(grub_usbms_bo_reset): Likewise.
	(grub_usbms_reset): Likewise.
	(grub_usbms_attach): Likewise.
	(grub_usbms_transfer_cbi): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/lzopio.c (test_header): Simplify code and remove useless
	"checksum = checksum;".

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
	entry_type.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
	BIOS disk check.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
	type.
	(grub_ehci_fini_hw): Likewise.
	* grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/usb.h (grub_usb_controller_dev): Make portstatus
	return grub_usb_err_t for cosistency. All users updated.

2013-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
	assigning to itself.

2013-11-05  Gustavo Luiz Duarte  <gustavold@linux.vnet.ibm.com>
2013-11-05  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	Issue separate DNS queries for ipv4 and ipv6

	Adding multiple questions on a single DNS query is not supportted by
	most DNS servers. This patch issues two separate DNS queries
	sequentially for ipv4 and then for ipv6.

	Fixes: https://savannah.gnu.org/bugs/?39710

	* grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
	* grub-core/net/dns.c (grub_dns_qtype_id): New enum.
	* (grub_net_dns_lookup): Now using separated dns packages.
	* (grub_cmd_nslookup): Add error condition.
	* (grub_cmd_list_dns): Print DNS option.
	* (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
	--prefer-ipv4, and --prefer-ipv6.
	* include/grub/net.h (grub_dns_option_t): New enum.
	* (grub_net_network_level_address): option added.

2013-11-05  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/video/fb/video_fb.c: Merge two blit functions
	into one.

2013-11-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c: Add sequences for home and end.

2013-11-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/legacy_parse.c: Fix handling of hercules and add
	graphics console.

2013-11-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/i386/pc/vga.c: Fix double bufferring and
	add mode 0x12.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
	e-mail by Per Öberg.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
	name.

2013-11-04  Andrey Borzenkov <arvidjaar@gmail.com>

	*  configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
	emu platforms.
	* grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Document usage of menuentry id.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Add few mentions about EFI, debug and videoinfo.

2013-11-04  Peter Lustig <peter.lustig.7db@gmail.com>

	* grub-core/commands/i386/nthibr.c: New command.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
	coordinate.

2013-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Support GRUB_DISABLE_SUBMENU config.

	Inspired by patch from Prarit Bhargava.

2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Mention RSA support.

2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c: Add RSA support.

2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
	* grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
	device is known to be ATAPI.

2013-11-03  Mike Frysinger <vapier>

	* configure.ac: Don't add target-prefix.

2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
	variables.

2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
	if language is English.

2013-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/linux/getroot.c: Fix cast-align problems.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't add -m32/-m64 on emu.

2013-11-02  neil

	* grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
	broken linux headers.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
	Reed-Solomon recovery if more than half of redundancy info is 0.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mount.c: Handle symlinks to directories.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
	find_file recursively for symlink.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Copy themes.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c (locate_sections): Reject mislinked images.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Use 0x8000 for address instead of 8000.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
	signature.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
	variable.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
	file_progress_read_hook.
	* grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.

2013-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
	and double.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/tar.c (grub_cpio_read): Add read_hook.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Rewrite blocklist functions in order to get progress when
	reading large extents and decrease amount of blocklist hook calls.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
	of SI suffixes.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Support --base-clock for serial command to handle weird cards with
	non-standard base clock.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
	strncpy.
	* grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
	* grub-core/kern/misc.c (grub_strncpy): Move from here ...
	* include/grub/misc.h (grub_strncpy): ... to here. Make inline.
	* grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
	+ strcpy rather than strncpy.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
	(check_pool_label): Likewise. Fixes overflow.
	(nvlist_find_value): Fix comparison.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_strcat): Removed. All users changed to
	more appropriate functions.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
	realloc.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Do not use UUID search on EFI.

2013-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
	on core size.

2013-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.

2013-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/gzio.c (huft_build): Use zalloc for safety.
	(initialize_tables): reset tl and td to NULL after freeing.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c: Implement network tag.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
	of supported tags.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot.c: Add support for multiboot kernels
	quirks.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
	a page in protected space.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
	allocate space for zero-sized modules.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.

2013-10-28  Francesco Lavra  <francescolavra.fl@gmail.com>

	* grub-core/lib/fdt.c: Fix miscellaneous bugs.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
	safeguards. Fixes a crash with i386/pc/console.c.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
	and grub_hostfs_init.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
	windows method on other platforms without good stat as well.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/linux/getroot.c: Add new btrfs defines.

2013-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Make / in btrfs refer to real root, not the default volume.
	Modify mkrelpath to work even if device is mounted with subvolid option.

2013-10-28  Andrey Borzenkov <arvidjaar@gmail.com>

	* Makefile.util.def: Add grub-core/kern/disk_common.c to library
	extra_dist.
	* grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
	extra_dist.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
	fails.

2013-10-27  BVK Chaitanya  <bvk.groups@gmail.com>

	* docs/autoiso.cfg: New file.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
	COND_GRUB_PE2ELF conditions.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
	"vnd", "rd" and "fd" disks.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Move grub_disk_write out of kernel into disk.mod.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
	handling.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_abort): Make static

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
	transform invalid unicode codepoints.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
	\0 checking.

2013-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/legacy_parse.c: Add support for "nd" disk.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Consolidate cpuid code.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Move cpuid code to cpuid.h and TSC code to tsc.c.

2013-10-26  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub.d/00_header.in: Don't use LANG if it's not set.

2013-10-26  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub-mkconfig.in: Replace $0 with $self.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.

2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>

	* docs/osdetect.cfg: New file.

2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>

	* tests/util/grub-shell.in: Add new --debug option.

2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>

	* tests/test_unset.in: New test.

2013-10-26  BVK Chaitanya  <bvk.groups@gmail.com>

	* tests/test_sha512sum.in: New test.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c: Replace strncat with memcpy.
	* include/grub/misc.h: Remove strncat.
	* grub-core/lib/posix_wrap/string.h: Likewise.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
	Try to handle more than 0xFFFF packets.
	Reported by: Bernhard Übelacker <bernhardu>.
	He also spotted few overflows in first version of this patch.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/date_unit_test.c: New test.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
	of first three years after start of validity of unixtime.

2013-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
	division as the one making more sense.
	(update_screen): Likewise.
	(complete): Likewise.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_entry.c (complete): Make sure that width is >0.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Make char and string width grub_size_t rather than grub_ssize_t.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (grub_history_get): Make argument into
	unsigned.
	(grub_history_replace): Likewise.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
	appropriate.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
	appropriate.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
	Use unsigned divisions rather than signed variants.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/png.c (grub_png_convert_image): Use
	unsigned arithmetics.
	Add missing break.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/jpeg.c: Use unsigned where appropriate.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
	rather than signed one.
	(recovery): Likewise.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/dns.c (hash): Use unsigned arithmetic.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
	than signed.

2013-10-25  Jon McCune <jonmccune@google.com>

	* docs/grub.texi: Cleanup security documentation around signatures.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
	than int.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
	* include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
	functions when compiling for kernel.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
	unsigned long long when using %llu.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
	terminal after updating progress.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
	argument. We don't disable Gate A20 in this code.

2013-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
	Conceptually based on change in branch "vbe-on-coreboot".

2013-10-24  Robert Millan  <rmh@gnu.org>

	* grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
	numeric constants with their symbolic equivalent.
	Taken from branch "vbe-on-coreboot".

2013-10-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Fix ordering and use pxref rather than xref.

2013-10-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/progress.c (grub_file_progress_hook_real): Use
	divmod64 for offset division.

2013-10-22  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	Rename .bzrignore to .gitignore. Add "*.o" rule.

	* .bzrignore: Renamed to...
	* .gitignore: ...this.

2013-10-22  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	Add new progress module that displays the load progress of files.

	* grub-core/lib/progress.c: New file.
	* grub-core/Makefile.core.def (progress): New module.
	* grub-core/kern/file.c (grub_file_open): File name added.
	* (grub_file_read): Progress hook added.
	* grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
	* grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
	* grub-core/net/net.c (grub_net_fs_read_real): Likewise.
	* include/grub/file.h (struct grub_file): Add progress module members.
	* include/grub/term.h (struct grub_term_output): Likewise.
	* grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
	Terminal velocity added.
	* grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
	* grub-core/term/arc/console.c (grub_console_term_output): Likewise.
	* grub-core/term/efi/console.c (grub_console_term_output): Likewise.
	* grub-core/term/gfxterm.c (grub_video_term): Likewise.
	* grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
	* grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
	* grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
	* grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
	* grub-core/term/morse.c (grub_audio_term_output): Likewise.
	* grub-core/term/serial.c (grub_serial_term_output): Likewise.
	* grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
	* grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.

2013-10-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Verify signatures of signatures unless --skip-sig is specified.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
	\0 checking.

	Saves 70 bytes on compressed image.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
	check.

	Saves 10 bytes on compressed image.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_isprint): Move to ...
	* include/grub/misc.h (grub_isprint): ... here. Make inline.

	Saves 20 bytes on compressed image due to remving exporting.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.

	Saves 5 bytes on compressed image.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
	function get_utf8.

	Saves 379 bytes on compressed image.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c: Handle 48-bit MFT no.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.

	Saves 40 bytes on compressed image.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
	mask rather than 64-bit type.

	Saves 20 bytes on compressed image.

2013-10-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
	* grub-core/fs/ntfscomp.c (ntfscomp): ... here.

	Saves 273 bytes on compressed image.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
	variable length arrays.

	Saves 50 bytes on compressed image.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c: Remove variable length arrays.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c: Remove variable length arrays.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c: Add comment about fixed allocation size.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs.c: Remove variable length arrays.
	Reduces zfs.mod by 160 bytes (208 compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/arp.c: Remove variable length arrays.
	* grub-core/net/bootp.c: Likewise.
	* grub-core/net/dns.c: Likewise.
	* grub-core/net/icmp6.c: Likewise.
	* grub-core/net/net.c: Likewise.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c: Remove variable length arrays.
	Increases ntfs.mod by 64 bytes (but decreases by 3 when
	compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c: Remove variable length arrays.
	Reduces hfs.mod by 8 bytes (52 compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/udf.c: Remove variable length arrays.
	Increases udf.mod by 128 bytes (but decreases by 13 when
	compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c: Remove variable length arrays.
	Increases iso9660.mod by 200 bytes (but decreases by 79 when
	compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c: Remove variable length arrays.
	Increases nilfs2.mod by 24 bytes (but decreases by 115 when
	compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c: Remove variable length arrays.
	Reduces xfs.mod by 40 bytes (43 compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c: Remove variable length arrays.
	Reduces fshelp.mod by 116 bytes (23 compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/completion.c: Remove variable length arrays.
	* grub-core/normal/menu_entry.c: Likewise.

	Reduces normal.mod by 496 bytes.

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
	by 356 bytes (158 compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
	by 364 bytes (169 compressed).

2013-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
	bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
	* include/grub/types.h (grub_unaligned_uint64_t): New type.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Lift 255x255 erminal sie restriction to 65535x65535. Also change from
	bitmasks to small structures of size chosen to fit in registers.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common: Use -freg-struct-return on i386. This
	decreases code size and improves performance.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/exec.c: Fix compilation error on emu.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
	"(null)" string.
	Simplify expressions to save around 256 bytes in kernel.img.
	* tests/printf_unit_test.c (printf_test): Add "(null)" tests.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
	Use GRUB_UTIL_FD_O_* rather than O_*.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Add haiku-specific functions.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c: Remove few leftover includes.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Move stat () and device mode checking into OS-dependent files as
	long as performance doesn't suffer.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Split make_system_path_relative_to_its_root into separate file
	relpath.c from getroot.c as it's common between unix and haiku
	but otherwise haiku doesn't use any functions from unix getroot.c.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
	New function.
	(grub_util_is_special_file): Likewise.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/getroot.c: Move exec functions to ...
	* osdep/unix/exec.c: ... here. Add few additional exec_* variants.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
	grub_size_t. This fixes the case when size_t mismatches grub_size_t.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
	(load_image): Likewise.

2013-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-render-label.c: Move backend part to ...
	* util/render-label.c: ... here.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
	yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/generic/blocklist.c: Add missing include to string.h.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
	CD-ROM in case when it's declared as having subpartitions.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't add -lm on haiku.

	* configure.ac: Define BUILD_LIBM to -lm on most platforms
	and empty on haiku.
	* grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
	-lm.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Use -melf_*_haiku as target on haiku.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def: Add util/setup.c to extra_dist.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
	unknown types through.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
	(grub_util_check_char_device): Likewise.
	* include/grub/emu/getroot.h: Likewise.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
	memset rather than inline static function.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
	not doing embedded decompressor.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ldm.c: Rename variables and arguments to prevent
	shadowing.
	* grub-core/kern/disk.c: Likewise.
	* grub-core/kern/misc.c: Likewise.
	* include/grub/parser.h: Likewise.
	* include/grub/script_sh.h: Likewise.
	* include/grub/zfs/zfs.h: Likewise.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
	defined before trying to use it.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
	warning.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
	Use __unused__ rather than __used__ on gcc < 3.2.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
	gcc < 4.0.
	* include/grub/*/setjmp.h: USe RETURNS_TWICE.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
	* include/grub/emu/misc.h: Likewise.

2013-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
	cur_color.

2013-10-18  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/tests/checksums.h: Regenerated due to progress bar
	get_minimal_size changes.

2013-10-17  BVK Chaitanya  <bvk.groups@gmail.com>

	Added `tr' command support.

	* grub-core/commands/tr.c: New file.
	* grub-core/Makefile.core.def: Build rules for new module.

	* tests/grub_cmd_tr.in: New test.
	* Makefile.util.def: Build rules for new test.

2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.

2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
	* docs/gurb.texi: Likewise.

2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
	Pixmap highlighted section with east and west slices was displayed
	incorrectly due to negative width of the central slice.

2013-10-17  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* docs/grub.texi: Graphical options information update.
	Removed outdated. Updated current. Inserted missed.

2013-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Mention few new platform-specific commands.

2013-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
	currently used so this doesn't really have any effect.
	Reported by:  	Douglas Ray <dougray>

2013-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
	compilation but prevents gcc from displaying messages in non-Latin
	alphabets.
	* conf/Makefile.common: Likewise.

2013-10-16  Hiroyuki YAMAMORI

	Handle Japanese special keys.
	Reported by: Hiroyuki YAMAMORI.
	Codes supplied by: Hiroyuki YAMAMORI.

2013-10-16  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.

2013-10-16  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
	* docs/grub.texi: Likewise.

2013-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
	value in case of incomplete read.
	(grub_util_fd_write): Likewise.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-editenv.c (create_envblk_file): More from here ...
	* util/editenv.c (grub_util_create_envblk_file): ... to here.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
	canonicalize file name before doing the rest.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/osdep/hostfile_windows.h: Add missing ftello for
	mingw32.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Define grub_util_is_directory/regular/special_file and
	use OS-dependent versions rather than to rely on stat().

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c: Move backend part to ...
	* util/mkimage.c: ... here.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Allow compilation with mingw64 albeit with warnings due to lack of
	%llx/%llu.

	* grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
	* grub-core/lib/posix_wrap/wchar.h: Define wint_t.
	* grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
	* include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
	on mingw64.
	* include/grub/types.h: Allow sizeof (long) != sizeof (void *).

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove leftover references to some of the system headers.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
	read.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
	of strerror.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Split out blocklist retrieving from setup.c to
	grub-core/osdep/blocklist.c and add windows implementation since
	generic version doesn't work on NTFS on Windows due to aggressive
	unflushable cache.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
	files.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
	Cut tailing newline. Remove arbitrary limitation. Always use
	grub_util_tchar_to_utf8.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
	* tests/printf_unit_test.c (printf_test): Add %% tests.
	Reported by: Paulo Flabiano Smorigo.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
	implement fsync.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check for nvlist_lookup_string in nvpair since we
	use nvlist_lookup_string and don't use nvlist_print.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Add wrappers around rename, unlink, mkdir, opendir, readdir and
	closedir to handle filename charset translation.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/hostdisk.h: Move file operations to
	* include/grub/emu/hostfile.h: ... here.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
	unicode path.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/checksums.h: Regenerate due to swiss.sed change.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Move cpu time retrieval to separate grub_util_get_cpu_time_ms
	and remove export.h.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/error.c: Removed.
	* grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
	explicitly as it's already in libgnu.a.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/emuconsole.c: Add missing config.h and
	config-util.h include.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Split emunet into platform-dependent and GRUB-binding parts. Keep
	platform-dependent part in kernel for easy access to OS functions.

2013-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
	open/read/write.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/emuconsole.c: New file.

2013-10-14  Andrey Borzenkov <arvidjaar@gmail.com>

	* conf/Makefile.extra-dist: Add osdep/*/init.c

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-probe.c (probe): Separate different drives in hint-str
	by spaces and not newlines.
	* util/grub-mkconfig_lib.in: Handle multidevice filesystem.

2013-10-14  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
	Handle CD-ROMs.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Pass-through unknown E820 types. It required reorganisation of mmap
	module.

2013-10-14  Andrey Borzenkov <arvidjaar@gmail.com>

	* Makefile.util.def: Add osdep/init.c to grub-mount files.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
	fseeko.

2013-10-14  qwertial  <qwertial>

	* grub-core/gdb_grub.in: Fix overflow and wrong field.

2013-10-14  Jon McCune <jonmccune@google.com>

	* docs/grub.texi: Document new signatures possibility.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
	missing prototype.
	(grub_util_tchar_to_utf8): Likewise.

2013-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def: Add osdep/init.c on emu.
	* grub-core/kern/emu/main.c: Add missing include.
	* grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
	Don't call grub_util_init_nls.
	* grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
	Likewise.

2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c (grub_util_get_image_size): Use FILE functions rather than
	stat.

2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-editenv.c: Remove leftover set_program_name and init_nls.

2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.

2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Add a wrapper for fopen. On unix-like systems just pass-through. On
	windows use unicode version.

2013-10-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Move set_program_name and init_nls to host_init. On windows
	fix in this fuction console and argument charset as well.

2013-10-12  Andrey Borzenkov <arvidjaar@gmail.com>

	Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
	GRUB_ENABLE_CRYPTODISK.

	* util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
	GRUB_ENABLE_CRYPTODISK.
	* util/grub-mkconfig_lib.in: Likewise.

2013-10-12  Christian Cier-Zniewski <c.cier@gmx.de>

	* docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.

2013-10-12  Melki Christian  <Christian.melki@saabgroup.com>

	* grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
	error when enabling debug.

2013-10-12  Ilya Bakulin <Ilya_Bakulin@genua.de>

	* configure.ac: Use -melf_*_obsd on openbsd.

2013-10-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.

2013-10-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h: Use gnu_printf rather than printf as format
	template since our functions are independent of libc.

2013-10-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Move copying of partition table as
	futher up as possible to avoid possible overwrite by floppy routines.

2013-10-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c: Fix handling of exfat contiguous files.

2013-10-10  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
	* docs/grub.texi: Likewise.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (make_device_name): Remove dos_part and bsd_part as
	it's mostly unused. Move vestiges to the callers.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
	version of salt and hash. Use grub_snprintf rather than snprintf.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Fix problem with braces.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.extra-dist: Fix extra-dist list.
	* grub-core/Makefile.core.def: Likewise.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Document disk names used on Windows and AROS.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
	with AROS devs.
	* grub-core/osdep/aros/hostdisk.c: Likewise.

2013-10-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid including hostfile.h when not necessarry as it pulls
	in OS-specific headers which may redefine generic names
	like "far".

2013-10-09  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
	scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
	scrollbar_bottom_pad
	* docs/grub.texi: Likewise.

2013-10-09  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.

2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.

2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
	Removed.
	* grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
	Made static.

2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
	leftover.

2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Move OS-specific driver configuration to grub_util_fd_open. This
	moves OS-dependent parts from kern/emu/hostdisk.c to
	grub-core/osdep/*/hostdisk.c.

2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Use size_t instead of
	grub_size_t.
	* util/grub-mkimagexx.c (locate_sections): Likewise.
	(load_image): Likewise.

2013-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
	size_t.
	(grub_util_write_image): Likewise.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/basic/random.c: New file. Abort on an attempt to
	get random when no RNG is available.
	* grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/util/lvm.h: Removed.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
	* grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/osdep/windows/sleep.c: Add missing config.h.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/emu/emunet.c: Move to ..
	* grub-core/osdep/linux/emunet.c: ..here.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c: Move to ...
	* grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
	* grub-core/osdep/basic/ofpath.c: ..here.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Move password-querying (util-version) routines to grub-core/osdep.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Move sleep routines to grub-core/osdep.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Move OS-dependent files to grub-core/osdep and document it.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
	* grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c: Remove leftover inclusion of malloc.h.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/setjmp.h: Remove leftover GRUBOF.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/raid.c: Fold into ...
	* util/getroot_linux.c: ... here. Make all functions static.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
	macros to GRUB ones.

2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
	occasional bug. If there are too many boot entries or too low
	scrollbar height then we need to use another formula to calculate
	the position and size of the scrollbar thumb.

2013-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.

2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
	* docs/grub.texi: Likewise.

2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
	viewport.

2013-10-08  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
	minimal width calculations.

2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Update note on colors on emu console.

2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
	for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
	it's FS and not GRUB limitation.

2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/efi/startup.S: Remove thumb leftover.

2013-10-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.

2013-10-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
	kernels by version order.

2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/random_unix.c: Add kFreeBSD to the list of secure RNG.

2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Add AROS hostdisk and getroot routines.

2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Make cryptodisk and diskfilter probe data retrievable programmatically
	and not just printable.

2013-10-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Split random retrieving code into separate files.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
	R_ARM_V4BX.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/video_checksum.c: Increase robustness to out of memory
	condition.
	* grub-core/tests/fake_input.c: Likewise.
	* grub-core/tests/cmdline_cat_test.c: Likewise.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/capture.c: Do not do finalization when .fini
	is called as there is explicit capture_end.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c: Add flag "functional" to skip input when
	changing windows to avoid crash.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/arm/cache.c: Add v5 write-through cache support.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/exclude.pot: Add several strings to exclude.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/gettext_strings_test.in: Add getroot_*.c to exclude list.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* autogen.sh: Add ./util/grub-gen-widthspec.c and
	./util/grub-gen-asciih.c to exclude list.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
	and don't mark error strings for translation.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
	properly in case of missing block size.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arm/setjmp.S: Add missing license section.

2013-10-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/swiss.sed: Add replacement for key names and for term computer.

2013-10-02  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/theme_loader.c: New global options for the
	theme background image handling. desktop-image-scale-method,
	desktop-image-h-align, desktop-image-v-align.
	* grub-core/gfxmenu/view.c: Likewise.
	* include/gfxmenu_view.h: Likewise.
	* include/bitmap_scale.h: Proportional scale functions introduced.
	* grub-core/video/bitmap_scale.c: Likewise. Verification checks are
	put in a separate functions. GRUB_ERR_BUG is set for grub_error in
	cases of unexpected input variables for scale functions.
	* docs/grub.texi: Updated documentation for new options.

2013-10-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.

2013-10-01  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/tests/checksums.h: Corrected due to changes in
	bilinear interpolation function.

2013-10-01  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
	to eliminate artefacts in bilinear interpolation.

2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/tga.c: Support paletted tga.

2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
	incorrect cbcr setting when in color mode.

2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/png.c: Support paletted images and clean up
	greyscale support.

2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
	usage of wrong table which resulted in mishandling of 4-byte
	sequences.

2013-09-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c: Add Home and End key sequences.

2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/png.c (grub_png_decode_image_header):
	Fix formula for computing total number of bytes.

2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/tga.c: Reorganize to separate RLE and
	image processing, fix big-endian and support grayscale.

2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
	Correctly will with maximum transparency when using index color.

2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/png.c: Support grayscale

2013-09-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/jpeg.c: Support grayscale.

2013-09-26  Jon McCune <jonmccune@google.com>

	* grub-core/commands/loadenv.c: Support skipping signature check
	and variable names filtering.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
	* grub-core/kern/emu/hostfs.c: Likewise.
	* util/getroot_unix.c: Likewise.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
	Migrate all explicit defines to this new one.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
	grub_util_fd_strerror when using grub_util_fd_*.
	(grub_util_fd_open_device): Likewise.
	(grub_util_biosdisk_read): Likewise.
	(grub_util_biosdisk_write): Likewise.
	* grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
	(grub_util_fd_strerror): Likewise.
	(grub_util_fd_sync): Likewise.
	(grub_util_fd_close): Likewise.
	* grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
	(grub_util_fd_close): Likewise.
	(grub_util_fd_strerror): Likewise.
	* include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
	function proto rather than macro.
	(grub_util_fd_sync): Likewise.
	(grub_util_fd_open): Likewise.
	(grub_util_fd_strerror): New proto.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
	platforms on which it doesn't work.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
	stat immediately to where it's used.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_check_block_device): Move to ...
	* util/getroot_unix.c (grub_util_check_block_device): ... here.
	* util/getroot.c (grub_util_check_char_device): Move to ...
	* util/getroot_unix.c (grub_util_check_char_device): ... here.

2013-09-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
	disk closing logic.

2013-09-24  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.

2013-09-24  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (File name syntax): Document ZFS filenames
	(/volume@snapshot/...).

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
	Always return full path. Fixes a problem with mkrelpath.

2013-09-23  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* util/grub-install.in: Add GPT PReP support.
	* util/grub-probe.c (probe): Support GPT partition type.
	(main): Support -t gpt_parttype.

2013-09-23  Aleš Nesrsta  <starous@volny.cz>

	* grub-core/bus/usb/ehci.c: SMI disabled in all cases

2013-09-23  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.

2013-09-23  Tim Hardeck  <thardeck>

	* util/grub.d/10_hurd.in: Filter out character for the class.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.

2013-09-23  Melki Christian  <Christian.melki@saabgroup.com>

	* grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
	"changed".

2013-09-23  Josh Triplett <josh@joshtriplett.org>

	* grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
	boot partition.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
	doesn't use posix_wrap. Keep literal -fno-builtin however.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
2013-09-23  neil

	* configure.ac: Do not enable -Wmissing-noreturn as its
	usefulness is limited and creates problems on some OS notably with
	code generated by bison.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
2013-09-23  neil

	* configure.ac: Do not explicitly enable -Waddress as it's not
	supported by all gcc and when it is, it's already enabled by -Wall.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
	desactivated use of EDID at all.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
2013-09-23  neil

	* grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
	video if no text is available.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
2013-09-23  neil

	* configure.ac: Substitute TARGET_RANLIB.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
2013-09-23  neil

	* grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.

	Based on patches from AROS.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>
2013-09-23  neil

	* grub-core/Makefile.am: Override STRIP and RANLIB.
	* configure.ac: compute TARGET_RANLIB.
	* INSTALL: Document TARGET_RANLIB

	Based on patches from AROS.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
	that floppies are unpartitioned.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
	Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
	less nice but more portable.
	* grub-core/lib/posix_wrap/wchar.h: Likewise.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
	for cheat_fd.
	* grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
	functions.
	(grub_cryptodisk_cheat_insert): Likewise.
	(grub_cryptodisk_close): Likewise.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/misc.h: Remove leftover cygwin definitions.
	Use windows path for DEFAULT_DIRECTORY.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/setjmp.h: Remove useless #if MINGW where original
	difference was likely just gcc version, not anything mingw-related.

2013-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Use Winapi on both cygwin and mingw32 to share more code between both.

2013-09-22  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install.in: Add --grub-editenv option.
	* util/grub-install_header (grub_compress_file): Explicitly check for
	plain file to avoid cp error.

2013-09-22  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Device syntax): Document new LVM UUID based device
	names; fix LVM driver name (lvm, not lv).
	* util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
	names.

2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
	files rather than one file with loads of #if's.
	* util/getroot.c: Likewise.

2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.

2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
	GNU/Hurd to the list of checked PRNG.

2013-09-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: On FreeBSD use -melf_*_fbsd format.

2013-09-21  Ales Nesrsta <starous@volny.cz>

	* grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)

2013-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c: Handle non-md UUIDs.
	* grub-core/disk/lvm.c: Add LVM UUIDs.
	* util/getroot.c: Use LVM UUIDs whenever possible.

2013-09-19  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Networking commands): Add documentation for
	network related commands.

2013-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_open_dm): Check major rather than the name
	to determine if device is handled by devmapper.
	(convert_system_partition_to_system_disk): Likewise.
	(get_dm_uuid): Don't check explicitly if device is mapped, it's
	already done in grub_util_open_dm.

2013-09-19  Leif Lindholm  <leif.lindholm@linaro.org>

	* kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
	Clean up stack manipulation (sync_caches_armv*)

2013-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/lvm.c: Remove since unused. Remove remaining references.

2013-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle the case of partitioned LVM properly.

	* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
	Stop on meeting LVM, mpath or DMRAID.
	(grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
	(read_device_map): Likewise.
	* util/getroot.c (convert_system_partition_to_system_disk): Assume that
	device is full disk rather than erroring out on LVM and similar cases.

2013-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.

2013-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
	4K before the end.
	Reported by: Leif Lindholm

2013-09-18  Pawel Wojtalczyk <eyak@wp.pl>
2013-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
	codes.

2013-09-18  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
	Remove no-longer-true __attribute__ ((unused)) on disk parameter.

2013-09-18  Douglas Ray <dougray@cpan.org>

	* util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
	as secure.

2013-09-18  Aleš Nesrsta  <starous@volny.cz>

	* docs/grub.texi: Fix broken link.

2013-09-18  Melki Christian  <Christian.melki@saabgroup.com>

	* grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
	to break endless loop.

2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c: Fix several printf formats.
	* util/grub-mkimage.c: Likewise.
	* util/grub-mkimagexx.c: Likewise.
	* util/grub-script-check.c: Likewise.

2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
	error.

2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.

2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
	removed in current versions cygwin_conv_*.

2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Disable efiemu runtime on cygwin.

2013-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
	util/grub-gen-widthspec.c and util/grub-pe2elf.c.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
	error message.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
	windows variant.
	* util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
	data.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
	when on x86 and not cygwin.
	* conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
	-Wl,-melf_x86_64.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Set CPP to build one when checkoing for freetype for
	build.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
	[!GRUB_BUILD]: Remove has_argument.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
	Replace with a dummy.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't change host_os from mingw to cygwin.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Change target_os from windows to cygwin.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle grub-pe2elf and grub-mkfont for cases when build != host.

	* Makefile.am (build-grub-mkfont): Don't include gnulib.
	(build-grub-gen-asciih): Likewise.
	(build-grub-gen-widthspec): Likewise.
	* Makefile.util.def (grub-pe2elf): Remove.
	* config.h.in [GRUB_BUILD]: Use build rather than host constants.
	* configure.ac: Separate tests for build.
	Move ./build-grub-pe2elf to grub-core.
	Fix typo.
	* grub-core/Makefile.am (build-grub-pe2elf): New target.
	* grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
	defined.
	* include/grub/types.h [GRUB_BUILD]: Use build rather than host
	constants.
	* util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
	* util/grub-pe2elf.c: Simplify not to rely on getopt.
	* util/misc.c (program_name) [GRUB_BUILD]: Define to static string.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
	mingw32 as well based on grub_util_get_disk_size.
	* util/misc.c (grub_util_get_disk_size): Removed. all users switched to
	grub_util_get_fd_size.
	(sync): Removed.
	(fsync): Moved to ...
	* grub-core/kern/emu/misc.c (fsync): ... here.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/mm.h (grub_extend_alloc): Remove.
	* grub-core/loader/i386/pc/plan9.c: Use own version of
	grub_extend_alloc with appropriate types.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c: Include sys/wait.h only when we need waitpid.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix dependencies on cygwin.

	* gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
	dependencies when used and defined.
	* grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
	* grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
	implementation available to cause compile-time rather than runtime
	error.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c: Don't check for symlinks on windows.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Mention unavailability of man pages when cross-compiling.

2013-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
	and gcry_log_bug.
	* grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Document cross-compilation.
	* acinclude.m4: Determine whether nm support -P and --defined-only.
	* configure.ac: Add TARGET_ to all variables pertaining to target
	that don't have it yet.
	* gentpl.py: Likewise.
	* grub-core/Makefile.am: Likewise.
	* grub-core/genmod.sh.in: Likewise.
	* grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
	as well.

2013-08-21  Ilya Bakulin <Ilya_Bakulin@genua.de>

	* configure.ac: Remove -Wempty-body. It's not essential and needs
	recent gcc.

2013-08-21  Ilya Bakulin <Ilya_Bakulin@genua.de>

	* grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
	* util/getroot.c: Likewise.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Add needed explicit cast.
	* grub-core/lib/backtrace.c: Likewise.
	* grub-core/net/ip.c: Likewise.
	* grub-core/net/tcp.c: Likewise.
	* grub-core/net/udp.c: Likewise.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/wchar.h: Fix typo.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Add final newline in visibility.h.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common: Fix typo.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-mkfont): Add missing libgnu.a.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (widthspec.h): Fix typo.
	* util/grub-gen-widthspec.c: Likewise.

2013-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Move ascii.h and widthspec.h generation to a separate build-time-only
	tool.

2013-08-16  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
	Always fill bootdisk info and improve check for NetBSD disklabel.

2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.extra-dist: Add util/bin2h.c.
	Reported by: floppym.

2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Make unifont mandatory for powerpc-ieee1275.

2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Disable unifont and starfield if no freetype was found.

2013-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
	on NetBSD and OpenBSD.

2013-08-15  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.

2013-08-15  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: The number of color mappings is
	reduced. Inheritant options are processed during the theme loading.

2013-08-15  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: Minimal width fixed.

2013-08-14 Avik Sil <aviksil@in.ibm.com>

	* grub-core/net/tftp.c: Send tftp ack packet before closing the socket.

2013-08-14 Avik Sil <aviksil@in.ibm.com>

	* grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
	using qemu.

2013-08-14  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
	remove-potcdate.sed.

2013-08-14  Andrey Borzenkov <arvidjaar@gmail.com>

	*  grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
	unused attribute from pull argument.

2013-08-14  Andrey Borzenkov <arvidjaar@gmail.com>

	*  util/getroot.c (grub_util_is_imsm): Fix descriptor and
	memory leak.

2013-08-14  Andrey Borzenkov <arvidjaar@gmail.com>

	*  util/getroot.c (pull_lvm_by_command): add --separator option
	to vgs call to disable padding of output to 10 characters.

2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
	here ...
	* grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
	here.

2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
	length.

2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of build-time grub-bin2h and grub-mkfont when doing
	full Canadian cross. Tested with build=x86_64, host=arm,
	target=ppc-ieee1275.

2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Error if no $BUILD_CC could be found.
	Reported by: DevHC.

2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/coreboot/init.c: Fix compilation on
	i386-multiboot.

2013-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
	* grub-core/kern/mips/qemu_mips/init.c: Likewise.

2013-08-13  Colin Watson  <cjwatson@ubuntu.com>

	* util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
	grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
	falling back to the partition device, otherwise a later call to this
	function may fail spuriously.
	Reported by Axel Beckert.  Fixes Debian bug #708614.

2013-08-12  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* autogen.sh: Replace find -not by the POSIX-compliant find !.

2013-08-12  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Prevent shadowing of stdlib's devname(3) on BSD.

	* grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
	and devlast to diskname and disklast, respectively.

2013-08-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Fix detection of Emacs autosave files.

2013-08-08  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* docs/grub.texi: Introduce terminal window position options:
	terminal-left: terminal window's left position
	terminal-top: terminal window's top position
	terminal-width: terminal window's width
	terminal-height: terminal window's height
	terminal-border: terminal window's border width
	* grub-core/gfxmenu/theme-loader.c: Likewise.
	* include/grub/gfxmenu_view.h: Likewise.
	* po/exlude.pot: Likewise.
	* grub-core/gfxmenu/view.c: Likewise.
	Also updated minimal window size.
	Also terminal_sanity_check function has been introduced.
	* grub-core/tests/checksums.h: Update (terminal window height
	is adjusted now for low resolution screen)

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/checksums.h: Update (1-pixel difference in marker
	position).

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/exclude.pot: Add few recent exceptions.

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_func_test.in: Add unicode.pf2.

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
	standard rather than noral color, in line with other terminals.

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
	analysis.

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/arm/linux.c: Change printf to dprintf.

2013-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
	inappropriate printf.

2013-07-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* .bzrignore: Remove grub-core/lib/dtc-grub,
	grub-core/Makefile.libfdt.def
	* conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.

2013-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/video.h (grub_video_register): Keep double-linked as
	well as single-linked invariants.
	Reported by: qwertial.

2013-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/nativedisk.c (get_uuid): Handle
	GRUB_DISK_DEVICE_UBOOTDISK_ID.

2013-07-25  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
	maximum of NW, N, NE heights instead of N's height and maximum of
	NW, W, SW widths instead of W's width. (So the box will be always
	correctly drawn)

2013-07-20  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
	Fix misuse of variable count.

2013-07-18  Leif Lindholm  <leif.lindholm@arm.com>
2013-07-18  Francesco Lavra  <francescolavra.fl@gmail.com>
2013-07-18  Vladimir Serbinenko  <phcoder@gmail.com>

	New ports to arm-uboot and arm-efi.
	Mostly by Leif Lindholm with some additions from
	Francesco Lavra and cleanup by Vladimir Serbinenko.

2013-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
	and not before.
	Reported by: Leon Drugi.

2013-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
	Reported by: Paulo Flabiano Smorigo.

2013-07-14  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.

2013-07-14  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: Fix height calculation.

2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c: Stylistic fixes.

2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c: Run emacs indent on file.

2013-07-14  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/net/bootp.c: Export net_* variables.
	* grub-core/net/net.c: Likewise.

2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c: Remove brackets around return value.

2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.

2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.

2013-07-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.

2013-07-14  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
	<= 0.

2013-07-14  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
	functions.

2013-07-14  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfs_lz4.c: New file.
	* grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.

2013-07-14  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfs.c: Check for feature compatibility.

2013-07-14  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
	(check_pool_label): Likewise.
	* include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.

2013-07-14  Massimo Maggi <me@massimo-maggi.eu>

	* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.

2013-07-13  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Commands): Document postition parameters
	for menuentry command.

2013-07-13  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-mknetdir.in: Remove stray line from help output.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove early sm712 init as there is no reason for it (the "watchdog"
	effect was due to wrong GPIO map).

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/pcidump.c: Remove static variables.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/sleep.c: Refresh screen before sleeping.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Move delimiter after the infos.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usbhub.c: Fix recheck logic.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
	not filling whole 8x16 space.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.

2013-07-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Indicate which liblzma is used if any.

2013-06-21  Paul Wise  <pabs3@bonedaddy.net>
2013-06-21  Craig Sanders <savannah@taz.net.au>

	* util/grub-reboot.in: Document submenu usage.

2013-06-25  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Update with a number of new test-related files.

2013-06-25  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-script-check.c: Fail on scripts containing no
	commands, to guard against corrupted grub-mkconfig setups that
	produce no useful output.
	* tests/grub_script_no_commands.in: New test.
	* Makefile.util.def (grub_script_no_commands): Add.
	Reported by Hans Putter.  Fixes Debian bug #713886.

2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/disk/diskfilter.c: Forgot to remove comment
	from previous commit.

2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
	grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.

2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.

2013-06-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/disk/diskfilter.c (scan_devices): Iteratively
	rescan diskfilter devices until nothing new is found.

2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix casts when compiling coreboot-specific code for 64-bit EFI.

2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't try to detect cbfs on *-emu.

2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c: USe right background color when scrolling.

2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Add support for processed coreboot payload chainloading.

2013-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable coreboot information commands even when not loaded as
	coreboot payload (e.g. when loaded from SeaBIOS-as-payload).

2013-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for cbfs. Also factor out the part which is common
	for all archives to a separate module. This splits tar from cpio
	as they are very different but keeps cpio, cpio_be, odc and newc
	together since they're very similar.

2013-06-15  David Michael  <fedora.dm0@gmail.com>

	* configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
	(freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.

2013-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_script_eval.in: Really add the eval test.

2013-06-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Move flavour-specific parts out of common cpio.c file and
	rename remaining to cpio_common.c

2013-06-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/script/execute.c (grub_script_execute_sourcecode): Split
	off new function grub_script_execute_new_scope. Change callers to use
	either of them as appropriate.
	* grub-core/commands/eval.c: New command eval.
	* docs/grub.texi (Commands): Document it.

2013-06-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
	to fetch values when listing.

2013-06-07  Andrey Borzenkov <arvidjaar@gmail.com>

	Fix make dist on non-pc.

2013-06-07  Francesco Lavra  <francescolavra.fl@gmail.com>

	* grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
	without a device name.

2013-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove enable_executable_check as it's not needed anymore.
	Reported by: dougray.

2013-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (insert_array): Fix order to discover
	ambigouos RAID before discovering RAIDs on top of it.
	Reported by: bodom.

2013-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix typo (failback vs fallback).

2013-05-31  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub.d/30_os-prober.in: Add support for probing EFI
	System Partition (as of os-prober 1.58).

2013-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add yet another path to unifont. For parabola.

2013-05-30  Josh Triplett  <josh@joshtriplett.org>

	* grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
	handling to copy the killed characters to the kill buffer as
	UCS4 stored as grub_uint32_t rather than as 8-bit characters
	stored as char.  Eliminates UCS4 truncation and corruption
	observed when killing characters with Ctrl-u and yanking them
	back with Ctrl-y.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Detach optional parts of gfxterm and integrate in with coreboot init.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Move blit and fill dispatcher to appropriate files to decrease export
	and relocation overhead.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/font/font.c, include/grub/font.h: Inline simple font
	functions.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am: Fix compilation problem with some
	automake versions.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add Ubuntu path to unifont and report unifont path used.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am, conf/Makefile.common: Fix compilation problem with some
	automake versions.

2013-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
	SSDT.

2013-05-15  Radosław Szymczyszyn  <lavrin@gmail.com>

	* grub-core/partmap/dfly.c: New partition map.

2013-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
	checking.
	Reported by: Francesco Lavra.

2013-05-14  Andrey Borzenkov <arvidjaar@gmail.com>

	* gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
	dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
	false conditions.
	* conf/Makefile.common: define dist_grubconf_DATA

2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Progressively skip menu elements on small terminals rather
	than crashing.

2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
	to avoid losing last column.

2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/exclude.pot: Add missing string "%C".

2013-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Remove the temporary directory on grub-emu
	after the test.

2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Gettextize "Not found" message.

2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix distfiles list.
	Reported by: Andrey Borzenkov <arvidjaar@gmail.com>

2013-05-11  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
	present.
	* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.

2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/setjmp_test.c: Ignore missing noreturn.

2013-05-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
	attribute since structure is not necessarily aligned.

2013-05-11  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Device syntax): Clarify description of network
	drives.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
	for vasprintf presence.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Handle efibootmgr presence check.
	Reported by: Leif Lindholm.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/testspeed.c: Reuse formatting string to decrease
	new strings to translate.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
	yet another string (pun intended) to translate.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES-shell.in: Autogenerate it.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (grub_net_open_real): Autoload network modules.

2013-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
	misnomer.

2013-05-08  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Network): Add description of net_default_interface,
	net_default_ip and net_default_mac. Rewrite variables description
	to emphasize that they are per-interface.

2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	New test: cmdline and cat.

2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/cat.c: Show UTF-8 characters.

2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common: Poison float and double on non-emu.

2013-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't disable extended registers on emu.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't use extended registers on x86_64.
	Reported by: Peter Jones.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/efi/console.c: Fix compile error.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Compressed HFS+ support.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
	pixel".

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Menu color test.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/setjmp_test.c: New test.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	New variables 'net_default_*' to determine MAC/IP of default interface.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/gettext_strings_test.in: A test to check for strings not
	marked for translation.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* autogen.sh: Exclude unused libgcrypt files from translation.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Simplify few strings.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Mark few forgotten strings for translation.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/linux.c: Use grub_dprintf for debug statements
	rather than printf.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
	rather than printf.
	* grub-core/video/readers/tga.c: Likewise.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/priority_queue_unit_test.cc: New test.

2013-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/font/font.c: Use grub_dprintf for debug statements rather
	than printf.

2013-05-06  Andrey Borzenkov <arvidjaar@gmail.com>

	Reimplement grub-reboot to not depend on saved_entry. Use next_entry
	variable for one time boot menu entry.

2013-05-05  Bean  <bean123ch@gmail.com>

	* grub-core/commands/testspeed.c: New command testspeed.

2013-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Factor-out human-size printing.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Agglomerate more mallocs to speed-up gfxterm.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Speed-up gfxterm by slightly agglomerating mallocs.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	More video checks.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Speed-up gfxterm by saving intermediate results in index+alpha
	format.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/lib/functional_test.c: Don't stop on first failed
	test.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
	line of timeout as it may contain the rest of long line.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c: Fix freed memory dereference.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix several memory leaks.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu.c (run_menu): Fix timeout reference point.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c: Try $lang.gmo as well.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix test -a and -o precedence.
	Reported by: adrian15.

2013-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.

2013-05-03  Andrey Borzenkov <arvidjaar@gmail.com>

	Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
	and add it as source to functional_test module.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	New series of tests for gfxterm and gfxmenu.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
	the theme path relative to $prefix/themes.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
	Fix order bug.
	(grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
	descriptor.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
	grub_gfxmenu_timeout_notifications.
	(grub_gfxmenu_view_destroy): Likewise.

2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.

2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Several fixes to ieee1275 and big-endian video.

2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing exports on mips.

2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
	if no unifont is found.
	Restore original keyboard.

2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
	GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.

2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	First automated video test (running videotest and comparing results)

2013-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
	instead of 2 to have full RGB/CMY test pattern.

2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Add few more tests.

2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/arc/arc.h: Account for missing "other" peripheral on
	ARCS. All users updated.

2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.

2013-04-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/amiga.c: Fix size of checksummed block.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Use -mcmodel=large on x86_64-emu as well.
	Reported by: qwertial.

2013-04-29  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
	with syntax "XXX deg"/"XXX °".

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Make PCI init in i386-qemu port more robust.

2013-04-29  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
	cached view is reused.
	* grub-core/gfxmenu/view.c: Call the refresh procedure for all
	open boot menus.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify more code in grub-install_header.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Add few new tests.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Enforce disabling of firmware disk drivers when native drivers kick in.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/nativedisk.c: Customize the list of modules on
	platform. Don't try to search for disks already using native drivers.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
	platforms.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
	handling of variables containing backslash.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
	dereference.
	Reported by: qwertial.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/arc/init.c: Fix prefix detection.

2013-04-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
	dereference.
	Reported by: qwertial.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Add a comment about usefullness of nativedisk.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/nativedisk.c: Ignore unknown filesystem error.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	New command `nativedisk'.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
	* grub-core/loader/i386/bsd.c: Likewise.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
	grub_get_unaligned16 rather than shifts.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/file.c: Use const char * rather than casting to
	non-const.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/probe.c: Add missing grub_device_close.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* INSTALL: Document linguas.sh.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove POTFILES.in and regenerate it in autogen.sh.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Move --directory/--override-directorry to grub-install_header and unify.

2013-04-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/morse.c: Macroify dih and dah.

2013-04-27  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>

	* include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.

2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ns8250.c: Systematically probe ports by writing
	to SR before using them.

2013-04-27  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>

	* util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
	disks.
	(check_sas): Get sas_adress info.

2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
	ports.

2013-04-27  Leon Drugi <eyak>

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
	BSS clearing.

2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Core compression test.

2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement grub_machine_get_bootlocation for ARC.

2013-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve AHCI detection and command issuing.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix pseries test.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Make 'make check' work on emu.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace libcurses with our own vt100 handling for the ease of testing
	and decreasing prerequisites.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (exec_pipe): Put proper #if's so that its users don't
	compile when not needed.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/pseries_test.in: New test.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Add test to check that different boot mediums work.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
	ofw limited ISO support.

2013-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Fix loongson conditional.

2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable mipsel-arc.

2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Add serial on ARC platform.

2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
	commit.

2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/partmap_test.in: Add missing double semicolon.

2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Fix loongson filename.

2013-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Move all files that don't have a location
	set in stone under /boot/grub. Use ISO hard links rather than copies
	to save some space.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
	bogus SLOF values.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Make check work on mips-arc.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Alias sashARCS as sash.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
	it's serial.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix target fo qemu_mips.
	Fix extension on EFI.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_text.c (print_entry): Put an asterisk
	in front of chosen entry to mark it even if highlighting is lost.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_linux_boot): Default to
	gfxpayload=keep if cbfb is active.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing video ids to coreboot and ieee1275 video.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Add mips-arc support.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.

2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Move mips-arc link address. Previous link address was chosen
	in belief that RAM on SGI platforms grows down while in fact it
	grows up from an unusual base.

2013-04-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
	Fix a type which prevented CD-ROM and floppy boot.

2013-04-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Support coreboot framebuffer.

	* grub-core/video/i386/coreboot/cbfb.c: New file.

2013-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
	detecting too small regions.

2013-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (legacycfg): Enable on EFI.

2013-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
	Remove dprintf.
	* grub-core/lib/relocator.c (malloc_in_range): Likewise.

2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
	of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
	* grub-core/loader/powerpc/ieee1275/linux.c
	(grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.

2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
	Look for /boot-rom as well as /rom/boot-rom.

2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
	handling when creating text_layer failed.
	* grub-core/video/video.c (grub_video_create_render_target):
	Set result to 0 on error.
	(grub_video_delete_render_target): Do not dereference NULL.

2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/elfXX.c (grub_elfXX_load): Handle
	GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
	(grub_linux_load64): Mask out 2 high bits.

2013-04-19  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub.d/30_os-prober.in: Add onstr to linux entries in one
	more place.

2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Add support for pseries and other bootinfo machines to grub-mkrescue.

	Tested by: Paulo Flabiano Smorigo.

2013-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Add GPT for EFI boot.

2013-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
	It improves performance in qemu.

2013-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* build-aux/snippet: Add missing gnulib files.

2013-04-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.

2013-04-16  Andrey Borzenkov <arvidjaar@gmail.com>

	* autogen.sh: Use "-f" in addition for "-h" when checking file presence.

2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>
2013-04-15  Peter Jones <pjones@redhat.com>

	* grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
	sectors.
	Based on patch by Peter Jones.

2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix DMRAID partition handling.

2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_cmd_date.in: Skip on sparc64.

2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_script_expansion.in: Use fixed-string grep to skip over
	firmware error messages.

2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
	source and destination differ.

2013-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
	detection.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
	match config-util.h to avoid warnings and increase compatibility.

2013-04-14  Szymon Janc <szymon@janc.net.pl>
2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Add option to compress files on install/image creation.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub-dev.texi: Rearrange menu to match the section order.
	Reported by: Bryan Hundven.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c: Remove useless leftover pointer.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Move GRUB out of system area when using xorriso 1.2.9 or later.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_cmd_date.in: Add missing exit 1.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/partmap_test.in: Skip on sparc64.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Support grub-shell on sparc64.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Support mkrescue on sparc64.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Allow IEEE1275 ports on path even if it wasn't detected automatically.
	Needed on OpenBIOS due to incomplete device tree.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
	would be otherwise excluded.

2013-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
	Inline name defines used only once.

2013-04-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix memory leaks in ofnet.
	Reported by: Francesco Lavra.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/man/grub-glue-efi.h2m: Add missing file.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Fix wrong architecture for ppc dir.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Better support Apple Intel Macs on CD.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace stpcpy with grub_stpcpy in tools.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle Japanese special keys.
	Reported by: Hiroyuki YAMAMORI.
	Codes supplied by: Hiroyuki YAMAMORI.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c: Document memdisk implying --prefix.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
	much we can do about it anyway.

2013-04-12  Aleš Nesrsta  <starous@volny.cz>

	Fix handling of split transfers.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/http.c: Fix bad free.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
	than buffer size.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Disable partmap check on i386-ieee1275 due to openfirmware issues.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Fix it on powerpc.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Turn off QEMU ACPI-way since new releases don't have shutdown port
	anymore.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Update coreboot status info.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_cmd_date.in: New test for datetime.

2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/partmap_test.in: Fix missing qemudisk setting.

2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Support i386-ieee1275 grub-mkrescue and make check on it.

2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
	feature for it.

2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
	GRUB_CMDLINE_XEN_DEFAULT.
	Reported by: 	Marc Warne (GigaTux) <gigatux>

2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Import new gnulib.

2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Use ACPI shutdown intests as traditional port was removed.

2013-04-11  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub.d/30_os-prober.in: Add onstr to entries for visual
	distinction.

2013-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
	Fix few warining messages and leaks while on it.

2013-04-09  Andrey Borzenkov <arvidjaar@gmail.com>

	* autogen.sh: Use "-h", not "-f", to test for existence of symbolic
	links under grub-core/lib/libgcrypt-grub/mpi.

2013-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ia64-efi image generation on big-endian machines. Deduplicate
	some code while on it.
	Reported by: Leif Lindholm.

2013-04-08  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
	as extra_dist.

2013-04-08  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.

2013-04-08  Bryan Hundven <bryanhundven@gmail.com>

	* docs/grub-dev.texi: Move @itemize after @subsection to satisfy
	texinfo-5.1.

2013-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c: Few more fixes for menu entry editor
	rendering.
	Reported by: Andrey Borzenkov <arvidjaar@gmail.com>

2013-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c: Few more fixes for menu entry editor
	rendering.
	Reported by: Andrey Borzenkov <arvidjaar@gmail.com>

2013-04-06  Andrey Borzenkov <arvidjaar@gmail.com>

	* conf/Makefile.extra-dist (EXTRA_DIST): Add
	grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.

2013-04-06  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install_header: Use @PACKAGE@.mo in message catalog name
	instead of hardcoding grub.mo.

2013-04-05  Fedora Ninjas <grub2-owner@fedoraproject.org>

	* util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
	grub-core/disk/geli.c.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c: Prefer enum to #define.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace 8 with GRUB_CHAR_BIT in several places when appropriate.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c: Use GRUB_CHAR_BIT.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/bsdlabel.h: Use enums.

2013-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Move GRUB_CHAR_BIT to types.h.

2013-04-04  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi: Document more user commands.

2013-04-04  Andrey Borzenkov  <arvidjaar@gmail.com>

	* docs/grub.texi: Document menuentry --id option.

2013-04-04  Francesco Lavra  <francescolavra.fl@gmail.com>

	* util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.

2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify file copying setup across different install scripts. Add
	options for performing partial install.

2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
2013-04-04  Peter Jones <pjones@redhat.com>

	* grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.

2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use TSC as a possible time source on i386-ieee1275.

2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
	Init err.

2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Handle some corner cases.

2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.

2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c: Save verified file to avoid it being
	tampered with after verification was done.

2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
	reported width by one to compensate for curesor algorithm problem.

2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix screen corruption in menu entry editor and simplify the code
	flow while on it.

2013-04-03  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-mount.c (fuse_init): Return error if fuse_main
	failed.

2013-04-03  Francesco Lavra  <francescolavra.fl@gmail.com>

	* include/grub/elf.h: Add missing ARM relocation codes and fix
	  existing ones.

2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.

2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>
2013-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
	into account when calculating radius.

2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/view.c: Fix off-by-one error.

2013-04-03  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.

2013-04-01  Radosław Szymczyszyn <lavrin@gmail.com>

	* grub-core/partmap/apple.c (apple_partition_map_iterate): Add
	missing closing bracket.

2013-04-01  Radosław Szymczyszyn <lavrin@gmail.com>

	* INSTALL: Mention xorriso requirement.

2013-03-31  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/commands/verify.c: Fix hash algorithms values for
	the first three hashes - they start with 1, not with 0.

2013-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
	Try terminating EFI services several times due to quirks in some
	implementations.

2013-03-26  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/acpihalt.c (skip_ext_op): Add support for
	  skipping Event, Device, Processor, PowerRes, ThermalZone, and
	  BankField extended opcodes.
	  (get_sleep_type): Add minimal scope handling (just enough to
	  handle setting the scope to the root path).
	  (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
	* include/grub/acpi.h: Add enumeration values for Event, Device,
	  Processor, PowerRes, ThermalZone, and BankField extended opcodes.

2013-03-26  Vladimir Testov <vladimir.testov@rosalab.ru>

	* grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
	memory leak.

2013-03-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Give more time for AHCI request.

2013-03-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu.c: Wait if there were errors shown at "boot"
	command.

2013-03-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace the region at 0 from coreboot tables to available in BSD
	memory map.

2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
	non-BIOS platforms.

2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
	platforms.

2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
	handling of multi-device filesystems.

2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
	platforms.

2013-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Add new 'proc' filesystem framework and put luks_script into it.

2013-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c: Increase robustness on coreboot
	and qemu.

2013-03-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.

2013-03-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Add ability to generate newc additions on runtime.

2013-03-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
	description.

2013-03-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.

2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c (hashes): Add several hashes
	from the spec.

2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Slight improve in USB-related boot-time checkpoints.

2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/boottime.c: Fix copyright header.

2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>

	New commands cbmemc, lscoreboot, coreboot_boottime to inspect
	coreboot tables content. Support for cbmemc.

2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix a conflict between ports structures with 2 controllers of
	same kind.

2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/boottime.h: Add missing file.

2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Initialize USB ports in parallel to speed-up boot.

2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix USB devices not being detected when requested
	due to delayed attach.

2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement boot time analysis framework.

2013-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove get_endpoint_descriptor and change all functions needing
	descriptor to just receive it as argument rather than endpoint
	address.

2013-03-19  Aleš Nesrsta  <starous@volny.cz>

	Better estimate the maximum USB transfer size.

2013-03-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Resend a packet if we got the wrong buffer in status.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
	multiplication rather than division.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
	than divisions.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c (grub_verify_signature): Use unsigned
	operations to have intended shifts and not divisions.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
	intended shifts rather than division.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
	computation for some years before epoch. Avode confusing division
	while on it.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/i386/pc/vbe.c
	(grub_video_vbe_print_adapter_specific_info): Replace division by
	shifts.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Adjust types in gdb module to have intended unsigned shifts rather than
	signed divisions.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
	maximum size is 4G - 1 on hfs

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid costly 64-bit division in grub_get_time_ms on most platforms.

2013-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
	function.

2013-03-07  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
	causing gcc error with gcc 4.7.1.

2013-03-07  Nickolai Zeldovich <nickolai@csail.mit.edu>

	* grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
	dereference null pointer. While the code is technically correct, gcc
	may eliminate a null check if pointer is already dereferenced.

2013-03-07  Nickolai Zeldovich <nickolai@csail.mit.edu>

	* grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
	OOM check.
	* grub-core/normal/term.c (read_terminal_list): Likewise.

2013-03-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Lift up core size limits on some platforms. Fix potential memory
	corruption with big core on small memory systems. Document remaining
	limits.

2013-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
	gotoxy to 0,0.

2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove all trampoline support. Add -Wtrampolines when
	present. Remove symbols used for trampolines to make
	link fail if trampolines are present.

2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_arglist_to_argv): Move
	append out of its parent.

2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/regexp.c (set_matches): Move setvar out of its
	parent.

2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/env.c, include/grub/env.h: Change iterator through
	all vars to a macro. All users updated.

2013-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/nand.c: Fix compilation on
	i386-ieee1275.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/cmos.h: Handle high CMOS addresses on sparc64.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Move to more hookless approach in IEEE1275 devices handling.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/term.c (grub_term_normal_color),
	(grub_term_highlight_color): Add back lost defaults.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Make elfload not use hooks. Opt for flags and iterators instead.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
	* grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (gettext_append): Remove nested functions.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
	hook pass-through parameter. All users updated and unnested.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
	out of its parent.

2013-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c: Remove nested functions.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
	the context through.
	(grub_hfsplus_iterate_dir): Move nested function out of its parent.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-editenv.c (list_variables): Move print_var out of its
	parent.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
	function.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gentrigtables.c: Make tables const.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove nested functions from videoinfo iterators.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
	for 64-bit platforms.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
	a FOR_CHILDREN macro.

2013-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
	platform from firmware path.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable linux16 on non-BIOS systems for i.a. memtest.

	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
	correctly.
	* grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
	Fix end of table condition.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_show_help): Move showargs
	out of its parent.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c: Remove nested functions.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c: Remove nested functions.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c: Remove nested functions.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
	of parent function.

2013-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c: Remove nested functions.

2013-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/machoXX.c: Remove nested functions.

2013-02-27  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from disk and file read hooks.

	* include/grub/disk.h (grub_disk_read_hook_t): New type.
	(struct grub_disk): Add read_hook_data member.
	* include/grub/file.h (struct grub_file): Likewise.
	* include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
	argument.

	Update all callers.

2012-02-27  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
	Fix off by one error in enumerating extended partitions.

2013-02-26  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
	memory leak if device name is not found.

2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/normal/menu_entry.c (update_screen): remove
	unused variable `off' which caused scroll down arrow to be always shown.

2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* grub-core/normal/menu_entry.c (insert_string): fix off by one
	access to unallocated memory.

2013-02-25  Andrey Borzenkov <arvidjaar@gmail.com>

	* Makefile.util.def: Add partmap/msdos.c to common library.
	* include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
	* grub-core/disk/ldm.c: Check for existence of
	GRUB_PC_PARTITION_TYPE_LDM.

2013-02-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
	sizes and display sector size.

2013-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement new command cmosdump.

2013-02-19  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>

	Support Openfirmware disks with non-512B sectors.

	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
	size of the disk.
	* (grub_ofdisk_get_block_size): New function.
	* (grub_ofdisk_prepare): Use the correct block size.
	* (grub_ofdisk_read): Likewise.
	* (grub_ofdisk_write): Likewise.
	* include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
	New proto.

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

	* grub-core/commands/lsacpi.c: Fix types on 64-bit platform.

2013-02-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
	on first error.

2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
	freeing it.

2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement USBDebug (full USB stack variant).

2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
	unless they have unexpected values.

2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
	grub_print_error.

2013-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
	zero-out of port structure.

2013-01-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
	of extended attributes.

2013-01-27  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install.in: change misleading comment about
	device.map creation

2013-01-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
	when menu highlight color isn't set.

2013-01-27  C. Masloch  <pushbx@38.de>

	Improve FreeDOS direct loading support compatibility.

	* include/grub/i386/relocator.h (grub_relocator16_state):
	New member ebp.
	* grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
	variable.
	(grub_relocator16_boot): Handle %ebp.
	* grub-core/lib/i386/relocator16.S: Likewise.
	* grub-core/loader/i386/pc/freedos.c:
	Load BPB to pass kernel which partition to load from.
	Check that kernel file is not too large.
	Set register dl to BIOS unit number as well.

2013-01-22  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-reboot.in (usage): Document the need for
	GRUB_DEFAULT=saved.
	* util/grub-set-default.in (usage): Likewise.
	Reported by: Brian Candler.  Fixes Ubuntu bug #1102925.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
	than defining WORDS_BIGENDIAN manually.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
	invariants.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/font/font.c (blit_comb: do_blit): Make static instead of
	nested.
	(blit_comb: add_device_width): Likewise.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from USB iterators.

	* include/grub/usb.h (grub_usb_iterate_hook_t): New type.
	(grub_usb_controller_iterate_hook_t): Likewise.
	(grub_usb_iterate): Add hook_data argument.
	(grub_usb_controller_iterate): Likewise.
	(struct grub_usb_controller_dev.iterate): Likewise.

	Update all implementations and callers.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (print_ucs4_terminal): Don't output right
	margin when not needed.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Make color variables global instead of it being per-terminal.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/ls.c (grub_ls_print_devices): Add missing
	asterisk.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	Fix powerpc and sparc64 build failures caused by un-nesting memory
	map iterators.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
	parameter declarations.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/lsmmap.c: Fix unused variable on emu.

2013-01-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve spkmomdem reliability by adding a separator between bytes.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/partmap/msdos.c (embed_signatures): Add the signature of
	an Acer registration utility with several sightings in the wild.
	Reported by: Rickard Westman.  Fixes Ubuntu bug #987022.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from filesystem directory iterators.

	* include/grub/fs.h (grub_fs_dir_hook_t): New type.
	(struct grub_fs.dir): Add hook_data argument.

	Update all implementations and callers.

2013-01-21  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Multi-boot manual config): Fix typo for
	"recommended".

2013-01-20  Leif Lindholm  <leif.lindholm@arm.com>

	* util/grub-mkimage.c (main): Postpone freeing arguments.output
	until after its use in generate_image.

2013-01-20  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
	initrd size to addr_min, since the initrd will be allocated after
	this address.

2013-01-20  Andrey Borzenkov <arvidjaar@gmail.com>

	* conf/Makefile.common: Fix autogen rules to pass definition
	files on stdin; Makefile.util.am needs Makefile.utilgcry.def

2013-01-20  Leif Lindholm  <leif.lindholm@arm.com>

	* include/grub/elf.h: Update ARM definitions based on binutils.

2013-01-20  Aleš Nesrsta  <starous@volny.cz>

	Split long USB transfers into short ones.

2013-01-20  Andrey Borzenkov <arvidjaar@gmail.com>

	* docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
	is interrupted by ESC.

2013-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-script-check.c (main): Uniform the error message.

2013-01-20  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from ELF iterators.

2013-01-20  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from device iterators.

	* include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
	(grub_arc_iterate_devs): Add hook_data argument.
	* include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
	(struct grub_ata_dev.iterate): Add hook_data argument.
	* include/grub/device.h (grub_device_iterate_hook_t): New type.
	(grub_device_iterate): Add hook_data argument.
	* include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
	(struct grub_disk_dev.iterate): Add hook_data argument.
	(grub_disk_dev_iterate): Likewise.
	* include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
	Likewise.
	* include/grub/msdos_partition.h (grub_partition_msdos_iterate):
	Likewise.
	* include/grub/partition.h (grub_partition_iterate_hook_t): New
	type.
	(struct grub_partition_map.iterate): Add hook_data argument.
	(grub_partition_iterate): Likewise.
	* include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
	(struct grub_scsi_dev.iterate): Add hook_data argument.

	Update all callers.

2013-01-20  Colin Watson  <cjwatson@ubuntu.com>

	Fix typos for "developer" and "development".

2013-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Add license header to spkmodem-recv.c.

2013-01-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Rewrite spkmodem to use PIT for timing. Double the speed.

2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Add new command pcidump.

2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>

	New terminal outputs using serial: morse and spkmodem.

2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve bidi handling in entry editor.

2013-01-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
	argument to prevent name collision.

2013-01-15  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from script reading and parsing.

	* grub-core/kern/parser.c (grub_parser_split_cmdline): Add
	getline_data argument, passed to getline.
	* grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
	getline_data argument, passed to grub_parser_split_cmdline.
	* grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
	lexerstate->getline_data to lexerstate->getline.
	(grub_script_lexer_init): Add getline_data argument, saved in
	lexerstate->getline_data.
	* grub-core/script/main.c (grub_normal_parse_line): Add getline_data
	argument, passed to grub_script_parse.
	* grub-core/script/script.c (grub_script_parse): Add getline_data
	argument, passed to grub_script_lexer_init.
	* include/grub/parser.h (grub_parser_split_cmdline): Update
	prototype.  Update all callers to pass appropriate getline data.
	(struct grub_parser.parse_line): Likewise.
	(grub_rescue_parse_line): Likewise.
	* include/grub/reader.h (grub_reader_getline_t): Add void *
	argument.
	* include/grub/script_sh.h (struct grub_lexer_param): Add
	getline_data member.
	(grub_script_parse): Update prototype.  Update all callers to pass
	appropriate getline data.
	(grub_script_lexer_init): Likewise.
	(grub_normal_parse_line): Likewise.

	* grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
	data argument.
	* grub-core/kern/parser.c (grub_parser_execute: getline): Make
	static instead of nested.  Rename to ...
	(grub_parser_execute_getline): ... this.
	* grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
	data argument.
	* grub-core/normal/main.c (read_config_file: getline): Make static
	instead of nested.  Rename to ...
	(read_config_file_getline): ... this.
	(grub_normal_read_line): Add unused data argument.
	* grub-core/script/execute.c (grub_script_execute_sourcecode:
	getline): Make static instead of nested.  Rename to ...
	(grub_script_execute_sourcecode_getline): ... this.
	* util/grub-script-check.c (main: get_config_line): Make static
	instead of nested.

2013-01-15  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from memory map iterators.

	* grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
	argument, passed to hook.
	* grub-core/kern/i386/coreboot/mmap.c
	(grub_linuxbios_table_iterate): Likewise.
	(grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
	instead of nested.
	(grub_machine_mmap_iterate): Add hook_data argument.
	* grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
	Add hook_data argument, passed to hook.
	* grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
	Likewise.
	* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
	Likewise.
	* grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
	Likewise.
	* grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
	Likewise.
	* grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
	Likewise.
	* grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
	Likewise.
	* grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
	(grub_machine_mmap_iterate): Likewise.
	* grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
	* include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
	prototype.
	* include/grub/memory.h (grub_memory_hook_t): Add data argument.
	Remove NESTED_FUNC_ATTR from here and from all users.
	(grub_mmap_iterate): Update prototype.
	(grub_efi_mmap_iterate): Update prototype.  Update all callers to
	pass appropriate hook data.
	(grub_machine_mmap_iterate): Likewise.

	* grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
	static instead of nested.
	* grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
	Rename to ...
	(lsmmap_hook): ... this.
	* grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
	Likewise.
	(grub_efiemu_mmap_fill: fill_hook): Likewise.
	* grub-core/kern/i386/coreboot/init.c (grub_machine_init:
	heap_init): Likewise.
	* grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
	Rename to ...
	(mmap_iterate_hook): ... this.
	* grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
	Likewise.
	* grub-core/lib/ieee1275/relocator.c
	(grub_relocator_firmware_get_max_events: count): Likewise.
	(grub_relocator_firmware_fill_events: fill): Likewise.  Rename
	to ...
	(grub_relocator_firmware_fill_events_iter): ... this.
	* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
	hook): Likewise.  Rename to ...
	(grub_relocator_alloc_chunk_align_iter): ... this.
	* grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
	Rename to ...
	(generate_e820_mmap_iter): ... this.
	* grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
	Rename to ...
	(count_hook): ... this.
	(grub_linux_boot: hook): Likewise.  Rename to ...
	(grub_linux_boot_mmap_find): ... this.
	(grub_linux_boot: hook_fill): Likewise.  Rename to ...
	(grub_linux_boot_mmap_fill): ... this.
	* grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
	hook): Likewise.  Rename to ...
	(grub_fill_multiboot_mmap_iter): ... this.
	* grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
	hook): Likewise.  Rename to ...
	(count_hook): ... this.
	* grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
	hook): Likewise.  Rename to ...
	(grub_fill_multiboot_mmap_iter): ... this.
	* grub-core/loader/powerpc/ieee1275/linux.c
	(grub_linux_claimmap_iterate: alloc_mem): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
	Likewise.  Rename to ...
	(alloc_phys_choose): ... this.
	(determine_phys_base: get_physbase): Likewise.
	* grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
	find_hook): Likewise.
	* grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
	(malloc_hook: count_hook): Likewise.
	* grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
	Likewise.  Rename to ...
	(lower_hook): ... this.
	(grub_mmap_get_upper: hook): Likewise.  Rename to ...
	(upper_hook): ... this.
	(grub_mmap_get_post64: hook): Likewise.  Rename to ...
	(post64_hook): ... this.
	* grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
	Likewise.  Rename to ...
	(lower_hook): ... this.
	(grub_mmap_get_upper: hook): Likewise.  Rename to ...
	(upper_hook): ... this.
	* grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
	(grub_mmap_iterate: fill_hook): Likewise.
	(fill_mask): Pass addr and mask within a single struct.
	(grub_cmd_badram: hook): Make static instead of nested.  Rename
	to ...
	(badram_iter): ... this.
	(grub_cmd_cutmem: hook): Likewise.  Rename to ...
	(cutmem_iter): ... this.

2013-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
	delimit path in strings using quotes.
	* util/getroot.c (grub_guess_root_devices): Likewise.
	(grub_make_system_path_relative_to_its_root): Likewise.
	* util/grub-probe.c (probe): Likewise.
	* util/ieee1275/ofpath.c (find_obppath): Likewise.
	(xrealpath): Likewise.

2013-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix compilation with older compilers.

	* grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
	declarations.
	* grub-core/lib/posix_wrap/string.h: Include sys/types.h.
	* grub-core/lib/posix_wrap/sys/types.h: Add common types.
	* grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
	identifier with b.
	* grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
	* include/grub/crypto.h: Add type defines.
	* util/import_gcrypth.sed: Remove duplicate type defines.

2013-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	New command list_trusted.

	* grub-core/commands/verify.c (grub_cmd_list): New function.

2013-01-13  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkimage.c (generate_image): Fix "size of public key"
	info message.

2013-01-13  Colin Watson  <cjwatson@ubuntu.com>

	Remove nested functions from PCI iterators.

	* grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
	passed to hook.  Update all callers to pass appropriate hook data.
	* grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
	* include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
	Remove NESTED_FUNC_ATTR from here and from all users.
	(grub_pci_iterate): Update prototype.
	* grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
	instead of nested.  Rename to ...
	(grub_cs5536_find_iter): ... this.
	* grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
	* grub-core/kern/mips/loongson/init.c (init_pci: set_card):
	Likewise.
	* grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
	Likewise.
	* grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
	Likewise.
	* grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
	Likewise.
	* grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
	* grub-core/video/radeon_fuloong2e.c
	(grub_video_radeon_fuloong2e_setup: find_card): Likewise.
	* grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
	find_card): Likewise.
	* grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
	Likewise.

2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/verify.c: Mark messages for translating.

2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
	fatal.

2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
	fatal.

2013-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* autogen.sh: Do not try to delete nonexistant files.
	* util/import_gcrypth.sed: Add some missing header removals.

2013-01-12  Colin Watson  <cjwatson@ubuntu.com>

	Clean up dangling references to grub-setup.
	Fixes Ubuntu bug #1082045.

	* docs/grub.texi (Images): Refer generally to grub-install rather
	than directly to grub-setup.
	(Installing GRUB using grub-install): Remove direct reference to
	grub-setup.
	(Device map) Likewise.
	(Invoking grub-install): Likewise.
	* docs/man/grub-install.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
	* util/grub-install.in (usage): Likewise.

	* util/bash-completion.d/grub-completion.bash.in (_grub_setup):
	Apply to grub-bios-setup and grub-sparc64-setup rather than to
	grub-setup.
	* configure.ac: Remove grub_setup output variable.

	* docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
	to grub-bios-setup.
	* docs/man/grub-sparc64-setup.h2m (NAME): Change name from
	grub-setup to grub-sparc64-setup.

2013-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Import gcrypt public-key cryptography and implement signature checking.

2013-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c: Ue more appropriate types.
	* grub-core/fs/ntfscomp.c: Likewise.
	* include/grub/ntfs.h: Likewise.

2013-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Support Apple FAT binaries on non-Apple platforms.

	* include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
	* include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
	Likewise.
	* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
	Apple FAT binaries.

2013-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
	sector devices.

2013-01-07  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
	explicitly zeroing elements.
	* grub-core/io/gzio.c (grub_gzio_open): Likewise.
	* grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
	of elements in a structure already allocated using grub_zalloc.
	* grub-core/io/xzio.c (grub_xzio_open): Likewise.

2013-01-07  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (grub_cpu): New subsection.
	(grub_platform): Likewise.

2013-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.

2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
	divisions.

2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
	* grub-core/fs/ntfscomp.c: Likewise.
	* include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
	(grub_ntfs_comp): Likewise.

2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
	Rename to ...
	(grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
	of groups_per_block. All users updated.

2013-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
	grub_error properly.
	* grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
	* grub-core/disk/loopback.c (grub_loopback_write): Likewise.

2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
	always in /boot/zfs.
	Reported by: Yuta Satoh.

2013-01-03  Yuta Satoh  <nigoro>

	* util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
	${grub_probe}

2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Extend -Wno-trampolines to host.

2013-01-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
	entry->len = 0.

2013-01-03  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Invoking grub-mkrelpath): New section.
	(Invoking grub-script-check): Likewise.

2013-01-03  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Invoking grub-mount): New section.
	Reported by: Filipus Klutiero.  Fixes Debian bug #666427.

2013-01-02  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
	test failures, so that a failing unit test correctly causes 'make
	check' to fail.

2013-01-02  Colin Watson  <cjwatson@ubuntu.com>

	Fix failing printf test.

	* grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
	'$' in the correct order when collecting type information.

2013-01-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (configfile): Explain environment variable
	handling.
	(source): New section.
	Reported by: Arbiel Perlacremaz.  Fixes Savannah bug #35564.

2012-12-31  Colin Watson  <cjwatson@ubuntu.com>

	Remove several trivially-unnecessary uses of nested functions.

	* grub-core/commands/i386/pc/sendkey.c
	(grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
	instead of nested.
	* grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
	Rename to ...
	(legacy_file_getline): ... this.
	* grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
	Likewise.
	* grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
	* grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise.  Rename
	to ...
	(probe_dummy_iter): ... this.
	* grub-core/kern/i386/coreboot/mmap.c
	(grub_linuxbios_table_iterate: check_signature): Likewise.
	* grub-core/kern/parser.c (grub_parser_split_cmdline:
	check_varstate): Likewise.  Mark inline.
	* grub-core/lib/arg.c (find_short: fnd_short): Likewise.  Pass
	an additional parameter.
	(find_long: fnd_long): Likewise.  Pass two additional parameters.
	* grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
	* grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
	* grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
	Likewise.  Rename to ...
	(grub_cmos_find_port_iter): ... this.
	* grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
	Rename to ...
	(find_rtc_iter): ... this.

	* grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
	function directly into the function body, since it is only called
	once.

2012-12-30  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
	__attribute__ ((unused)).
	* grub-core/video/bochs.c (find_card): Likewise.
	* grub-core/video/cirrus.c (find_card): Likewise.
	* grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
	* grub-core/video/sis315pro.c (find_card): Likewise.
	* grub-core/video/sm712.c (find_card): Likewise.

2012-12-28  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
	Fixes Savannah bug #37821.

2012-12-28  Colin Watson  <cjwatson@ubuntu.com>

	Apply program name transformations at build-time rather than at
	run-time.  Fixes Debian bug #696465.

	* acinclude.m4 (grub_TRANSFORM): New macro.
	* configure.ac: Create output variables with transformed names for
	most programs.
	* util/bash-completion.d/grub-completion.bash.in: Use
	pre-transformed variables for program names.
	* util/grub-install.in: Likewise.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
	* tests/util/grub-shell-tester.in: Remove unused assignment.
	* tests/util/grub-shell.in: Likewise.
	* util/grub.d/00_header.in: Likewise.

2012-12-28  Colin Watson  <cjwatson@ubuntu.com>

	Backport gnulib fixes for C11.  Fixes Savannah bug #37738.

	* grub-core/gnulib/stdio.in.h (gets): Warn on use only if
	HAVE_RAW_DECL_GETS.
	* m4/stdio_h.m4 (gl_STDIO_H): Check for gets.

2012-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
	Reported by: Eriks Latosheks <foresterlv>.

2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Network): Update instructions on generating netboot
	image.

2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
	around device name if necessarry.

2012-12-10  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>

	* util/grub-install.in: Follow the symbolic link parameter added
	to the file command.

2012-12-10  Andrey Borzenkov <arvidjaar@gmail.com>

	* util/grub-install.in: Remove stale TODO.

2012-12-10  Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>

	* grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
	dynamic allocation for the bootpath buffer.

2012-12-10  Dr. Tilmann Bubeck <t.bubeck@reinform.de>

	* grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
	window too small.

2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
	argument rather than font name. All users updated.
	(grub_gfxterm_set_window): Likewise.

2012-12-10  Vladimir Testov  <vladimir.testov@rosalab.ru>

	* util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
	from working.

2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (convert_system_partition_to_system_disk): Support
	nbd disks.

2012-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
	infinite loop on corrupted FS.

2012-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix big-endian mtime.

	* grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
	together sec and usec.
	(grub_ufs_dir): Use correct byteswapping for UFS time.

2012-12-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Support big-endian UFS1.

	* Makefile.util.def (libgrubmods): Add ufs_be.c
	* grub-core/Makefile.core.def (ufs1_be): New module.
	* grub-core/fs/ufs_be.c: New file.
	* grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
	the file.

2012-11-28  Leif Lindholm  <leif.lindholm@arm.com>

        * include/grub/types.h: Fix functionality unaffecting typo in
        GRUB_TARGET_WORDSIZE conditional macro.

2012-11-28  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.

2012-10-28  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub.d/10_netbsd.in: Fix tab indentation and make sure
	that /netbsd appears first (when it exists).

2012-10-12  Christoph Junghans  <ottxor@gentoo.org>

	* grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
	Fixes Savannah bug #37558.

2012-10-12  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
	description of extract_entries_configfile.

2012-10-05  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
	preferred_address.
	(grub_cmd_linux): Likewise.
	* grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
	preferred_lifetime.  Update all users.

2012-09-26  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
	Reported by: Daniel Kahn Gillmor.  Fixes Debian bug #688799.

2012-09-26  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
	errors from grub-probe to /dev/null, not stdout.

2012-09-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
	sector 1.

2012-09-24  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Make the error message if $source_dir
	doesn't exist more useful.

2012-09-22  Colin Watson  <cjwatson@ubuntu.com>

	Fix grub-emu build on FreeBSD.

	* Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
	* grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
	headers on Linux.
	(GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
	implementation is currently Linux-specific.
	* util/getroot.c (exec_pipe): Define only on Linux or when either
	libzfs or libnvpair is unavailable.
	(find_root_devices_from_poolname): Remove unused path variable.

2012-09-19  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
	incorrect off-by-one fix from 2011-02-12.  A 62-sector core image
	should fit before end == 63.

2012-09-19  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-setup.c (write_rootdev): Remove unused core_img
	parameter.  Update all callers.
	(setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
	'gcc -Wunused-but-set-variable'.  Remove unnecessary nested #ifdef
	GRUB_SETUP_BIOS.

2012-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (grub_tab): New variable.
	(grub_add_tab): New function.
	* util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
	* util/grub.d/10_illumos.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/10_xnu.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.

2012-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
	* grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
	ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
	* grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
	ieee1275-nocursor.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
	GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.

2012-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
	le-conversion.
	Reported by: BURETTE, Bernard.

2012-09-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
	from comment.

2012-09-14  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/term/terminfo.c: Only fix up powerpc key repeat on
	IEEE1275 machines.  Fixes powerpc-emu compilation.
	* include/grub/terminfo.h: Likewise.

2012-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
	a const pointer.
	* grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
	const pointer.
	(efiemu_set_variable): Make vendor_guid a const pointer.

2012-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't require grub-mkconfig_lib to generate manpages for programs.

	* gentpl.py (manpage): Additional argument adddeps. Add adddeps to
	dependencies, don't add grub-mkconfig_lib.
	(program): Pass empty adddeps.
	(script): Pass grub-mkconfig_lib as adddeps.

2012-09-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
	* util/getroot.c (grub_find_device): Likewise.
	(get_mdadm_uuid): Likewise.
	(grub_util_is_imsm): Likewise.
	(grub_util_pull_device): Likewise.
	* util/grub-probe.c (probe): Likewise.

2012-09-10  Benoit Gschwind <gschwind>

	* grub-core/loader/efi/appleloader.c (devpath_8): New var.
	(devs): Add devpath_8.

2012-09-08  Peter Jones <pjones@redhat.com>

	* grub-core/Makefile.core.def (efifwsetup): New module.
	* grub-core/commands/efi/efifwsetup.c: New file.
	* grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
	* include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
	New define.
	* include/grub/efi/efi.h (grub_efi_set_variable): New proto.

2012-09-05  Jiri Slaby <jslaby@suse.cz>

	* configure.ac: Add SuSe path.

2012-09-05  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: Fix typo.

2012-09-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/import_gcry.py: Sort cipher_files, to make build system
	generation more deterministic.

2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
	* grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
	(grub_set_datetime): Likewise.

2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/yylex.l: Ignore unused-function and sign-compare
	warnings.

2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.

2012-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.

2012-09-04  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.am (EXTRA_DIST): Add linguas.sh.  It's only strictly
	required for checkouts from bzr, but it may be useful for users or
	distributors wishing to update translations against a tarball
	distribution, and it can be helpful for the tarball to be a superset
	of what's in bzr.

2012-09-04  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.am (EXTRA_DIST): Add
	grub-core/tests/boot/linux.init-mips.S,
	grub-core/tests/boot/linux.init-ppc.S, and
	grub-core/tests/boot/linux-ppc.cfg.

2012-09-04  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/mmap/mips/loongson: Remove empty directory.

2012-09-04  Colin Watson  <cjwatson@ubuntu.com>

	* docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
	gone.

2012-09-04  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add grub-bios-setup, grub-ofpathname, and
	grub-sparc64-setup.

2012-08-05  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* configure.ac: Strengthen the test for working -nostdinc -isystem.

2012-07-31  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* po/POTFILES.in: Regenerated.

2012-07-31  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
	(NetBSD): New subsection.

2012-07-22  Ales Nesrsta  <starous@volny.cz>

	* grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
	* grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.

2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
	* util/grub.d/10_hurd.in: Add missing quoting.
	* util/grub.d/10_illumos.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.

2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>

	New command `lsefi'.

	* grub-core/Makefile.core.def (lsefi): New module.
	* grub-core/commands/efi/lsefi.c: New file.
	* include/grub/efi/api.h: Add more GUIDs.

2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
	(grub_bsd_elf32_hook): Likewise.
	(grub_bsd_elf64_size_hook): Likewise.
	(grub_bsd_elf64_hook): Likewise.
	(grub_bsd_load_elf): Likewise.

2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
	if hash function is unavailable.
	(dec_stream_header): Likewise.

2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/autofs.c (autoload_fs_module): Save and restore
	filter state.

2012-07-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix coreboot compilation.

	* grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
	(grub_vga_text_init_real): ... this.
	(grub_vga_text_fini): Rename to ...
	(grub_vga_text_fini_real): ... this.

2012-07-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/legacy_parse.c: Support clear and testload.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/efi/serial.c: Support 1.5 stop bits.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c: Experimental support for 64-bit.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/tftp.c (ack): Fix endianness problem.
	(tftp_receive): Likewise.
	Reported by: Michael Davidsaver.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Make mans depend on grub-mkconfig_lib.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
	* include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
	* grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.

2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
	efi_mmap_size.
	Reported by: Stuart Hayes.

2012-06-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Add monochrome text support (mda_text, aka `hercules' in grub-legacy).

	* grub-core/Makefile.core.def (mda_text): New module.
	* grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
	* grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
	* grub-core/term/i386/pc/vga_text.c (cur_color): ... here
	* grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
	here.
	* grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
	* grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
	* grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
	here.
	* grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
	to ..
	* grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
	... here
	* grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
	here.
	* grub-core/term/i386/vga_common.c: Removed.
	* include/grub/i386/vga_common.h: Likewise.
	* include/grub/vga.h (grub_vga_cr_bw_write): New function.
	(grub_vga_cr_bw_read): Likewise.
	* include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
	(GRUB_VGA_IO_CR_BW_DATA): Likewise.
	* grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
	grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
	grub_vga_cr_read/grub_vga_cr_write.
	(grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.

2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump version to 2.00.
	* grub-core/normal/main.c (features): Add feature_200_final.

2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>
2012-06-27  Jordan Uggla  <jordan.uggla@gmail.com>

	* NEWS: Fix unclarity and language mistakes.

2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
	additional size to 3 pages.
	Reported by: Stuart Hayes.

2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* NEWS: Add 2.00 entry.

2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (check_file): Fix bad logic.
	put explicit "/" for empty path.
	(wildcard_expand): Improve dprintf.

2012-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
	it's equal to currnode. This can happen with "" symlink.

2012-06-27  Yves Blusseau <blusseau@zetam.org>

	* util/grub-mkconfig_lib.in: Fix print messages replacing builtin
	echo shell command by printf command.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/arc/console.c (grub_console_init_output): Add one since
	the value returned by firmware is the maximal position, not diumension.
	(grub_terminfo_output_state): Use a more sane fallback.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
	frequency to 150 MHz.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Apple fixes.

	* grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
	__APPLE_
	* grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
	definition.
	* grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle slash in HFS label.

	* grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
	(grub_hfs_dir): Tanslate slash.
	(grub_hfs_label): Don't translate slash.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/ls.c (grub_ls_list_devices): Disable
	network protocol listing since it introduces problematic dependency on
	net module.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Init video early on yeeloong to avoid being rebooted by watchdog.

	* grub-core/Makefile.am (gensm712): New target.
	(sm712_start.S): Likewise.
	(boot/mips/loongson/fwstart.S): Depend on sm712_start.S
	* grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
	* grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
	description.
	* include/grub/vga.h: Move registry definitions to...
	* include/grub/vgaregs.h: ... here.

2012-06-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
	signedness.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
	platforms with firmware disk drivers in the core.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
	informative verbose message.
	(read_lv): Handle 64-bit segment size.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
	character but still remove trainling spaces.
	(grub_fat_label): Ignore archive flag.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
	cast between linux_kernel_header and linux_kernel_params.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
	type for size.
	(grub_raid6_recover_func_t): Likewise.
	* grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
	* grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.

2012-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.

2012-06-25  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Fix overflow.

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
	[__NetBSD__]: Add explicit cast before bitshift.

2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump to 2.00~rc1.

2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
	half of $a0.

2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>
2012-06-23  Jordan Uggla  <jordan.uggla@gmail.com>

	* docs/grub.texi: Fix search syntax.
	(Multi-boot manual config): Put msdos rather than GPT example.
	Grammar corrections.

2012-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
	message on double free. Put the value of magic in case of mismatch.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Speed-up video on yeeloong.

	* grub-core/video/sm712.c (framebuffer): Remove render_target and
	add cached_ptr.
	(grub_video_sm712_video_fini): Unmap cached_ptr.
	(grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
	(grub_video_sm712_set_active_render_target): Removed.
	(grub_video_adapter): Use grub_video_fb_set_active_render_target.
	(grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
	sync caches.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid flushing the same line multiple times on loongson.

	* grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
	Step in 32 bytes and not 1 byte.
	* grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
	Likewise.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
	subvolumes.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement flow control for http.

	* grub-core/net/http.c (parse_line): Handle response 206.
	(http_receive): Stall if too many packets are in the queue.
	(http_establish): Fix range header.
	(http_seek): Fix double free.
	(http_close): Likewise.
	(http_packets_pulled): New function.
	(grub_http_protocol): Set http_seek
	* grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
	(ack_real): Set window depending on i_stall.
	(grub_net_send_tcp_packet): Likewise.
	(grub_net_tcp_stall): New function.
	(grub_net_tcp_unstall): Likewise.
	* include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
	(grub_net_tcp_unstall): Likewise.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/tftp.c: Decrease stall to 50 packets.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Fix a typo.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement flow control for tftp.

	* grub-core/net/net.c (receive_packets): Decrease the stop to 10
	packets but stop only if stop condition is satisfied.
	(grub_net_fs_read_real): Call packets_pulled after real read. Use
	`stall' instead of `eof' as stop condition.
	* grub-core/net/http.c (parse_line): Set `stall' on EOF.
	(http_err): Likewise.
	* grub-core/net/tftp.c (ack): Replace the first argument with data
	instead of socket.
	(tftp_receive): Stall if too many packets are in wait queue.
	(tftp_packets_pulled): New function.
	(grub_tftp_protocol): Set packets_pulled.
	* include/grub/net.h (grub_net_packets): New field count.
	(grub_net_put_packet): Increment count.
	(grub_net_remove_packet): Likewise.
	(grub_net_app_protocol): New field `packets_pulled'.
	(grub_net): New field `stall'.

2012-06-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (receive_packets): Stop after 100 packets to let
	sync part to handle them.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
	* grub-core/net/drivers/ieee1275/ofnet.c
	(grub_ieee1275_net_config_real): Likewise.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
	the direct route for server/gateway.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
	IP address to server name since we may not hame the DNS.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
	freeing random buffer on failure.
	* grub-core/net/net.c (grub_net_resolve_address): Likewise.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
	reserved bytes.
	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
	* grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
	Handle malloc error correctly.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
	blocks.

2012-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
	increment.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
	none is explicitly specified.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
	while reallocating.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Respect netmask from bootp/dhcp.

	* grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
	(grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
	* grub-core/net/net.c (grub_net_add_addr): Split creating local route
	into ...
	(grub_net_add_ipv4_local): ... this.
	(grub_cmd_addaddr): Use grub_net_add_ipv4_local.
	* include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
	(grub_net_add_ipv4_local): New proto.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
	determining EFI memory map size.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
	when looking for partition separator.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
	Escape commas.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Restructure FAT driver to avoid hook in label reading as it hits a
	GCC bug.

	* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
	* grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
	(grub_fat_iterate_dir): Split into ...
	(grub_fat_iterate_init): ... this, ...
	(grub_fat_iterate_fini): ... this, ...
	(grub_fat_iterate_dir_next): ... and this. All users updated.

2012-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
	GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
	* include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
	New fields last_key and last_key_time.
	* grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
	extended key-esc into extended key-extended key.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid unnecessary memcpy of whole video buffer.

	* grub-core/video/fb/video_fb.c (dirty): New struct.
	(framebuffer): Add members current_dirty and previous_dirty.
	(dirty): New function.
	(grub_video_fb_fill_rect): Update dirty.
	(common_blitter): Likewise.
	(grub_video_fb_scroll): Likewise.
	(doublebuf_blit_update_screen): Copy only dirty part.
	(doublebuf_pageflipping_update_screen): Likewise.
	(grub_video_fb_doublebuf_blit_init): Init dirty.
	(doublebuf_pageflipping_init): Likewise.
	(grub_video_fb_setup): Likewise.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
	poll rate.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix wildcard regexp dot and other special characters handling.
	Reported by: Robert Mabee.

	* grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
	(make_regex): Escape "|+{}[]". Transform '?' to '.?'.
	(split_path): Trigger expansion on '?'.
	(unescape): New function.
	(wildcard_expand): Unescape parts copied without globbing.
	* grub-core/script/execute.c (wildcard_escape): Escape '?'.
	(grub_script_arglist_to_argv): Don't unescape expansions.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/net.h (grub_net_card): New member txbufsize.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
	* grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
	txbufsize.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
	compatible property to check for macs. Set
	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
	* grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
	if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
	(send_card_buffer): Use txbuf.
	(grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
	nested function out of the parent while on it.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
	presence check.
	(grub_ieee1275_net_config_real): Fix config pointer.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
	filename parsing to non-block devices.

2012-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/device.c (grub_device_open): Remove dead code.

2012-06-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
	All users updated.

2012-06-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
	UUID search command even if hints probing failed.

2012-06-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerated.

2012-06-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Speed-up video on fuloong.

	* grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
	New function.
	(grub_pci_device_unmap_range): Handle non-cached address.
	* grub-core/video/sis315pro.c (framebuffer): Remove render_target and
	add direct_ptr.
	(grub_video_sis315pro_video_fini): Unmap direct_ptr.
	(grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
	(grub_video_sis315pro_set_active_render_target): Removed.
	(grub_video_sis315pro_get_info_and_fini): Use uncached address.
	(grub_video_adapter): Use grub_video_fb_set_active_render_target.
	(grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
	sync caches.
	* include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
	New proto.

2012-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Multi-boot manual config): New section.

2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid slow read-back from VRAM.

	* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
	Move from here ...
	* grub-core/video/fb/video_fb.c
	(grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
	* grub-core/video/fb/video_fb.c (framebuf_t): New type.
	(front_target): Remove front_target. Add pages.
	(grub_video_fb_init): Skip setting front_pages.
	(grub_video_fb_fini): Likewise.
	(doublebuf_blit_update_screen): Use pages.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	(doublebuf_pageflipping_init): Allocate offscreen buffer.
	(doublebuf_pageflipping_update_screen): Use offscreen buffer.
	(grub_video_fb_setup): Prefer doublebuffing.

2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
	gzio.

2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Add loongson tests.

	* tests/util/grub-shell.in: Handle loongson.
	* tests/partmap_test.in: Add loongson to the list of platform using ATA
	drivers.
	* grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
	Reboot instead of shutdown if REBOOT is defined.

2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
	sized ports since unlike on real hardware qemu supports only 32-bit
	regs.

2012-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-mkrescue): Enable on loongson.
	* util/grub-mkrescue.in: Handle loongson.

2012-06-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
	Set is_part appropriately.
	(grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
	names. Canonicalize partition without full disk.

2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Revert usb-quiesce since it's wrong.

	* grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
	(grub_ofdisk_init): Don't do quiesce.

2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
	PowerMac workaround to Xserves as well.
	Information supplied by: Benjamin Herrenschmidt.

2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't assume that beginning address is also the entry point on ppc.

	* grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
	(grub_linux_boot): Use linux_entry.
	(grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
	(grub_linux_load64): Likewise.

2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix cross-disk check on non-PreP machines.

2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/console.c (grub_console_fini): Don't
	needlessly lose the console.

2012-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/dyncmd.c (read_command_list): Don't access freed
	space.

2012-06-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove non-functional EFI grub_get_rtc. Put a better fatal message
	than current grub_get_rtc() not implemented when booted with
	coreboot without TSC.

	* grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
	Add machine/time.h to kernel headers on loongson.
	* grub-core/Makefile.core.def (kernel): Remove
	kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
	* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
	(grub_get_rtc): Likewise.
	* grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
	* grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
	* grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
	* grub-core/kern/i386/tsc.c (grub_tsc_init)
	[!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
	rather than installing known non-working time source.
	* grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
	* grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
	* include/grub/time.h: Don't include machine/time.h.
	* include/grub/efi/time.h: Removed.
	* include/grub/i386/efi/time.h: Likewise.
	* include/grub/i386/ieee1275/time.h: Likewise.
	* include/grub/powerpc/ieee1275/time.h: Likewise.
	* include/grub/sparc64/ieee1275/time.h: Likewise.
	* include/grub/x86_64/efi/time.h: Likewise.

2012-06-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove dot on i and j when combining with above diacritics.

	* include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
	value.
	(GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
	* grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
	with dotless variants when any combining above is present.

2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_script_expansion.in: Explicitly tell grep that we handle
	text and not binary.

2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Stop polling as soon as we have the packet we were waiting for.

	* include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
	All users updated.
	* grub-core/net/arp.c (have_pending): New var.
	(pending_req): Likewise.
	(grub_net_arp_send_request): Fill pending_req and use have_pending as
	stop indicator.
	(grub_net_arp_receive): Set have_pending.
	* grub-core/net/dns.c (recv_data): New field stop.
	(recv_hook): Set stop.
	(grub_net_dns_lookup): Init stop and use as stop condition.
	* grub-core/net/http.c (http_establish): Use headers_recv as stop
	condition.
	* grub-core/net/net.c (grub_net_poll_cards): New argument
	stop_condition. Stop when it goes true.
	* grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
	indicator.
	* grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.

2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Keep TX and RX buffers on EFI rather than always allocate new ones.

	* include/grub/net.h (grub_net_card_driver): Allow driver to modify
	card. All users updated.
	(grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
	* grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
	(get_card_packet): Likewise.
	(grub_efinet_findcards): Init new fields.

2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
	compilation error on sparc64.

2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Use ITC on IA64 rather than broken routine based on daytime.

	* grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
	ia64.
	(grub_get_rtc) [__ia64__]: Likewise.
	* grub-core/kern/ia64/efi/init.c (divisor): New variable.
	(get_itc): New function.
	(grub_rtc_get_time_ms): Likewise.
	(grub_machine_init): Calibrate ITC.
	* include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
	Keep only on non-ia64. Don't export since it's broken and used only
	if TSC is unavailable.

2012-06-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
	even if it's used.
	(name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
	Skip if parent is unused.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/partmap_test.in: Skip on ppc due to serious firmware bug.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix wildcard escaping.

	* grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
	* grub-core/script/execute.c (wildcard_escape): .. to here.
	Don't escape dot.
	* grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
	* grub-core/script/execute.c (wildcard_unescape): .. to here.
	Don't escape dot.
	* grub-core/script/execute.c (gettext_append): Always escape.
	(grub_script_arglist_to_argv): Always handle escaping/unescaping.
	* grub-core/script/yylex.l: Don't cut away the escaping.
	* tests/grub_script_echo1.in: Add tests with wildcard.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
	(ftdi_hw_configure): Likewise.
	* grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
	define.
	(real_config): Handle 1.5 stop bits.
	(pl2303_hw_configure): Likewise.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am: Add ppc linux bootcheck.
	* grub-core/tests/boot/linux-ppc.cfg: New file.
	* grub-core/tests/boot/linux.init-ppc.S: Likewise.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/grub_script_expansion.in: Skip network protocols.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Use escc-ch-a port on ppc.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
	--rom-directory.
	Add -graft-points.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	ESCC serial driver for conducting sautomated tests in qemu.
	Not tested on real hardware.

	* include/grub/serial.h (grub_serial_port): New field escc_desc.
	* grub-core/term/ieee1275/escc.c: New file.
	* grub-core/Makefile.core.def (escc): New module.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
	invalid on error.
	(serial_hw_fetch): Don't read invalid handle.
	(serial_hw_put): Don't write into invalid handle.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Add a 1.5 stop bits value.

	* grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
	* include/grub/serial.h (grub_serial_stop_bits_t): Add
	GRUB_SERIAL_STOP_BITS_1_5.

2012-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (wildcard_expand): Set default return
	value rather than let it uninited.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (+check_file): New function.
	(wildcard_expand): Don't expand to non-existing files, expand with
	suffix and not attempt to expand if not needed.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
	out of partitions containing other partitions.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
	on some qemu versions with GRUB.

	* include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
	define.
	(grub_openbsd_bootarg_pcibios): New struct.
	* grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
	Add PCIINFO.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Trim firmware output on EFI.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (vga_text): Disable on muliboot
	and coreboot since it's already in kernel.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
	* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
	to here. New return value start. All users updated.
	Recursively scan linear mappings.
	* include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
	proto.
	* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
	Use grub_util_get_dm_node_linear_info.
	* util/getroot.c (convert_system_partition_to_system_disk): Use
	grub_util_info rather than grub_dprintf.
	(grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.

	* Makefile.am: Remove GRUB_QEMU_OPTS handling.
	* tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.

2012-06-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/types.h (grub_set_unaligned64): New function.
	* util/grub-setup.c (write_rootdev): Use unaligned access functions.
	(setup): Likewise.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
	(grub_ofdisk_fini): Quiesce USB devices.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
	caches.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/pata.c (grub_pata_pio_read)
	[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
	(grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Extend automated tests to qemu-mips.

	* Makefile.am: reorganise tests and enable qemu-mips.
	* configure.ac (COND_mipseb), (COND_mipsel): New conditions.
	* grub-core/tests/boot/linux.init-mips.S: New file.
	* tests/partmap_test.in: Handle ata0 disks.
	* tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
	non-pc i386.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
	ia64.
	* util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
	quotes while on it.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
	(grub_halt): Likewise.
	* grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/serial.c (grub_serial_register)
	[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
	the behaviour in line with x86 platforms.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
	(grub_ata_strncpy): Likewise.
	(grub_ata_identify): Add missing byteswaps.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
	byte-swap.
	(screen_read_char): Likewise.
	(grub_vga_text_cls): Likewise.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
	filenames.
	(make_file_path): Likewise.

2012-06-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
	machines.
	Tested by: Paulo Flabiano Smorigo.
	Crucial information about API supplied by: Coleen <Last name unknown>.
	Reviewed by: Coleen <Last name unknown>.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c: Disable -Wcast-align.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
	as they are fatal.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-probe.c (escape_of_path): Fix double free.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videoinfo.c (hook): Show pitch.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Skip xen-syms.

2012-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-probe.c (escape_of_path): Don't add ieee1275/.
	(probe): Add ieee1275 to OFW devices.

2012-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.

2012-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle IBM OFW path.

	* util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
	available.
	(of_path_of_scsi): Handle vdevice.

2012-06-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/mmap/i386/pc/mmap.c (malloc_hook):
	Allocate in multiples of 16 to avoid adding a few bytes free region the
	windows bugs upon.

2012-06-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
	Allocate in multiples of 16 to avoid adding a few bytes free region the
	windows bugs upon.
	* grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.

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

	* grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
	resolutions.
	* grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
	* grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.

2012-06-02  Isao Shimizu  <isaoshimizu@gmail.com>

	* util/ieee1275/ofpath.c (check_sas): Fix sas path.

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

	* grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
	resulted in \\ at the end of the line.

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

	* grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
	(grub_parser_cmdline_state): Likewise.
	(grub_parser_split_cmdline): Likewise.

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

	* util/getroot.c (grub_guess_root_devices): Don't canonicalise
	/dev/root and /dev/dm-*.

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

	* grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
	fix partially stale display.

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

	* grub-core/normal/menu_entry.c (backward_char): Use right line for
	substraction.

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

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
	Fix MBR remapping workaround.
	(grub_util_biosdisk_read) [__linux__]: Likewise.

2012-06-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Check for ieee1275 and not ieee1276.

2012-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump to beta6.

2012-05-31  Christer Weinigel <christer@weinigel.se>

	* grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.

2012-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
	(grub_cmd_linux): Likewise.

2012-05-31  Christer Weinigel <christer@weinigel.se>

	Fix EHCI low-speed.

	* grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
	(GRUB_EHCI_MULT_TWO): Likewise.
	(GRUB_EHCI_MULT_THREE): Likewise.
	(GRUB_EHCI_CMASK_MASK): New enum value.
	(GRUB_EHCI_SMASK_MASK): Likewise.
	(GRUB_EHCI_CMASK_OFF): Likewise.
	(GRUB_EHCI_SMASK_OFF): Likewise.
	(grub_ehci_pci_iter): Enable periodic schedule.
	(grub_ehci_parse_notrun): Likewise.
	(grub_ehci_restore_hw): Likewise.
	(grub_ehci_setup_qh): Set flags for low speed transfers.
	(grub_ehci_find_qh): Use periodic list for low speed.
	(grub_ehci_setup_transfer): Check periodic queue as well.
	(grub_ehci_check_transfer): Likewise.
	(grub_ehci_cancel_transfer): Cancel periodic transfer.

2012-05-31  Paulo Flabiano Smorigo  <pfsmorigo@br.ibm.com>

	* util/grub-install.in: Write core.elf in PReP even if the --no-nvram
	parameter is used.

2012-05-31  Peter Jones <pjones@redhat.com>

	* include/grub/i386/linux.h (linux_kernel_params): Add v206.
	* grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
	(grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.

2012-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
	uninited variable. Allocate at least setup_sects.

2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of EFI with big memory maps.

	* grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
	(real_mode_mem): Likewise.
	(real_mode_target): Likewise.
	(real_mode_pages): Likewise.
	(prot_mode_pages): Likewise.
	(linux_params): New var.
	(linux_cmdline): Likewise.
	(free_pages): Don't set real mode variables.
	(allocate_pages): Don't allocate real mode memory.
	(grub_e820_add_region): Remove the limit.
	(grub_linux_boot): Allocate and copy real mode memory.
	(grub_linux_unload): Free linux_cmdline.
	(grub_cmd_linux): Use temporary storage for parameters.
	(grub_cmd_initrd): Likewise.
	* include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
	(linux_kernel_params): Make it 1K big.

2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def: Remove -Wno-format.
	* grub-core/Makefile.core.def: Likewise.

2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/cmp_unit_test.c: Add missing failure message.
	* tests/example_unit_test.c: Likewise.
	* tests/printf_unit_test.c: Likewise.

2012-05-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
	relaxation of protective MBR requirements.

2012-05-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add condition for COND_HOST_XNU.
	* Makefile.util.def (10_xnu): New script.
	* util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.

2012-05-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
	objconv bug.

2012-05-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
	Binary on other platforms stays identical.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
	Apple.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
	rather than defining size_t ourselves to avoid conflict.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
	initialisation to avoid __bzero reference.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
	version.
	* grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
	* grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
	* grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
	* grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
	* grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
	* grub-core/kern/misc.c: Likewise.
	* grub-core/loader/i386/xnu.c: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/symbol.h: Likewise.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/list.h (grub_bad_type_cast_real): Remove return.
	* include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
	on older compiler.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
	Implement Apple flavour.
	(convert_system_partition_to_system_disk) [__APPLE__]: Likewise.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
	(memmove) [__APPLE__]: Likewise.
	(memcpy) [__APPLE__]: Likewise.
	(memset) [__APPLE__]: Likewise.
	* grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
	(memmove) [__APPLE__]: Likewise.
	(memcpy) [__APPLE__]: Likewise.
	(memset) [__APPLE__]: Likewise.

2012-05-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmod.sh.in: Fix a bug in Apple part which caused
	dependency discard.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c (read_config_file): Provide config_file and
	config_directory.
	* util/grub.d/41_custom.in: Use config_directoy when available.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
	(grub_bfs_dir): Likewise.

2012-05-27  Peter Jones <pjones@redhat.com>

	The old code gives arguments to a printf function which can't work
	correctly, and the compiler complains.

	* grub-core/tests/example_functional_test.c (example_test): Add
	missing text.
	* grub-core/tests/lib/test.c (add_failure): Rewrite.
	* include/grub/test.h (grub_test_assert_helper): New declaration.
	(grub_test_assert): Use grub_test_assert_helper.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (example_functional_test): Rename to ...
	(exfctest): ... this to avoid overlong filenames.
	All users updated.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle "." and ".." on squashfs.

	* grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
	Make inode numbers into stack.
	(grub_squash_read_symlink): Use stack.
	(grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
	(make_root_node): Fill stack.
	(grub_squash_open): Use stack.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
	freeing.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (print_option_help): Properly redirect
	stderr on test calls.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (list_file): Set mtime to correct value.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
	"..".

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
	(grub_hfsplus_iterate_dir): Add "." and "..".

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cpio.c (canonicalize): Handle "..".
	(grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
	(find_path): Handle "." and "..".

2012-05-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_file): New field hardlink.
	(GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
	(grub_affs_iterate_dir): Handle hardlinks.

2012-05-26  Matthew Garrett  <mjg@redhat.com>

	* grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
	(grub_efi_console_fini): Likewise.
	* grub-core/video/efi_gop.c (framebuffer): New field offscreen.
	(grub_video_gop_fill_mode_info): Rename to ...
	(grub_video_gop_fill_real_mode_info): ... this.
	(grub_video_gop_fill_mode_info): New function.
	(grub_video_gop_setup): Setup double framebuffer.
	(grub_video_gop_get_info_and_fini): Use original framebuffer.
	Free offscreen.
	(grub_video_gop_swap_buffers): Copy framebuffer.
	(grub_video_gop_fini): Free offscreen buffer.
	* include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
	New enum.
	(grub_efi_gop_blt_pixel): New struct.

2012-05-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Remove error disabling for objconv.

2012-05-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove -Wunitialized as it's not available on older
	compilers.

2012-05-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix extent overflow comparator.

	* grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
	(grub_hfsplus_read_block): Set type.
	(grub_hfsplus_cmp_extkey): Compare type.

2012-05-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.

2012-05-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
	than 0.

2012-05-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
	(dejavu_bold_14.pf2): New target.

2012-05-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Fix djvu font detection.

2012-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
	ext* instead of ext2.

2012-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (read_terminal_list): Terminate the terminal
	name with \0.

2012-05-22  Jordan Uggla  <jordan.uggla@gmail.com>

	* docs/grub-dev.texi: Remove dot from .png.

2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
	protective entry in any slot.
	* grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
	if protective entry is found in any slot.

	Protective entry in non-first slot make no sense but is a widespread
	brain damage.

2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.

2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
	with old reiserfs.
	(grub_reiserfs_open): Don't free root.

2012-05-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
	after freeing for safety.

2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
	Reported by: Jordan Uggla.

2012-05-21  Jordan Uggla  <jordan.uggla@gmail.com>

	* docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
	actual implementation. Specifically, clarify that the grub menu will
	be displayed for GRUB_TIMOUT seconds after the hidden timeout has
	passed.

2012-05-21  Benjamin Herrenschmidt <benh@kernel.crashing.org>

	* grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
	of r0.

2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove unjustified hard dependency of normal.mod on gfxterm.

	* include/grub/term.h (grub_term_output): New member fullscreen.
	* include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
	* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
	(grub_gfxterm): Set .fullscreen.
	* grub-core/normal/menu.c (menu_init): Use fullscreen.
	* grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.

2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Internationalisation/Filesystems): Add precisions
	mentioning possible problems with non-ASCII (non-compliant) ISOs.
	Mention case-insensitive AFFS, SFS and JFS.

2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.

2012-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
	a bad FS.

2012-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
	ISO9660 names as case-insensitive, lowercase it and remove trailing dot.

2012-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
	(grub_jfs_mount): Fill caseins.
	(grub_jfs_find_file): Respect caseins.

2012-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
	through UTF-16.

2012-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
	New argument origpath. All users updated.

2012-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (read_data): Prevent overflow.
	(read_attr): Ensure that we read start of possibly compressed block.

2012-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
	(grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
	All users updated.

2012-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
	dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
	(dejavu.pf2): Replace with ...
	(dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
	this.

2012-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Add missing line.

2012-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
	(GRUB_UTF16_LOWER_SURROGATE): Likewise.
	(grub_utf16_to_utf8): Likewise.

2012-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
	GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
	GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.

2012-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
	a bad FS.

2012-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/udf.c (read_string): Bail out on size=0.
	(grub_udf_read_symlink): Handle read_string failure.

2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
	comment.

2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of UDF symlinks.

	* grub-core/fs/udf.c (read_string): New argument outbuf.
	All users updated.
	(grub_ufs_read_symlink): Rename to ...
	(grub_udf_read_symlink): ... this. All users updated.
	Handle symlinks with more than one component.

2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
	symlinks. Replace leading colon with a slash.

2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
	filename.

2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
	match in inner node.

2012-05-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
	* grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
	* grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
	* grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
	* grub-core/fs/minix.c (grub_minix_mount): Likewise.
	* grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
	* grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_mount): Likewise.

2012-05-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Use grub-probe and not cmp to check that disk is empty.

	* util/grub-install.in: Use grub-probe for zero-check.
	* util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
	(probe): Handle PRINT_ZERO_CHECK.
	(argp_parser): Handle -t zero_check.

2012-05-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Flush block cache on adding disk to device map.

	* grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
	(grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
	adding.
	(read_device_map): Likewise.
	(open_device): Flush on opening.

2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
	(handle_symlink): Fix off-by-one error.
	Canonicalize the target.
	(grub_cpio_dir): Canonicalize the name.
	Fix memory leak.
	Set directory.
	(grub_cpio_open): Canonicalize the name.

2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
	handling.

2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
	* grub-core/fs/minix.c (grub_minix_find_file): Likewise.

2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-menulst2cfg.c (main): Check return value of fwrite.
	* util/grub-mklayout.c (write_file): Likewise. New argument fname.
	All users updated.

2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
	counterpart.

2012-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix UFS1 big file support.

	* grub-core/fs/ufs.c (INODE): Removed.
	(INODE_SIZE): Always use 64-bit byte-swap since size field is always
	64-bit.
	(INODE_MODE): Simplify.
	(grub_ufs_inode): Use uint64_t for size and not int64_t.
	(grub_ufs_lookup_symlink): Don't use INODE.

2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix minixfs with non-power-of-two blocks since it's supported by minix.

	* grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
	(grub_minix_data): Replace log_block_size with block_size.
	(grub_minix_read_file): Use block_size but avoid 64-bit division.
	(grub_minix_mount): Fill block_size.

2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump to beta5.

2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix wrapped HFS+ handling.

	* grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
	blocks_start. All users updated.
	* grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
	wrapping offset.
	(grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.

2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix long symlinks on reiserfs.

	* grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
	(grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
	(grub_reiserfs_iterate_dir): Save size for non-directories.
	(grub_reiserfs_open): Don't reread stat block as we already know the
	size.
	(grub_reiserfs_read): Split into...
	(grub_reiserfs_read_real): ... and ...
	(grub_reiserfs_read): ...this.

2012-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix non-indexed JFS.

	* grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
	(grub_jfs_data): New field namecomponentlen.
	(grub_jfs_mount): Fill namecomponentlen.
	(grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.

2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/yylex.l: Ugly fix for "\\\n ".
	* tests/grub_script_echo1.in: Add tests.

2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Ignore empty devicetree directory.

2012-05-08  Bean  <bean123ch@gmail.com>

	* grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
	All users updated.
	(free_rsm): Free header as well.
	(free_old_fragments): Fix memory leak.
	* grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
	* grub-core/net/tftp.c (tftp_receive): Fix memory leak.
	(destroy_pq): Likewise.
	* include/grub/net/netbuff.h (grub_netbuff_free): Make return void.

2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
	resulting hash as a precaution.

2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
	'_' in variable names.
	* grub-core/net/net.c (grub_net_network_level_interface_register):
	Likewise.

2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix AFFS with non-512B blocks.

	* grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
	(AFFS_MAX_LOG_BLOCK_SIZE): New definition.
	(grub_affs_data): Replace blocksize with log_blocksize.
	(grub_affs_read_block): Fix non-512B blocks.
	(grub_affs_read_symlink): Likewise.
	(grub_affs_iterate_dir): Likewise. Fix freeing corruption.
	(grub_affs_read): Fix non-512B blocks.
	(grub_affs_label): Likewise.
	(grub_affs_mtime): Likewise.
	(grub_affs_mount): Fix block detection routine.

2012-05-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Add filesystem mtime to AFFS.

	* grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
	(aftime2ctime): New function.
	(grub_affs_dir): Use aftime2ctime.
	(grub_affs_label): Fix return value.
	(grub_affs_mtime): New function.
	(grub_affs_fs): Add mtime.

2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
	UTF-8.

2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
	UTF-8.

2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.

2012-05-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
	flags.
	(FLAGS_CASE_SENSITIVE): New enum value.
	(cache_entry): New struct.
	(grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
	cache_size and cache.
	(grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
	Add log_blocksize and fshelp_flags.
	(grub_sfs_read_extent): Handle non-512 blocks.
	(grub_sfs_read_block): Add cаche and handle non-512 blocks.
	(grub_sfs_read_file): Handle non-512 blocks.
	(grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
	fshelp_flags.
	(grub_sfs_read_symlink): Handle non-512 blocks.
	(grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
	(grub_sfs_dir): Free cache.
	(grub_sfs_close): Likewise.

2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
	filesystems.

2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.

2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.

2012-05-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
	(grub_sfs_read_extent): Likewise.
	(grub_sfs_read_block): Likewise.
	(grub_sfs_mount): Likewise.
	(grub_sfs_iterate_dir): Likewise.
	(grub_sfs_read_symlink): Use strncpy instead of strcpy.
	(grub_sfs_read): Remove unnecessarry and wrong temporary variable.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix errors on compressed NTFS with 512B clusters.

	* include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
	types.
	* grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
	not 0.
	* grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
	Relax check for inline extents.
	(ntfscomp): Return correct -1 on error and not 0.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix handling of prefix containing spaces.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
	(grub_squash_read_data): Fix offset byte-swapping.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
	per common usage and preffered in several parts of code.
	(grub_memcmp): Likewise.
	(grub_strncmp): Likewise.
	* include/grub/misc.h (grub_strcasecmp): Likewise.
	(grub_strncasecmp): Likewise.
	* Makefile.util.def (cmp_test): New test.
	(grub_script_strcmp): Likewise.
	* tests/cmp_unit_test.c: New file.
	* tests/grub_script_strcmp.in: Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/pci.h: Move enums into no-asm part.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.

2012-05-04  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* util/getroot.c (find_hurd_root_device): Try to make error message
	and comments to translators clearer.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
	btrfs.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.cfg: Update.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (PXE): Remove not present variables.

2012-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (defserver_set_env): New function.
	(defserver_get_env): Likewise.
	(GRUB_MOD_INIT): Register net_default_server and pxe_default_server.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
	entries.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/menuentry.c: Add TRANSLATORS comments.
	* grub-core/kern/emu/hostdisk.c: Likewise.

2012-05-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Handle hurd userspace partitions.

	* util/getroot.c (find_hurd_root_device): New function.
	(grub_guess_root_devices): Use find_hurd_root_device on Hurd.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (convert_system_partition_to_system_disk); Add etherd
	names.
	Reported by: Bastian Blank.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
	crossing page boundary.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix B-tree search in BFS, especially in presence of non-ASCII
	characters.

	* grub-core/fs/bfs.c (bfs_strcmp): New function.
	(find_in_b_tree): Use standard bsearch + btree algorithm.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
	and so on.

2012-05-03  Matthew Garrett  <mjg@redhat.com>
2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Suspend broadcom cards in order to stop their DMA.

	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
	* grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
	(pci): Don't build on x86 EFI.
	* grub-core/bus/pci.c (grub_pci_find_capability): New function.
	* grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
	New function.
	(grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
	stop_broadcom if running on EFI.
	* include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
	(GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
	(GRUB_PCI_VENDOR_BROADCOM): Likewise.
	(grub_pci_find_capability): New proto.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Remove dot from the extension as it apparently
	doesn't work with some makeinfo versions.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/Makefile.in.in: Make msgfmt output in little-endian in accordance
	with GRUB expectance.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (cmd_cmp): Compare directories recursively.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
	zero after directory block since last entry may be not 0-terminated if
	it ends on block boundary. Use continue instead of if spanning whole
	loop.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Support 4K sectors UDF inline files.

	* grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
	(grub_udf_extended_file_entry): Likewise.
	(grub_fshelp_node): Name the anonymous union. Put block at the end.
	All users updated.
	(get_fshelp_size): New function.
	(grub_udf_read_icb): Read whole block.
	(grub_udf_iterate_dir): Likewise.
	(grub_udf_dir): Likewise.
	(grub_udf_open): Likewise.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
	inline symlinks in addition to workaround.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.

2012-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.

2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix reiserfs big seek times.

	* grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
	exact. All users updated.
	(grub_reiserfs_read): Use nearest btree search for seeking.
	Fix return value on error.

2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/legacycfg.c (legacy_file): Default to restricted
	entries.
	* grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
	* docs/grub.texi: Update menuentry description.

2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
	crash when embedding onto filesystem.

2012-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
	name.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/ip.c (handle_dgram): Fix undeclared variable.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
	commit.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>
2012-05-01  Bean  <bean123ch@gmail.com>

	* grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
	Special behaviour for len = 0 to read whole file isn't used anywhere and
	can cause buffer ovewrflows in several places.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/autofs.c (read_fs_list): Fix memory leak.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle RAIDZ on non-512B sectors.

	* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
	max_children_ashift.
	(fill_vdev_info_real): Fill max_children_ashift.
	(read_device): Use max_children_ashift.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
	disk names.
	* docs/grub.texi: Update device.map parts.

2012-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't scan into non-diskfilter devices having diskfilter names.

	* grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
	(scan_disk): New argument accept_diskfilter. Fix recursion depth
	handling.
	(scan_disk_hook): New function.

2012-04-29  Bean  <bean123ch@gmail.com>

	* grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
	allocation.

2012-04-29  Mads Kiilerich  <mads@kiilerich.com> (tiny)

	* configure.ac: Detect starfield theme font path
	/usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.

2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
	geometry on serial consoles.

2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
	because of network consoles.

2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
	handling.

2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
	falls on Q syndrom.

2012-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
	Fix argument to grub_nilfs2_palloc_bitmap_block_offset.

2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
	Allocate at lest 8192 for temporary buffer as required for lzo.

2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
	to cluster_bits, since it's already added in.
	(grub_fat_read_data): Likewise.

2012-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
	as long as cluster size is multiple of 512 bytes.

2012-04-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Fix locale directory.

2012-04-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (map): Make static.

2012-04-23  Bean  <bean123ch@gmail.com>

	* util/grub-fstest.c (fstest): Add missing break.

2012-04-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix hurd build.

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
	not define nr variable.
	* util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
	find_root_devices_from_poolname, find_root_devices_from_libzfs,
	grub_find_device): Do not define.

2012-04-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix kfreebsd compile and behaviour.

	* grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
	format-security.
	* util/getroot.c: Fix wait.h include.
	(grub_guess_root_devices): Error if grub_find_device fails.
	(grub_util_get_geom_abstraction): Fix shadowing and format-security.
	(grub_util_get_dev_abstraction): Likewise.
	(grub_util_pull_device): Likewise.
	(grub_util_get_grub_dev): Likewise.
	* util/lvm.c (grub_util_lvm_isvolume): Likewise.

2012-04-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix and unify wholedisk detection.

	* util/getroot.c (convert_system_partition_to_system_disk): New argument
	is_part. All users updated.
	(device_is_wholedisk): Removed.
	(grub_util_biosdisk_get_grub_dev): Use is_part.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
	mode.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump to beta4.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
	--fs-uuid --set UUID syntax.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
	disunification.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.

2012-04-18  Mads Kiilerich <mads@kiilerich.com>

         * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.

2012-04-18  Mike Gilbert  <floppym@gentoo.org>

	* util/grub.d/10_linux.in: Fix detection of genkernel initramfs.

2012-04-18  Bean  <bean123ch@gmail.com>

	* grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
	place.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
	users updated.
	(grub_util_biosdisk_read): Handle Linux partitions not exactly
	corresponding to GRUB partitions.
	(grub_util_biosdisk_write): Likewise.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Scan mdraid before LVM.

	* include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
	(grub_diskfilter_register_front): ... this.
	(grub_diskfilter_register_back): New function.
	All users of grub_diskfilter_register updated.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix an automatic target detection bug.

2012-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: New option --efi-directory.

2012-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
	boot services if we have no other choice.

2012-04-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mknetdir.in: Rename --override-directory to --directory and
	document it.
	* tests/util/grub-shell.in: Update to --directory.

2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.

2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c (grub_minix_data): Fix ino type.
	(grub_minix_read_file): Likewise.
	(grub_minix_read_inode): Likewise.
	(grub_minix_find_file): Likewise.
	(grub_minix_dir): Likewise.

2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Fix partition handling and blocklist
	check.

2012-04-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
	redundant buggy overlap check.

2012-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
	and grub-mknetdir.

2012-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
	kh.loadflags on pre-2.00 kernels.

2012-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Terminate UNDI and PXE before launching the payload to avoid problems
	with DMA.

	* grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
	(grub_loader_flags): ... this. All users updated.
	(grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
	* grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
	loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
	function.
	(grub_pxe_restore): Likewise.
	(fini_hnd): New var.
	(GRUB_MOD_INIT): Register shutdown hook.
	(GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
	* include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
	(GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
	(grub_loader_set): Rename second argument to flags.

2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
	written bytes.
	(grub_get_num_of_utf8_bytes): New function.
	(grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
	* grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
	executing it.
	* include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
	(grub_ucs4_to_utf8): Change return type.

2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/usbtest.c (usb_print_str): Silence spurious
	warning.
	* grub-core/fs/bfs.c (hop_level): Likewise.
	* grub-core/net/bootp.c (grub_cmd_bootp): Likewise.

2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/adler32.c: Recode due to license unclearness.

2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
	(test_header): Likewise.

2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix --help formatting.

	* util/grub-mkconfig_lib.in (print_option_help): New function.
	(grub_fmt): Likewise.
	* util/grub-install.in: Use print_option_help and grub_fmt.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2012-04-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* linguas.sh: Remove autogenerated *.po.

2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/README: Move language fetcing to ...
	* linguas.sh: ... here.
	* po/README: Point to linguas.sh.

2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/README: Exclude ko.po due to disclaimer problems.

2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
	len = 0.
	(grub_gettext_translate_real): Handle 0th string.
	(grub_gettext_translate): Ensure that "" isn't translated.

2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
	TRANSLATORS comment.
	(grub_diskfilter_print_partmap): Propagate changing of error into
	warning.

2012-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
	to uint64_t to prevent overflow.
	(grub_diskfilter_lv): Increase start_extent and extent_count
	to uint64_t to prevent overflow.

2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Increase version.

2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Introduce en@cyrillic en@hebrew en@arabic and en@greek.

	* po/Rules-translit: New file.
	* po/arabic.sed: Likewise.
	* po/cyrillic.sed: Likewise.
	* po/greek.sed: Likewise.
	* po/hebrew.sed: Likewise.
	* po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
	* po/Makefile.in.in: Add extra_dist4.

2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle big-endian minixfs (fixes minixfs tests on bigendian).

	* grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
	modify names. Introduce MODE_BIGENDIAN.
	* grub-core/fs/minix_be.c: New file.
	* grub-core/fs/minix2_be.c: Likewise
	* grub-core/fs/minix3_be.c: Likewise.
	* Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
	minix3_be.
	* grub-core/Makefile.core.def (minix_be): New module.
	(minix2_be): Likewise.
	(minix3_be): Likewise.

2012-04-01  Felix <email@hamburg.de>

	* grub-core/loader/efi/appleloader.c (devpath_7): New var.
	(devs): Add MBP 2011.

2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/font/font.c (blit_comb): Handle dagesh somewhat.

2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (print_completion): New field
	prompt_len.
	(grub_cmdline_get): Handle width properly.

2012-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/lsacpi.c (options): Add missing terminator.

2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
	after 29th of February.

2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix exfat endianness handling.

	* grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
	(grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
	(grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
	Byte-swap utf16 when necessary.
	(grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.

2012-03-31  Anton Blanchard  <anton@samba.org>
2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix btrfs endianness handling.

	* grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
	(lower_bound): Make root uint64_t. Use root in le.
	(grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
	(find_path): Fix template key init.
	(grub_btrfs_dir): Fix mtime byteswap.
	* include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.

2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
	recursion_depth. Break infinite resursions. All users updated.

2012-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (convert_system_partition_to_system_disk): Fix use
	after free.
	Reported by: Peter Jones.

2012-03-31  Anton Blanchard  <anton@samba.org>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
	8 bit values.

2012-03-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix nvram call for PreP.

2012-03-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
	the error when some elements are missing into a warning.

2012-03-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.

2012-03-28  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Invoking grub-probe): New section.
	Reported by: Filipus Klutiero.  Fixes Debian bug #666031.

2012-03-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix tab and wide character handling in editor and menu.

	* grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
	agglomerate control characters with combining marks.
	(bidi_line_wrap): Allow break on tab.
	(grub_unicode_get_comb_start): New function.
	* grub-core/normal/menu_entry.c: Restructure to handle wide characters
	and tab correctly.
	* grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
	with a space.
	* grub-core/normal/term.c (print_ucs4_terminal): New argument
	fixed_tab_size. All users updated.
	* include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
	(grub_term_getcharwidth): Handle \t.
	* include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
	and copy.

2012-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle big-endian mdraid.

	* Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
	* grub-core/Makefile.core.def (mdraid09_be): New module.
	* grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
	rather than grub_le_to_cpu* and grub_cpu_to_le*.
	* grub-core/disk/mdraid_linux_be.c: New file.

2012-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
	missing quotes which caused confusion among translators.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in: Fix typo.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
	spaces.
	* tests/grub_script_leading_whitespace.in: New file.
	* Makefile.util.def (grub_script_leading_whitespace): New test.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
	to work.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
	starts with control character.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
	overflow.
	(grub_gdb_outbuf): Likewise.

2012-03-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
	zero terminator. Fixes a crash.

2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
	beyond 4 GiB.
	(grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
	images independently of preffered adderss field.

2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
	* grub-core/commands/regexp.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
	* grub-core/partmap/msdos.c: Likewise.
	* grub-core/script/execute.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.

2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Add variable parsing in $"..." and fix several mismatches with bash.

	* Makefile.util.def (grub_script_gettext): New test.
	* grub-core/script/execute.c (parse_string): New function.
	(gettext_append): Likewise.
	(grub_script_arglist_to_argv): Use gettext_append.
	* grub-core/script/yylex.l: Fix slash and newline handling in $"...".
	* tests/grub_script_gettext.in: New file.

2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of leading spaces in scripts.

	* grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
	spaces.
	* grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
	other than skipping \r. All users updated.
	* tests/grub_script_echo1.in: Add space-related tests.
	* util/grub-menulst2cfg.c (main): Remove useless space skipping.

2012-03-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump up the version to beta2.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix gettext reload bugs (e.g. inability to disable gettext
	once enabled).

	* grub-core/gettext/gettext.c: Encapsulate all static variables in
	main_context and secondary_context. All functions updated.
	(grub_gettext_translate): Rename to ...
	(grub_gettext_translate_real): ... this. Return NULL on failed
	translate.
	(grub_gettext_translate): Handle secondary context.
	(grub_gettext_delete_list): Close file and zero-out the context.
	(grub_mofile_open): Don't call grub_gettext_delete_list.
	Don't close file.
	(grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
	if locale="" to avoid pointless error message.
	(grub_gettext_env_write_lang): Update lang even if load fails.
	Handle secondary context.
	(grub_gettext_reread_prefix): New function.
	(read_main): Likewise.
	(read_secondary): Likewise.
	(GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
	(GRUB_MOD_FINI): Handle secondary context. Don't close file.
	* grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
	* include/grub/normal.h (grub_gettext_reread_prefix): New proto.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Decrease warning level to avoid spurious warnings and
	to be able to compile with GCC 4.2.
	* Makefile.util.def: Remove -Wno-error=logical-op.

2012-03-10  William Bittner <william.bittner@gmail.com>

	* util/import_unicode.py: Add missing brackets around string for
	python 3 support.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix efi chainloader on network root.

	* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
	network devices.
	* grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
	New function.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
	unused show_text member.
	* docs/grub.texi: Document "text" property.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
	in dprintf.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix IMSM handling on Fedora.

	* util/getroot.c (grub_util_is_imsm): New function.
	(grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am: Strip gold section.
	* conf/Makefile.common: Likewise.
	* gentpl.py: Likewise.
	* grub-core/Makefile.core.def: Likewise.
	* grub-core/genmod.sh.in: Likewise.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
	* util/grub.d/20_linux_xen.in: Likewise.
	Based on Debian patch.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Fix syntax error resulting in
	Richard Laager's patch.
	* util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/partmap_test.in: Replace qemu-img usage with dd to decrease
	dependencies.

2012-03-10  Richard Laager <rlaager@wiktel.com>

	* util/grub.d/10_linux.in: Fix ZFS root passing.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
	* grub-core/commands/xnu_uuid.c: Likewise.
	* grub-core/loader/efi/appleloader.c: Likewise.
	* grub-core/script/execute.c: Likewise.
	* grub-core/script/main.c: Likewise.
	* util/grub-mkfont.c: Likewise.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (options): Use more appropriate "select" that
	"set" for face index.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-editenv.c (options): Gettextize command summaries.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
	"out of memory" error messagge.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
	of diskfilter for diskfilter on diskfilter support.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (exec_pipe): Ensure that the child is not localised.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Check for themes/starfield/theme.txt and not
	themes/starfield.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.

2012-03-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
	of error message.

2012-03-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix install non-PreP IEEE1275 install.

2012-03-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
	message.
	* util/grub-install.in: Fix and gettextize error message.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (options): Replace N with NUM and S with STRING.
	Gettextize.
	* util/grub-mount.c (options): Likewise.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/probe.c (options): Replace VAR with VARNAME and
	gettextize.
	* grub-core/commands/search_wrap.c (options): Likewise.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
	size calculation.
	* grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
	none is known.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (grub_net_addr_to_str): Don't translate
	"temporary" since it's used in identifier and is limited in space.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate. Include *.h since they contain
	translatable strings as well.

2012-03-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
	byte-swap on big-endian.
	Reported by: Lennart Sorensen

2012-03-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (prot_init_space): New variable.
	(allocate_pages): Improve dprintf.
	(grub_cmd_linux): Fill prot_init_space. Fix improper usage of
	code32_start. Fill code32_start and kernel_alignment in params.
	(grub_cmd_initrd): Use prot_init_space.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkstandalone.in: Propagate grub-mkimage.c change.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Add missing dot at the end of sentence.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
	* grub-core/commands/videotest.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpi.c (options): Fix a dot in the middle of the
	sentence.
	Reported by: Milo Casagrande.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpi.c: Add TRANSLATORS comments.
	* grub-core/commands/gptsync.c: Likewise.
	* grub-core/commands/hashsum.c: Likewise.
	* grub-core/commands/i386/pc/sendkey.c: Likewise.
	* grub-core/commands/legacycfg.c: Likewise.
	* grub-core/io/gzio.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* grub-core/term/terminfo.c: Likewise.
	* grub-core/tests/test_blockarg.c: Likewise.
	* grub-core/video/video.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-mkfont.c: Likewise.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (help_filter): Add missing capitalisation.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/search_wrap.c (options): Fix a typo.
	Reported by: David Prévot.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
	description.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-script-check.c (main): Fix a syntax error message which was
	unclear.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in (usage): Fix ROM capitalisation.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
	messages.

2012-03-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
	without argument.
	* util/grub-mount.c (options): Likewise.

2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Unify diskboot.img size message.

2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/http.c: Add TRANSLATORS comments.
	* grub-core/normal/cmdline.c: Likewise.
	* grub-core/normal/misc.c: Likewise.
	* grub-core/partmap/msdos.c: Likewise.
	* grub-core/parttool/msdospart.c: Likewise.
	* grub-core/script/execute.c: Likewise.
	* grub-core/script/main.c: Likewise.
	* grub-core/term/terminfo.c: Likewise.
	* grub-core/video/bitmap.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-mkimage.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-setup.c: Likewise.

2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
	with similar messages in grub-fstest.

2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Unify "option requires an argument" message
	with similar messages in other files.
	* util/grub-mkconfig.in: Likewise.

2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-set-default.in: Replace printf with gettext_printf (the
	string in in question is already translated from grub-reboot)

2012-03-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump up the version to beta1.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
	case when min_align = 0.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
	and fix a case when line_start overflows.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-reboot.in (usage): Mention id posibility.
	* util/grub-set-default.in (usage): Likewise.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
	* grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/menuentry.c (options): Remove
	GRUB_ARG_OPTION_REPEATABLE.
	Reported by: Andreas Vogel

2012-03-04  Andreas Vogel <Andreas.Vogel@anvo-it.de>

	* grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.

2012-03-04  Hideki EIRAKU <hdk1983@gmail.com>

	* grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
	error.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use sort -V by the idea of Georgi Georgiev.

	* util/grub-mkconfig_lib.in (version_sort): New function.
	(version_test_numeric): Use version_sort.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use submenus in grub-mkconfig.

	* util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
	* util/grub-mkconfig_lib.in (grub_quote): New function.
	(gettext_printf): Use gettext and not gettext_quoted to fix several
	messages.
	* util/grub.d/10_hurd.in: Use submenus.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/grub.d/10_illumos.in: Add missing quoting.
	* util/grub.d/10_windows.in: Likewise.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix menu title instability bug.

	* grub-core/commands/menuentry.c (options): New option --id.
	(grub_normal_add_menu_entry): New argument id. All users updated.
	(grub_cmd_menuentry): Handle --id.
	(grub_menu_init): Accept unknown arguments.
	* grub-core/normal/main.c (features): Add feature_menuentry_id and
	feature_menuentry_options.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
	saved_entry.
	(get_entry_number): Match with id as well.
	* include/grub/menu.h (grub_menu_entry): New member id.
	* util/grub-mkconfig_lib.in (grub_get_device_id): New function.
	* util/grub.d/00_header.in: Define menuentry_id_option.
	* util/grub.d/10_hurd.in: Define id.
	* util/grub.d/10_illumos.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.

2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_return): Replace ambiguous
	"scope" with "body".

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
	* grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
	prot_size and prot_file_size.

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
	All users updated. If easily=1 require raid-5/-6 to be full.
	(is_node_readable): Likewise.
	(scan_devices): Scan incomplete but readable LVs at the end.
	(grub_diskfilter_memberlist): Pull missing devices.
	(insert_array): Skip scanning until device is complete or scan is
	done otherwise.
	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
	check.
	* include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
	* util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.

2012-03-03  Matthew Garrett  <mjg@redhat.com>
2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid EFI boot services when loading Linux.

	* grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
	avoid_efi_bootservices. All users updated.
	* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
	argument avoid_efi_bootservices. All users updated.
	Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
	* grub-core/loader/i386/linux.c (allocate_pages): New arguments
	align, min_align, relocatable, prefered_address. All users updated.
	Allocate avoiding boot services if kernel is relocatable.
	(grub_cmd_linux): Check if kernel is relocatable.
	* grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
	(grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
	Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
	avoid_efi_boot_services.
	(grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
	* include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
	(linux_kernel_params): Likewise.

2012-03-03  Matthew Garrett  <mjg@redhat.com>
2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Use EDID on EFI.

	* grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
	datasize_out.
	* grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
	modes. Set gop_handle.
	(grub_video_gop_get_edid): New function.
	(grub_gop_get_preferred_mode): Likewise.
	(grub_video_gop_setup): Use grub_gop_get_preferred_mode.
	(grub_video_efi_gop_adapter): Set .get_edid.
	* include/grub/efi/edid.h: New file.
	* include/grub/efi/efi.h (grub_efi_get_variable): Update proto.

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Load efivars unconditionally.

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/Rules-piglatin: Change suffix from .po-update-en to
	.po-update-en-piglatin.

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Add a pig farm.

	* po/piglatin.sed: New file.
	* po/en@piglatin.header: Likewise.
	* po/Rules-piglatin: Likewise.
	* po/README: Add en@piglatin to autogenerated languages.

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
	"Command for ...".
	* grub-core/commands/hdparm.c (options): Use "Display" rather than
	"Check" since we don't check anything.
	* grub-core/commands/i386/cpuid.c (options): Clarify that long mode
	is 64-bit one.
	* grub-core/commands/search_wrap.c (options): Clarify the conditions.
	* grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
	(grub_md_sha512_real): Likewise.

2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/gptsync.c: Fix typographic quoting.
	* grub-core/commands/ieee1275/suspend.c: Likewise.
	* grub-core/commands/parttool.c: Likewise.
	* grub-core/commands/search_wrap.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/gfxmenu/gui_label.c: Likewise.
	* grub-core/hello/hello.c: Likewise.
	* grub-core/kern/emu/main.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/normal/menu.c: Likewise.
	* grub-core/normal/menu_text.c: Likewise.
	* grub-core/normal/misc.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/grub-setup.c: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
	* grub-core/commands/keystatus.c: Likewise.
	* grub-core/commands/loadenv.c: Likewise.
	* grub-core/commands/probe.c: Likewise.
	* grub-core/commands/regexp.c: Likewise.
	* grub-core/commands/true.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/disk/cryptodisk.c: Likewise.
	* grub-core/disk/ldm.c: Likewise.
	* grub-core/disk/loopback.c: Likewise.
	* grub-core/disk/luks.c: Likewise.
	* grub-core/fs/zfs/zfsinfo.c: Likewise.
	* grub-core/kern/disk.c: Likewise.
	* grub-core/kern/emu/hostdisk.c: Likewise.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
	* util/grub-install.in: Add missing quote in the comment.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
	* grub-core/commands/lsmmap.c: Likewise.
	* grub-core/commands/minicmd.c: Likewise.
	* grub-core/commands/mips/loongson/lsspd.c: Likewise.
	* grub-core/commands/regexp.c: Likewise.
	* grub-core/gdb/gdb.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videoinfo.c (hook): Replace "Direct"
	with "Direct color" and "Packed" with "Packed pixel".
	(grub_cmd_videoinfo): Simplify legend.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
	absolutely unclear error message.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkstandalone.in: Remove confusing leftover print.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
	comments.
	* grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
	VGA mode.
	* grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
	comments.
	* util/grub-install.in (usage): Likewise.
	Spell ID in whole letters.
	Add missing ending dot.
	Quote variables.
	* util/grub-reboot.in: Fix capitalisation.
	* util/grub-set-default.in: Likewise.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
	(exec_pipe) [CYGWIN || MINGW32]: Likewise.
	(find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
	(find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
	Disable -Werror for -Wdeprecated-declarations.
	(grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
	(get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
	(grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
	(grub_util_get_grub_dev): Make luks handling dependent on
	HAVE_DEVICE_MAPPER and not __linux__.
	(get_win32_path): Fix format security.
	(grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
	(grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
	Don't try grub_find_zpool_from_dir.
	(grub_make_system_path_relative_to_its_root) [!__linux__]:
	#ifdef-out paresdir.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-pe2elf.c (usage): Add missing noreturn.
	(write_section_data): Rename name to shname to avoid shadowing.
	(write_symbol_table): Rename name to symname to avoid shadowing.
	Fix write_reloc_section call.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
	to ensure that it's after the last byte of .text.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c (my_isdigit): New function.
	(trailing_digits): Use my_isdigit.
	(strip_trailing_digits): Likewise.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
	* grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S: Define __start.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
	strip already transforms he format.

2012-03-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Add missing gettext init.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/Rules-swiss: Fix header comment.

2012-02-29  Andreas Vogel <anvoit>

	* grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
	resulted in leak of arguments.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S: Use separate
	reed_solomon_size const definition instead of computing it since
	Apple assembler doesn't support the later.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py (kernel): Rewrite Apple part.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/kernel.h (FOR_MODULES): Check module magic.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimagexx.c (locate_sections): Support non-standard
	ELF section gap.
	(load_image): Likewise.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Fix a typo in previous commit.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't add -Wl,-N on Apple platform.

	* configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
	* conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (lzma_decompress): Use
	TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmod.sh.in: Rewrite the Apple part.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
	comparison.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* acinclude.m4 (grub_CHECK_PIC): New test.
	* configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
	to avoid the warning.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
	(LOCAL(firstlist)): ... this. Move it before the firstlist and not
	after. All users updated.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Use the common size routine in hostfs so we can read disks as well.

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
	(grub_util_get_fd_size): ... this. Return size in bytes.
	All users updated.
	* grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
	grub_util_get_fd_size.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
	Add blocksize retrieval.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Restore CFLAGS after efiemu check.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Move -fnested-functions to CPPFLAGS to workaround
	Apple bug.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am (MACHO2IMG): Add missing variable.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
	(grub_cmd_halt): Likewise.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
	for local arithmetics.
	Break %sp init into 2 instructions.
	Add 0 byte at the end.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (read_segment): Initialise err
	before loops.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
	for context.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ldm.c (make_vg): Init part.name.
	(grub_ldm_detect): Silence spurious warning.
	(grub_util_is_ldm): Likewise.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
	sane value to avoid a spurious warning.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
	(GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
	* grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
	hardcoding the relevant info.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
	missing const qualifiers.
	* grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c [__APPLE__]: Add missing includes.
	(grub_util_biosdisk_is_floppy): Fix usage of undefined variable.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Silence spurious warning.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
	avoid conflicts.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/grub-ofpathname.c: Add missing config.h include.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
	and grub_file_close call.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Add LZSS Mach-O support (needed for new xnu kernelcache).

	* grub-core/Makefile.core.def (xnu): Add file lzss.c
	* grub-core/loader/lzss.c: New file.
	* grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
	on Mach-O open failure.
	* grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
	Don't free cmdsXX in uncompressedXX is set.
	(grub_macho_file): Init new fields.
	New argument is_64bit. All users updated.
	Handle compressed. Error out if no suitable architecture is found.
	Don't close file.
	(grub_macho_open): New argument is_64bit. All users updated.
	* grub-core/loader/macho32.c: Add defines for new fields.
	* grub-core/loader/macho64.c: Likewise.
	* grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
	(grub_macho_parse): Handle compressed.
	Defer actual processing if compressed.
	(grub_macho_cmds_iterate): Decompress if compressed. New argument
	"filename". All users updated.
	(grub_macho_size): New argument "filename". All users updated.
	(grub_macho_get_entry_point): Likewise.
	(grub_macho_load): Handle compressed.
	* include/grub/macho.h (grub_macho_lzss_header): New struct.
	(GRUB_MACHO_LZSS_OFFSET): New define.
	(grub_decompress_lzss): New proto.
	* include/grub/machoload.h (grub_macho_file): New fields to handle
	compressed.
	(grub_macho_contains_macho64): Remove proto.
	(grub_macho_contains_macho32): Likewise.
	* util/grub.d/30_os-prober.in: Use kernel cache if available.

2012-02-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.

2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix make dist.

	* Makefile.am (starfield_theme_files): New var.
	(starfield_DATA): Use starfield_theme_files.
	(EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
	Add bootcheck-related files.
	* conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
	* docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
	and font_char_metrics.txt.
	* grub-core/Makefile.core.def (kernel): Update extra_dist.
	(setjmp): Add lib/ia64/longjmp.S.
	* po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
	* po/POTFILES.in: Regenerate.
	* po/Rules-swiss: use DISTFILES.common.extra2 and not
	DISTFILES.common.extra1.
	* util/devicemap.c: Removed.
	* grub-core/lib/i386/relocator_backward.S: Likewise.
	* util/import_gcry.py: Remove unused files. Add extra_dist for
	ChangeLog.

2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (grub_mofile_open): Call
	grub_gettext_delete_list before changing grub_gettext_max to avoid
	running out of array bounds.

2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
	grub_vga_text_init/grub_vga_text_fini.

2012-02-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump to 2.00~beta0.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_find_root_devices_from_btrfs): Add
	missing initialisation.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/msdos.c (message_warn): Clarify messages.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Support v2 xnu boot arguments.

	* grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
	New argument fsbfreq_out.
	(grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
	(grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
	be used.
	* grub-core/loader/machoXX.c (grub_macho_load): New argument
	darwin_version.
	* grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
	* include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
	(grub_xnu_boot_params): Rename to ...
	(grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
	(grub_xnu_boot_params_v2): New struct.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
	zeroing of CRC field before computing CRC.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
	Change order of allocations to decrease fragmentation.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-ofpathname): Enable on all platforms.

2012-02-27  Colin Watson  <cjwatson@ubuntu.com>

	Use write-combining MTRR to speed up video with buggy BIOSes.

	* grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
	(cpuid): New define.
	(rdmsr): Likewise.
	(wrmsr): Likewise.
	(mtrr_base): Likewise.
	(mtrr_mask): Likewise.
	(grub_vbe_enable_mtrr_entry): New function.
	(grub_vbe_enable_mtrr): Likewise.
	(grub_vbe_disable_mtrr): Likewise.
	(grub_vbe_bios_set_display_start): Disable mtrr when handing the
	control off to BIOS.
	(grub_video_vbe_init): Fill mtrr.
	(grub_video_vbe_fini): Disable mtrr.
	(grub_video_vbe_get_info_and_fini): Likewise.
	(grub_video_vbe_setup): Enable mtrr.

2012-02-27  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/partition.h (grub_partition_map): Change prototype of
	embed to take a maximum value for nsectors.
	* include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
	* include/grub/fs.h (grub_fs): Likewise.
	* grub-core/partmap/msdos.c (embed_signatures): New array.
	(pc_partition_map_embed): Check for and avoid sectors matching any
	of the signatures in embed_signatures, up to max_nsectors.
	* grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
	returned sector map to max_nsectors.
	* grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
	* grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
	* grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
	* util/grub-setup.c (setup): Allow for the embedding area being
	split into multiple blocklists.  Tell dest_partmap->embed the
	maximum number of sectors we care about.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
	Specify blocklist_install and reserver_first_sector for all fs.
	* util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
	blocklists.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Clarify strings.
	Fix source dir check.

2012-02-27  Richard Laager <rlaager@wiktel.com>

	* util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
	"zfs" and "fuse.zfs" as synonyms.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Put platform and target_cpu substitutions back since
	they are used for directories.

2012-02-27  Richard Laager <rlaager@wiktel.com>
2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Add ZFS-related arguments.
	* util/grub.d/20_linux_xen.in: Likewise.

2012-02-27  Richard Laager <rlaager@wiktel.com>

	* util/getroot.c (find_root_devices_from_poolname): Handle vdevs
	with full paths.

2012-02-27  Richard Laager <rlaager@wiktel.com>

	* util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
	unescape.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't use insecure popen in getroot.

	* util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
	(exec_pipe): ... here.
	(find_root_devices_from_poolname): Use exec_pipe.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove platform and target_cpu replacement.

	* configure.ac: Remove platform and target_cpu substitutions.
	* tests/util/grub-shell.in: Use modinfo.
	* util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
	explicitly.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Autodetect platform in grub-install but allow override.

	* util/grub-install.in: Autodetect platform. Support --target and
	--directory. Read platform from modinfo.sh.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Support btrfs multi-volume probe.

	* util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
	(btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
	(BTRFS_IOC_DEV_INFO) [__linux__]: New define.
	(BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
	(grub_find_root_devices_from_btrfs) [__linux__]: New function.
	(grub_find_root_devices_from_mountinfo) [__linux__]: Use
	grub_find_root_devices_from_btrfs if on btrfs.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove any awareness of *.c util files about target.

	* Makefile.util.def (grub-setup): Split to ...
	(grub-bios-setup): ... and this.
	(grub-sparc64-setup): ... and this.
	* configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
	* docs/man/grub-setup.h2m: Split into ...
	* docs/man/grub-sparc64-setup.h2m: ... this.
	* docs/man/grub-bios-setup.h2m: ... and this.
	* include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
	* include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
	(GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
	(grub_target_addr_t): Remove.
	(grub_target_size_t): Remove.
	(grub_target_ssize_t): Remove.
	* util/grub-install.in: Use new grub-*-setup.
	* util/grub-mkimagexx.c (Elf_Word): New define.
	(Elf_Half): Likewise.
	(Elf_Section): Likewise.
	(ELF_ST_TYPE): Likewise.
	* util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
	GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace grub_target_addr with more appropriate types.

	* grub-core/commands/efi/fixvideo.c (scan_card): Replace
	grub_target_addr with grub_addr.
	* grub-core/commands/iorw.c (grub_cmd_read): Replace
	grub_target_addr with grub_port.
	(grub_cmd_write): Likewise.
	* grub-core/commands/memrw.c (grub_cmd_read): Replace
	grub_target_addr with grub_addr.
	(grub_cmd_write): Likewise.
	* grub-core/video/efi_uga.c (find_line_len): Likewise.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (grub_efi_runtime_services): Add missing
	const qualifier for vendor_guid.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
	const qualifier.
	(efiemu_memequal): Likewise.
	(find_variable): Likewise.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix missing console prototype on qemu-mips.

	* include/grub/mips/qemu_mips/console.h: New file.

2012-02-27  Matthew Garrett  <mjg@redhat.com>
2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/api.h: Add guid for EFI-specified variables.
	* include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
	* grub-core/normal/charset.c (grub_utf8_process): Move from here ...
	* include/grub/charset.h (grub_utf8_process): ... to here. Inline.
	* grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
	* include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.

2012-02-27  Matthew Garrett  <mjg@redhat.com>

	* include/grub/efi/pci.h: New file to define EFI PCI protocols.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
	error.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove inappropriate use of program_transform_name
	on grubdir and bootdir but allow explicit specification of those
	variables.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mknetdir.in (grub_prefix): Removed.
	(subdir): Use @bootdirname@ and @grubdirname@.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerated.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove improper use of program_transform_name on pkglibrootdir.

	* configure.ac (pkglibrootdir): Removed.
	(grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
	* util/grub-mkimage.c: Likewise.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
	warning.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Use file identifier if no UUID is available
	or user explicitly prompted for it.

2012-02-27  Navdeep Parhar <nparhar@gmail.com>

	* grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
	(freebsd_get_zfs): New function.
	(grub_freebsd_boot): Pass zfs UUID.
	(grub_cmd_freebsd): Set zfs UUID.

2012-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (platformdir): Base on pkglibdir and not
	pkglibrootdir.

2012-02-27  Mike Gilbert  <floppym@gentoo.org>

	Add configure flag to control libzfs integration.

	* configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (insert_array): Choose the smallest
	device.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
	small devices.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove grub_{modname}_init and grub_{modname}_fini. They should never
	be used directly if it's really a module and GRUB_MOD_INIT shouldn't
	be used on non-modules.

	* grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
	Rename to grub_boot_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
	* grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
	* grub-core/font/font_cmd.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
	* grub-core/kern/mips/loongson/init.c: Replace explicit protos with
	includes.
	(grub_machine_init): Remove empty inits.
	* grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
	includes.
	(grub_machine_init): Remove empty inits.
	* grub-core/term/arc/console.c: Remove explicit proto.
	* grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_at_keyboard_fini.
	* grub-core/term/gfxterm.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_gfxterm_fini.
	* grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_vgatext_fini.
	* grub-core/term/ieee1275/console.c: Remove explicit proto.
	* grub-core/term/serial.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_serial_fini.
	* grub-core/term/terminfo.c (GRUB_MOD_INIT)
	[LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
	(GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
	grub_terminfo_fini.
	* grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
	[LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
	(GRUB_MOD_FINI) [LOONGSON]: Rename to
	grub_video_radeon_fuloong2e_fini.
	* grub-core/video/sis315pro.c (GRUB_MOD_INIT)
	[LOONGSON]: Rename to grub_video_sis315pro_init.
	(GRUB_MOD_FINI) [LOONGSON]: Rename to
	grub_video_sis315pro_fini.
	* grub-core/video/sm712.c (GRUB_MOD_INIT)
	[LOONGSON]: Rename to grub_video_sm712_init.
	(GRUB_MOD_FINI) [LOONGSON]: Rename to
	grub_video_sm712_fini.
	* include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
	(grub_at_keyboard_fini): Likewise.
	* include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
	Don't declare grub_{modname}_init.
	(GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
	* include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
	New proto.
	(grub_keylayouts_fini) [!EMU]: Likewise.
	* include/grub/serial.h (grub_serial_init) [!EMU]:
	New proto.
	(grub_serial_fini) [!EMU]: Likewise.
	* include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
	New proto.
	(grub_terminfo_fini) [!EMU]: Likewise.
	* include/grub/video.h (grub_font_init) [!EMU]:
	New proto.
	(grub_font_fini) [!EMU]: Likewise.
	(grub_gfxterm_init) [!EMU]: Likewise.
	(grub_gfxterm_fini) [!EMU]: Likewise.
	(grub_video_sm712_init) [!EMU]: Likewise.
	(grub_video_sm712_fini) [!EMU]: Likewise.
	(grub_video_sis315pro_init) [!EMU]: Likewise.
	(grub_video_sis315pro_fini) [!EMU]: Likewise.
	(grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
	(grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Make nand a prefix for nand devices.

	* grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_stpcpy): Move from here ...
	* include/grub/misc.h (grub_stpcpy): ... to here. Inlined.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/env.h (grub_env_find): Remove prototype.
	* grub-core/kern/env.c (grub_env_find): Make static.
	(grub_env_set): Remove useless set.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/realmode.S: Remove useless align.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/dl.h (grub_dl_load_file): Don't export.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
	grub_dprintf.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
	grub_errors.
	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
	not reloading whole superblock but only the part which is really needed.
	Remove useless grub_errors.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
	grub_errors.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't export grub_get_rtc.

	* include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
	* grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
	argument since it can be deduced from diskfilter. All users updated.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove prio_list.

	* include/grub/list.h (grub_prio_list): Removed.
	(GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
	GRUB_COMMAND_PRIO_MASK.
	(GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
	GRUB_COMMAND_FLAG_ACTIVE.
	(grub_prio_list_insert): Removed.
	(grub_prio_list_remove): Likewise.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	* include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
	(GRUB_COMMAND_FLAG_ACTIVE): Likewise.
	* grub-core/kern/list.c (grub_prio_list_insert): Remove.
	* grub-core/kern/command.c (grub_register_command_prio): Inline
	the prio_list code.
	(grub_unregister_command): Likewise.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix interrupt mixup from previous commit.

	* include/grub/i386/pc/int.h (grub_i386_idt): New struct.
	(grub_realidt): New var.
	* grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
	Load idt.
	* grub-core/lib/i386/relocator.c (grub_relocator16_idt):
	New declaration.
	(grub_relocator16_boot): Set grub_relocator16_idt.
	* grub-core/kern/i386/realmode.S (realidt): Renamed to ...
	(LOCAL(realidt)): ... this.
	* grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
	* grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
	(grub_realidt): New variable.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
	* grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
	* grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
	* grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
	Gettextize.
	* grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
	* grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
	* po/POTFILES.in: Regenerate.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
	errors.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
	\0.
	(add_length): Likewise.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>
2012-02-26  Lubomir Kundrak  <lkundrak@redhat.com>

	GDB serial and backtrace support.

	* grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
	(prot_to_real): Likewise.
	* grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
	* grub-core/Makefile.core.def (backtrace): New module.
	(gdb): Likewise.
	* grub-core/gdb/cstub.c: New file.
	* grub-core/gdb/gdb.c: Likewise.
	* grub-core/gdb/i386/idt.c: Likewise.
	* grub-core/gdb/i386/machdep.S: Likewise.
	* grub-core/gdb/i386/signal.c: Likewise.
	* grub-core/lib/i386/backtrace.c: Likewise.
	* grub-core/lib/backtrace.c: Likewise.
	* include/grub/backtrace.h: Likewise.
	* include/grub/gdb.h: Likewise.
	* include/grub/i386/gdb.h: Likewise.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
	New function.
	(add_length): Likewise.
	(__argp_fmtstream_update): Handle strings with non-ASCII chars.
	* grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
	proto.
	* grub-core/gnulib/argp-help.c (argp_args_usage): Use
	__argp_get_display_len.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	$"..." support in scripts.

	* grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
	GRUB_SCRIPT_ARG_TYPE_GETTEXT.
	* grub-core/script/yylex.l: Likewise.
	* include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
	value.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Remove obsolete pkglib_DATA handling.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't transform PACKAGE_TARNAME following a discussion on autoconf
	mailing list.

	* util/grub-install.in: Don't transform PACKAGE_TARNAME.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove GRUB_PREFIX.

	* util/grub-mkconfig.in: Remove GRUB_PREFIX.
	* util/grub.d/00_header.in: Compute prefix in the only place it's still
	used for backward compatibility.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Add new all_video module.

	* grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
	* grub-core/Makefile.core.def (all_video): New module.
	* grub-core/genmoddep.awk: Generate dependency of all_video from
	video.lst.
	* grub-core/lib/fake_module.c: New file.
	* grub-core/normal/main.c (features): Add feature_all_video_module.
	* util/grub.d/00_header.in: Define locale_dir based on $prefix and
	don't do explicit search again.
	insmod all_video in load_video if available.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Another round of string clarification and adding TRANSLATORS comments.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mknetdir.in: Remove erroneous reference to install_device.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
	to grub_ssize_t.
	* grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
	* include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
	trailing newline implicitly. All users updated.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement serial on IEEE1275 and EFI.

	* docs/grub.texi (Platform-specific limitations): Fix the columen video
	on emu. Mention arc and emu as the only platforms without serial
	support.
	* grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
	ieee1275 platforms.
	* grub-core/term/efi/serial.c: New file.
	* grub-core/term/ieee1275/serial.c: Likewise.
	* grub-core/term/serial.c (grub_serial_find): Disable direct port
	specification if no ns8250 driver is available.
	(grub_cmd_serial): Likewise.
	(GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
	(GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
	* include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
	(grub_efi_parity_type_t): New type.
	(grub_efi_stop_bits_t): Likewise.
	(grub_efi_serial_io_interface): New struct.
	* include/grub/serial.h (grub_serial_port): Make 'broken' field
	available for all interfaces.
	Add EFI and IEEE1275 fields.
	(grub_ofserial_init): New proto.
	(grub_efiserial_init): Likeiwse.
	* util/grub.d/00_header.in: Don't check for the presence of serial
	module.

2012-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
	name as if it was an alias.

2012-02-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/lsacpi.c (options): Fix typo.

2012-02-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Convert grub-emu to argp.

	* grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
	emu.
	* util/argp_common.c: Rename to ...
	* grub-core/kern/emu/argp_common.c: ... this. All users updated.
	Add missing includes.
	* grub-core/kern/emu/main.c: Convert to argp.
	* po/POTFILES.in: Regenerate.
	* util/grub-install.in (usage): Make first letter lowcase in messages
	for uniformity.
	* util/grub-setup.c (options): Likewise.

2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
	Put back accidently commented-out code.

2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
	loop check using Brent algorithm.
	(grub_hfsplus_btree_search): Likewise.

2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix usage of wrong device for PreP install.

2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (CFLAGS_GNULIB): Add
	-Wno-unsafe-loop-optimizations.
	* configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
	on tools.
	* grub-core/commands/legacycfg.c: Add pragma to skip
	-Wunsafe-loop-optimizations.
	(check_password_md5_real): Fix loop counter type.
	* grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
	reading.
	* grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
	* grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
	loop condition.
	* grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
	* grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
	* grub-core/net/net.c (grub_net_route_address): Add safety loop
	condition.
	* grub-core/normal/charset.c (bidi_line_wrap): Likewise.
	* grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
	avoid possible infinite loops.
	* grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
	and -Wunsafe-loop-optimizations.
	* grub-core/script/yylex.l: Likewise.
	* util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
	(print_glyphs): Avoid infinite loops.
	* util/grub-mkimage.c (compress_kernel_xz): Fix format security.

2012-02-24  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
	to avoid infinite loop.
	(disp_acpi_rsdt_table): Likewise.

2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/font/font.c (grub_font_load): Add support for default
	path for fonts ($prefix/fonts).
	* grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
	for checking if string is a path.
	* grub-core/normal/main.c (features): Add feature_default_font_path.
	* util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
	* util/grub.d/00_header.in: Use default directory if possible.
	* util/grub-install.in: Install unicode.pf2.

2012-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/README: Add de_CH and en@quot to po/LINGUAS generation command.
	* po/Rules-swiss: New file.
	* po/swiss.sed: Likewise.

2012-02-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (find_device): Fix typos.
	* grub-core/fs/zfs/zfs.c (read_device): Likewise.
	* util/grub-mkrelpath.c (argp_parser): Likewise.
	Reported by: Yuri Chornoivan.

2012-02-23  Dalet Omega <daletomega@gmail.com>

	* grub-core/gfxmenu/gui_label.c (label_set_property): Add template
	for usual informative messages.

2012-02-23  Dalet Omega <daletomega@gmail.com>

	Starfield theme.

	* Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
	* conf/Makefile.common: Define starfielddir.
	* configure.ac: Configure starfield.
	* themes/starfield/COPYING.CC-BY-SA-3.0: New file.
	* themes/starfield/README: Likewise.
	* themes/starfield/blob_w.png: Likewise.
	* themes/starfield/boot_menu_c.png: Likewise.
	* themes/starfield/boot_menu_e.png: Likewise.
	* themes/starfield/boot_menu_n.png: Likewise.
	* themes/starfield/boot_menu_ne.png: Likewise.
	* themes/starfield/boot_menu_nw.png: Likewise.
	* themes/starfield/boot_menu_s.png: Likewise.
	* themes/starfield/boot_menu_se.png: Likewise.
	* themes/starfield/boot_menu_sw.png: Likewise.
	* themes/starfield/boot_menu_w.png: Likewise.
	* themes/starfield/slider_c.png: Likewise.
	* themes/starfield/slider_n.png: Likewise.
	* themes/starfield/slider_s.png: Likewise.
	* themes/starfield/src/blob_nw.xcf: Likewise.
	* themes/starfield/src/bootmenu/: Likewise.
	* themes/starfield/src/bootmenu/center.xcf: Likewise.
	* themes/starfield/src/bootmenu/corner.xcf: Likewise.
	* themes/starfield/src/bootmenu/side.xcf: Likewise.
	* themes/starfield/src/slider_c.xcf: Likewise.
	* themes/starfield/src/slider_n.xcf: Likewise.
	* themes/starfield/src/slider_s.xcf: Likewise.
	* themes/starfield/src/terminalbox/: Likewise.
	* themes/starfield/src/terminalbox/center.xcf: Likewise.
	* themes/starfield/src/terminalbox/corner.xcf: Likewise.
	* themes/starfield/src/terminalbox/side.xcf: Likewise.
	* themes/starfield/starfield.png: Likewise.
	* themes/starfield/terminal_box_c.png: Likewise.
	* themes/starfield/terminal_box_e.png: Likewise.
	* themes/starfield/terminal_box_n.png: Likewise.
	* themes/starfield/terminal_box_ne.png: Likewise.
	* themes/starfield/terminal_box_nw.png: Likewise.
	* themes/starfield/terminal_box_s.png: Likewise.
	* themes/starfield/terminal_box_se.png: Likewise.
	* themes/starfield/terminal_box_sw.png: Likewise.
	* themes/starfield/terminal_box_w.png: Likewise.
	* themes/starfield/theme.txt: Likewise.

2012-02-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/00_header.in: Add missing export theme.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
	already included.
	Reported by: Eren D.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (grubdatadir): Removed.
	(Makefile.am): Move eveything grubdata to pkgdata.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c (get_sleep_type):
	Remove unused variable.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
	GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
	GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
	and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
	* grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
	i18n with gettext no-op.
	(skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
	GRUB_ACPI_OPCODE_STRING_CONST.
	(get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
	GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
	-Wno-error=missing-noreturn.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
	condition to avoid possibly infinite loops.
	* grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
	* grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
	condition to avoid possibly infinite loops.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
	on show_error.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/bin2h.c (usage): Add missing attribute noreturn.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
	if the size isn't divisible by 512.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Make list_push and list_remove functions rather than inline functions
	to decrease size and avoid aliasing violations.

	* include/grub/list.h (grub_list_push): Move to ...
	* grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
	* include/grub/list.h (grub_list_remove): Move to ...
	* grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.

2012-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
	and -Wunused-result.

2012-02-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (grub_cmd_deladdr): Fix index.
	Reported by: Seth Goldberg

2012-02-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.

2012-02-19  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
	* util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
	command line.
	* docs/grub.texi (Simple configuration): Document
	GRUB_CMDLINE_GNUMACH.

2012-02-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/Makefile.common (platform_SCRIPTS): New variable.
	(platform_PROGRAMS): Likewise.
	* gentpl.py: Mark *,module and *.image for install.
	* grub-core/gdb_grub.in: Add a notice of expected environment.
	* grub-core/Makefile.core.def (gdb_grub): Mark for install.
	(gmodule.pl): Likewise.

2012-02-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace grub_checkkey with grub_getkey_noblock.

	* grub-core/kern/term.c (grub_checkkey): Replaced with ...
	(grub_getkey_noblock): ... this. All users updated.

2012-02-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/console.c: Move to ...
	* grub-core/term/emu/console.c: ...here.
	(grub_ncurses_getkey): Fix return value if no key is detected.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/test.h (grub_unit_test_init): Add missing prototype.
	(grub_unit_test_fini): Likewise.
	* tests/lib/unit_test.c (main): Remove extra nested external prototype.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/test.h (GRUB_UNIT_TEST)

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_break): Clarify logic.
	Better error handling.
	(grub_script_return): Likewise.
	* grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
	rimplicit redifinition.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Internationalisation): Detail (lack of) collation in
	GRUB.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
	* grub-core/normal/main.c (grub_normal_read_line_real): Gettext
	prompt here.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
	as GRUB_ERR_BUG. Don't malloc if no device is available.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_terminfo_output_unregister):
	Mark calling with invalid term as GRUB_ERR_BUG.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/tftp.c (tftp_receive): Silently discard too short
	packets rather than raising an error.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
	in if.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
	diagnostic to dprintf.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
	device name.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
	(grub_ntfs_iterate_dir): Likewise.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Efiemu stylistic fixes and gettext.

	* grub-core/efiemu/i386/loadcore32.c
	(grub_arch_efiemu_relocate_symbols32): Avoid set in if.
	* grub-core/efiemu/i386/loadcore64.c
	(grub_arch_efiemu_relocate_symbols64): Likewise.
	* grub-core/efiemu/i386/pc/cfgtables.c
	(grub_machine_efiemu_init_tables): Likewise.
	* grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
	(grub_efiemu_loadcore_initXX): Add a filename argument.
	All users updated.
	Improved error message.
	* grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
	Add a filename argument.
	All users updated.
	* grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
	Reclassify double relocation as GRUB_ERR_BUG.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
	handling.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
	on partition.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.

2012-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve string. Gettextize.

2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
	utils.
	* util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.

2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
	[GRUB_UTIL]: New function.
	(insert_array) [GRUB_UTIL]: Store partmaps.
	* include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
	partmaps.
	(grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
	* util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
	(probe_abstraction): Print diskfilter and not raid.
	Reported by: Lennart Sorensen

2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
	* util/grub-mkimagexx.c (MASK3): New define.
	(add_value_to_slot_20b): Use MASK3.
	(add_value_to_slot_21): Likewise.
	(relocate_addresses): Fix format specification.
	(load_image): Explicitly init symtab_section.

2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
	(grub_util_biosdisk_get_grub_dev): Fix format specification.

2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
	on powerpc.
	Reported by: Lennart Sorensen

2012-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* gentpl.py: Add missing license header.
	* docs/grub.texi: Update copyright year.

2012-02-10  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Source grub-mkconfig_lib from the build directory at build time.
	Suggested by: Vladimir Serbinenko.

	* gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
	* util/grub-install.in: Define pkgdatadir if not already set, and source
	grub-mkconfig_lib from there.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Increase warning level.

	* conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
	-Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
	* configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
	(TARGET_CFLAGS): Likewise.
	(HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
	* grub-core/Makefile.core.def (decompressor_xz): Add
	-Wno-unreachable-code.
	(normal): Add -Wno-redundant-decls.
	(xzio): Add -Wno-unreachable-code.
	(lzopio): Add -Wno-redundant-decls -Wno-error.
	* grub-core/commands/acpi.c: Add exception to -Wcast-align.
	* grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
	* grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
	* grub-core/kern/dl.c: Add exception to -Wcast-align.
	* grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
	* grub-core/kern/i386/coreboot/init.c: Add exception to
	-Wsuggest-attribute=noreturn.
	* grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
	* grub-core/kern/ia64/dl_helper.c: Likewise.
	* grub-core/kern/mips/dl.c: Likewise.
	* grub-core/kern/sparc64/dl.c: Likewise.
	* grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
	(memcmp): Likewise.
	* grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
	* grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
	* grub-core/loader/mips/linux.c: Likewise.
	* grub-core/loader/multiboot_elfxx.c: Likewise.
	* grub-core/script/parser.y: Add exception to -Wunreachable-code.
	* grub-core/video/sm712.c: Add exception to -Wcast-align.
	* util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
	* grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
	fixme.
	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
	* grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
	Fix prototype.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
	address.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
	Avoid improper use of strings.
	(grub_cmd_legacy_initrdnounzip): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/misc.h (grub_util_warn): Add missing format
	attribute.
	(grub_util_info): Likewise.
	(grub_util_error): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mount.c (fuse_init): Avoid improper use of strings.
	* util/grub-fstest.c (fstest): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
	(grub_md_sha512_real): Likewise.
	(grub_util_get_geli_uuid): Likewise.
	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
	(grub_util_biosdisk_open): Fix format specification.
	Respect format security.
	* grub-core/kern/emu/misc.c (xmalloc): Respect format security.
	(xrealloc): Likewise.
	(xasprintf): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Include grub/crypto.h in init.c.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
	(generate_image): Make prefix a const char *.
	Fix format specifications. Respect format security.
	Avoid void * arithmetics.
	Avoid shadowing.
	(argp_parser): Remove unused variable. Respect format security.
	* util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
	(count_funcs) [!MKIMAGE_ELF64]: #if-out.
	(count_funcs): Remove unused variable.
	(relocate_addresses): Fix format specification.
	Disable x86-64 with elf32. Remove unused variables.
	(add_fixup_entry): Avoid shadowing.
	(make_reloc_section): Fix format specification.
	Use assert.
	(locate_sections): Fix format specifications.
	(load_image): Avoid shadowing.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
	Fix format specifications. Respect format security.
	Don't translate already translated grub_errmsg.
	(argp_parser): Remove unused variable

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrelpath.c (argp_parser): Remove unused variable.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
	(main): Likewise. Use xmalloc. Respect format security.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mklayout.c (console_grub_equivalence): Make "layout"
	a const char *.
	(argp_parser): Remove unused variable.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (grub_font_info): Make name a const char *.
	(add_pixel): Make static.
	(add_font): Likewise.
	(write_string_section): Make name and str a const char *.
	(write_be16_section): Make name a const char *.
	(print_glyphs): Make static.
	(write_font_ascii_bitmap): Likewise.
	(write_font_width_spec): Likewise.
	(write_font_pf2): Likewise.
	(argp_parser): Remove unused variable.
	Respect format security.
	(main): Avoid shadowing. Respect format security.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-editenv.c (argp_parser): Make static.
	(create_envblk_file): Use xmalloc.
	(open_envblk_file): Likewise.
	Resepect format security.
	(set_variables): Respect format security.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_find_device): Respect format security.
	(get_mdadm_uuid): Remove unused variable.
	(grub_util_pull_device): Dont call gettext on already translated
	grub_errmsg.
	(find_system_device): Remove unused variable.
	(grub_util_get_grub_dev): Likewise.
	(grub_make_system_path_relative_to_its_root): Respect format security.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (execute_command): Make first argument
	a const char *.
	(read_file): Avoid shadowing.
	Reuse underlying error message if device open fails.
	(cmd_cmp): Respect format security.
	(root): Make const char *.
	(fstest): Remove args argument and use global copy.
	Respect format security.
	(argp_parser): Make static.
	(main): Make default_root const char *.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mount.c (root): Make const char *.
	(execute_command): Make first argument a const char *.
	(fuse_init): Respect format security.
	(argp_parser): Make static. Remove unused variable.
	(main):  Make default_root a const char *.
	Respect format security.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-probe.c (probe): Don't call gettext on already translated
	grub_errmsg.
	Remove unused variables.
	(argp_parser): Remove unused variable.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-script-check.c (argp_parser): Remove unused variable.
	(main): Rename read to curread to avoid shadowing.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c (grub_util_write_image_at): Fix format specification.
	(grub_util_write_image): Likewise.
	(grub_script_execute_argument_to_string): Removed (unused).
	(grub_script_execute_menuentry): Likewise.
	(grub_putchar): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
	(FUNCTION) [GRUB_UTIL]: Likewise.
	(VARIABLE) [GRUB_UTIL]: Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
	NEED_REGISTER_FRAME_INFO in GRUB_UTIL.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
	buffer.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
	(LzmaEnc_SaveState): Removed (unused).
	(LzmaEnc_RestoreState): Likewise.
	(LzmaEnc_InitPriceTables): Made static.
	(LzmaEnc_Construct): Likewise.
	(LzmaEnc_FreeLits): Likewise.
	(LzmaEnc_Destruct): Likewise.
	(LzmaEnc_Init): Likewise.
	(LzmaEnc_InitPrices): Likewise.
	(LzmaEnc_Finish): Likewise.
	(LzmaEnc_PrepareForLzma2): Removed (unused).
	(LzmaEnc_MemPrepare): Likewise.
	(LzmaEnc_GetNumAvailableBytes): Likewise.
	(LzmaEnc_GetCurBuf): Likewise.
	(LzmaEnc_CodeOneMemBlock): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
	(grub_util_ldm_embed): Likewise.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-editenv.c (print_var): Rename name to varname to
	avoid shadowing.
	(main): Rename index to curindex to avoid shadowing.
	Make filename a const char *.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
	to arg_getline to avoid shadowing.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
	disk_ to avoid shadowing.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
	curindex to avoid shadowing.
	Make static.
	(MatchFinder_GetNumAvailableBytes): Make static.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (direct_read): Rename read to curread to
	avoid shadowing.

2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
	argument from encrypt to do_encrypt to avoid shadowing.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
	incorrect nesting of #if's.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
	checks which are always false on some platforms.
	(grub_cmd_lsacpi): Likewise.
	* grub-core/kern/misc.c (grub_strtoul): Likewise.
	* grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
	Likewise.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
	* grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
	re_dfa_t to avoid breaking alignment invariants.
	* grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
	* grub-core/gnulib/regex.h (re_dfa_t): ... here.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
	* grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
	Fix declaration.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
	conserve alignment invariants.
	(grub_ehci_ehcc_read16): Likewise.
	(grub_ehci_oper_read32): Likewise.
	(grub_ehci_oper_write32): Likewise.
	(grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
	Conserve alignment invariants.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
	* include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
	declarations.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostfs.c (grub_hostfs_close):
	Remove unused variable.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
	Remove set in if.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/net.h: Remove double declarations.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove "payload" command in ia64 Linux loader since I couldn't
	find any evidence of it being used for anything.
	Replace "relocate" command with an environment variable

	* grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
	fields.
	(ia64_boot_payload): Removed.
	(last_payload): Likewise.
	(RELOCATE_OFF): Likewise.
	(RELOCATE_ON): Likewise.
	(RELOCATE_FORCE): Likewise.
	(relocate): Likewise.
	(free_pages): Don't free payloads.
	(grub_load_elf64): Use common error messages.
	Use "linux_relocate" variable.
	Increase the space after boot_params.
	(grub_cmd_payload): Removed.
	(grub_cmd_relocate): Likewise.
	(grub_cmd_fpswa): Improve messages.
	(cmd_payload): Removed.
	(cmd_relocate): Likewise.
	(GRUB_MOD_INIT): Don't register "payload" and "relocate".
	(GRUB_MOD_FINI): Don't unregister "payload" and "relocate".

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Convert UHCI to DMA framework.

	* grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
	(grub_uhci_pci_iter): Fill new members
	(grub_alloc_td): Use P2V and V2P functions.
	(grub_free_queue): Likewise.
	(grub_alloc_qh): Likewise.
	(grub_uhci_setup_transfer): Likewise.
	(grub_uhci_check_transfer): Likewise.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/colors.c (grub_video_parse_color): Fix error message.
	Remove assignment in if while on it.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkstandalone.in: Fix modules directory.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (image_targets): Set default_compression to lzma
	on i386-pc target.
	(argp_parser): Accept "auto" as compression specification.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix `help' with unloaded modules.

	* include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
	* grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
	(grub_dyncmd_dispatcher): Small stylistic fix.
	* grub-core/commands/help.c (grub_cmd_help): Load missing modules when
	explicit help is requested.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
	Explicitly init restart while on it.

2012-02-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
	uninited variable.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mknetdir.in: Use . rather than source for POSIX
	compatibility.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-probe.c (main): Fix trailing space in compatibility hint.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
	variable.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
	without quotes.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
	iteration of partitions.

2012-02-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve gettext support. Stylistic fixes and error handling fixes while
	on it.

2012-02-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
	part. Instead setup the correct stack in RM.
	* grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
	for stack.
	* include/grub/i386/relocator_private.h: New file.

2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
	argument.
	* util/grub-fstest.c (options): Add missing DEVICE part.

2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Clarify and unify messages.

	* grub-core/commands/hashsum.c (options): Unify messages.
	* grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
	literal-only message as translatable.
	* grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
	* grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
	* grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
	commands.
	* grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
	key, not the key used to unlock. Clarify what it's used for.
	* grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
	* grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
	* grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
	* util/grub-editenv.c (options): Unify "verbose" message.
	* util/grub-fstest.c (read_file): Unify error message.
	(fstest): Add quotes around commands.
	(options): Unify "verbose" message.
	* util/grub-install.in: Add quotes around variable name.
	* util/grub-kbdcomp.in: Unify error message.
	* util/grub-mkfont.c (main): Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mklayout.c (options): Unify "verbose" message.
	* util/grub-mkstandalone.in: Unify help and verbose messages.
	* util/grub-mount.c (options): Unify "verbose" message.
	* util/grub-probe.c (options): Likewise.
	* util/grub-script-check.c (options): Likewise.
	* util/grub-setup.c (setup): Unify no-terminator message.
	(options): Use DEVICE and not DEV.
	Unify "verbose" message.
	* util/ieee1275/ofpath.c (xrealpath): Unify error message.

2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve and unify messages.

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
	name. All users updated.
	Print filename in error.
	(read_device_map): Print filename in error.
	* util/getroot.c (grub_guess_root_devices): Print filename in error.
	(grub_util_get_os_disk): Likewise.
	(grub_util_biosdisk_get_grub_dev): Likewise.
	(grub_util_check_block_device): Likewise.
	(grub_util_check_char_device): Likewise.
	(grub_make_system_path_relative_to_its_root): Likewise.
	* util/grub-editenv.c (create_envblk_file): Likewise.
	(open_envblk_file): Likewise.
	(write_envblk): Likewise.
	* util/grub-fstest.c (cmd_cp): Likewise.
	(cmd_cat): Likewise.
	(cmd_cmp): Likewise.
	* util/grub-menulst2cfg.c (main): Likewise.
	* util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
	(write_font_width_spec): Likewise.
	(write_font_pf2): Likewise.
	* util/grub-mkimage.c (generate_image): New argument outname.
	All users updated.
	Remove unreacheable message.
	(options): Unify messages.
	(help_filter): Likewise.
	* util/grub-mklayout.c (usage): Removed (unused).
	(main): Print filename in error.
	* util/grub-mkrescue.in: Fix wrong quoting.
	* util/grub-setup.c (setup): Print filename in error.
	* util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
	(check_sas): Likewise.
	* util/misc.c (grub_util_get_fp_size): Removed.
	(grub_util_get_image_size): Print filename in error.
	(grub_util_read_at): Removed.
	(grub_util_read_image): Print filename in error.
	(grub_util_load_image): Likewise.
	(grub_util_write_image_at): New argument filename. All users updated.
	Print filename in error.
	(grub_util_write_image): New argument filename. All users updated.
	Print filename in error.
	* util/raid.c (grub_util_raid_getmembers): Print filename in error.
	* util/resolve.c (grub_util_resolve_dependencies): Likewise.

2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (pxechain): New module.
	* grub-core/loader/i386/pc/pxechainloader.c: New file.
	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
	function.
	(grub_pc_net_config_real): Use grub_pxe_get_cached.
	* include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.

2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
	* include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
	* include/grub/err.h (grub_error_saved): New struct.
	(grub_errmsg): Make array size explicit.
	* include/grub/misc.h (grub_error_save): New function.
	(grub_error_load): Likewise.
	* grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
	(grub_error_push): Update `errno' member name.
	(grub_error_pop): Likewise
	* grub-core/net/tftp.c (tftp_data): New member save_err.
	(tftp_receive): Save error.
	(tftp_open): Restore error.

2012-02-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
	to real mode down to execute A20-related code in protected mode as
	intended.

2012-02-05  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
	NULL when the argument `level' has an unexpected value.

2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Move platform-dependent files from $prefix to $prefix/$platform.

	* config.h.in (GRUB_TARGET_CPU): New definition.
	(GRUB_PLATFORM): Likewise.
	* configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
	* grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
	* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
	* grub-core/kern/dl.c (grub_dl_load): Likewise.
	* grub-core/normal/autofs.c (read_fs_list): Likewise.
	* grub-core/normal/crypto.c (read_crypto_list): Likewise.
	* grub-core/normal/dyncmd.c (read_command_list): Likewise.
	* grub-core/normal/term.c (read_terminal_list): Likewise.
	* grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
	$prefix/locale.
	(grub_gettext_init_ext): Likewise.
	* grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
	grub_platform.
	* util/grub-install.in: Update directories.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.

2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
	grub_error framework. All users updated.

2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c: Mostly rewritten to avoid using
	lists (by always binsearching), improve caching (cache strings
	used for binsearch, not only results), improve
	maintainability (by using more structured binary search) and correct
	error handling.

2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_return): Fix warning.

2012-02-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_return): Fix potential
	NULL-dereference.
	Reported by: Jim Meyering.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.
	* util/grub-install.in: Gettextize the strings missed in first pass.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-mkdevicemap): Removed.
	* include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
	* include/grub/util/deviceiter.h: Removed.
	* util/deviceiter.c: Likewise.
	* util/getroot.c (grub_util_get_os_disk): New function.
	* util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
	replacement for EFI.
	* util/grub-mkdevicemap.c: Removed.
	* util/grub-probe.c (probe): Handle PRINT_DISK.
	(argp_parser): Handle -t disk.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c: Migrate to argp.
	* util/grub-mklayout.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c: Likewise.
	* util/grub-mkrelpath.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/grub-script-check.c: Likewise.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-reboot.in: Add missing datarootdir.
	Add missing newline.
	* util/grub-set-default.in: Add missing datarootdir.
	* util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
	* util/grub-mkrescue.in: Likewise.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-kbdcomp.in: Add decent help and gettextize.
	* docs/man/grub-kbdcomp.h2m: New file.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Migrate grub-mkimage.c to argp.

	* Makefile.util.def (grub-mkimage): Add util/argp_common.c.
	(grub-setup): Likewise.
	* util/grub-setup.c (print_version): Move to ...
	* util/argp_common.c (print_version): ... here.
	* util/grub-setup.c (argp_program_version_hook): Move to ...
	* util/argp_common.c (argp_program_version_hook): ... here.
	* util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
	safety.
	* util/grub-mkimage.c (main): Migrate to argp.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Use same message as
	util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
	for better translations.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
	options with generic grub-mkrescue.in with the goal of future
	merge.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c: Add missing include of i18n.h
	* grub-core/lib/relocator.c: Likewise.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
	error.
	(allocate_pages): Check return value.
	Replace fatal with error.
	(grub_linux_boot): Replace printf with dprintf.
	Check find_mmap_size return value.
	Replace fatal with error.
	Don't call grub_machine_fini.
	(grub_load_elf64): Replace printf with dprintf.
	(grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	(grub_cmd_payload): Likewise.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
	message.
	* grub-core/video/radeon_fuloong2e.c
	(grub_video_radeon_fuloong2e_setup): Likewise.
	* grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
	* grub-core/video/video.c (grub_video_set_mode): Don't override
	standard out of memory message.

2012-02-03  Grégoire Sutre  <gregoire.sutre@gmail.com>

	NetBSD disk wedge support.

	* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
	[__NetBSD__]: Handle NetBSD disk wedges.
	* util/getroot.c (convert_system_partition_to_system_disk)
	[__NetBSD__]: Likewise.

2012-02-03  Mark Wooding <mdw@distorted.org.uk>

	* util/grub-mkconfig.in: Use umask rather than chmod to create
	grub.cfg.new to avoid insecure grub.cfg.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

        * grub-core/commands/ls.c: Gettextize.
        * grub-core/commands/setpci.c: Likewise.
        * grub-core/commands/videotest.c: Likewise.
        * grub-core/disk/geli.c: Likewise.
        * grub-core/kern/mm.c: Likewise.
        * grub-core/lib/relocator.c: Likewise.
        * grub-core/loader/efi/appleloader.c: Likewise.
        * grub-core/loader/i386/xnu.c: Likewise.
        * grub-core/loader/ia64/efi/linux.c: Likewise.
        * grub-core/loader/xnu.c: Likewise.
        * grub-core/net/dns.c: Likewise.
        * grub-core/net/net.c: Likewise.
        * grub-core/script/lexer.c: Likewise.
        * grub-core/script/parser.y: Likewise.
        * grub-core/script/yylex.l: Likewise.
        * util/getroot.c: Likewise.
        * util/grub-setup.c: Likewise.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
	number.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
	macro.
	* grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
	* grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkstandalone.in: Fix help messages. Gettextize.
	* util/grub-install.in: Gettextize.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
	if not available.
	(grub_warn): Gettextize.
	* util/grub-mknetdir.in: Gettextize.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* po/POTFILES-shell.in: Regenerate.

2012-02-03  Richard Laager <rlaager@wiktel.com>

	* util/grub-mkimage.c (main): Fix format-security warning.
	* util/grub-mkrelpath.c (main): Likewise.
	* util/grub-probe.c (main): Likewise.

2012-02-03  Richard Laager <rlaager@wiktel.com>

	* util/grub-probe.c (probe): Don't crash on canonicalize_file_name
	failure.
	Put back lost PRINT_DRIVE.

2012-02-03  Richard Laager <rlaager@wiktel.com>

	* util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
	(grub_guess_root_devices): Replace strlen with sizeof.
	Avoid crash.
	(find_root_devices_from_poolname): Remove unused variable.
	Handle raidzN.

2012-02-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Support install on multi-device filesystems.

	* include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
	(grub_guess_root_devices): ...this. Return char **. All users updated.
	* include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
	Removed.
	* util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
	(find_root_devices_from_poolname): ... here.
	(grub_find_root_devices_from_mountinfo): Return char **. Make static.
	Support zfs-fuse.
	(grub_guess_root_device): Rename to ...
	(grub_guess_root_devices): ... this. Return char **. All users updated.
	* util/grub-install.in: Handle multi-device filesystems.
	* util/grub-probe.c (probe). Make device_names a char **. Add delim
	argument. All users updated.
	Handle multi-device filesystems.
	Use 'delim' as separator.
	Remove device check to allow filesystems on file.
	(main): Support -0 argument. Handle multi-device.
	* util/grub-setup.c (setup): Remove root argument. Handle multi-device.
	Fix a cross-device check while on it.
	(arguments): Remove root_dev.
	(argp_parser): Remove -r.
	(main): Remove root_dev.

2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfscrypt.c: Add link to documentation.

2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
	symbol.
	Reported by: NODA, Kai <nodakai>.

2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ehci on amd64.

	* grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
	pointers.
	* grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
	(grub_ehci_setup_qh): Likewise.
	(grub_ehci_find_qh): Likewise.
	(grub_ehci_transaction): Likewise.
	(grub_ehci_setup_transfer): Likewise.
	(grub_ehci_check_transfer): Likewise.
	(grub_ehci_portstatus): Likewise.
	(grub_ehci_detect_dev): Likewise.
	(grub_ehci_transfer_controller_data): New field td_last_phys.
	(grub_ehci_setup_transfer): Fill td_last_phys.
	(grub_ehci_check_transfer): Use td_last_phys.

2012-02-01  Seth Goldberg <seth.goldberg@oracle.com>

	* grub-core/normal/context.c (grub_env_extractor_close): Don't crash
	if no submenu is present.

2012-02-01  Aleš Nesrsta <starous@volny.cz>

	CBI support.

	* include/grub/usb.h (grub_usbms_protocol_t): New values
	GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
	* grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
	(GRUB_USBMS_CBI_ADSC_REQ): Likewise.
	(grub_usbms_dev): Add subclass, protocol and intrpt.
	Remove in_maxsz and out_maxsz.
	(grub_usbms_reset): Rename to ...
	(grub_usbms_bo_reset): .. this.
	(grub_usbms_cbi_cmd): New function.
	(grub_usbms_cbi_reset): Likewise.
	(grub_usbms_reset): Likewise.
	(grub_usbms_attach): Recognize cbi. Same subclass and protocol.
	(grub_usbms_transfer): Rename to ...
	(grub_usbms_transfer_bo): ... this.
	(grub_usbms_transfer_cbi): Likewise.
	(grub_usbms_transfer): Likewise.

2012-02-01  Aleš Nesrsta <starous@volny.cz>
2012-02-01  Vladimir Serbinenko  <phcoder@gmail.com>

	EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
	the support for the CS5536 modification thereos and few bugfixes.

	* grub-core/Makefile.core.def (ehci): New module.
	* grub-core/bus/usb/ehci.c: New file.
	* grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
	port and hubaddr. All users updated.
	Save port and hubaddr into dev structure.
	* include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
	define.
	* include/grub/pci.h (grub_dma_phys2virt): New function.
	(grub_dma_virt2phys): Likewise.
	* include/grub/usb.h (grub_usb_device): New members port and hubaddr.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
	check as some mkfs implementations omit it.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Unicode): Mention identifier and space limitations.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
	Add new member volname2.
	(grub_jfs_label): Use volname2 if available.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
	over last_mounted as seen in image generated by mkfs.nilfs2.
	(grub_nilfs2_label): Use sizeof for the size of s_volume_name.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
	to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
	(grub_fat_label) [MODE_EXFAT]: Use macros for size.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
	over the sector.

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
	subvolume name (by removing a bogus and useless check).

2012-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
	sizeof while on it.

2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
	(grub_scsi_read_capacity10): ... this.
	(grub_scsi_read_capacity16): New function.
	(grub_scsi_open): Use read_capacity16 if read_capacity10 returned
	0xffffffff.
	Fix off-by-one error.
	* include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
	64-bit unsigned.
	* include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
	(grub_scsi_read_capacity10): ... this.
	(grub_scsi_read_capacity_data): Rename to ...
	(grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
	(grub_scsi_read_capacity16): New struct.
	(grub_scsi_read_capacity16_data): Likewise.
	(grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
	grub_scsi_cmd_read_capacity10.
	New command grub_scsi_cmd_read_capacity16.

2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>

	SCSI >2TiB support.

	* grub-core/disk/scsi.c (grub_scsi_read16): New function.
	(grub_scsi_write16): Likewise.
	(grub_scsi_read): Use read16 when necessary.
	(grub_scsi_write): Likewise.
	* include/grub/scsicmd.h (grub_scsi_read16): New struct.
	(grub_scsi_write16): Likewise.
	(grub_scsi_cmd_t): Add READ16 and WRITE16.

2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>

	SCSI write support (for usbms mainly).

	* grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
	a const pointer.
	(grub_scsi_write): Implement.
	* include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer

2012-01-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
	variable.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/string.h (memchr): New function.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
	with grub_printf to avoid unnecessary fatal failure.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
	(INT_MAX): Likewise.
	* grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
	* grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
	* grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
	(strcpy): Likewise.
	(strstr): Likewise.
	(strchr): Likewise.
	(strncpy): Likewise.
	(strcat): Likewise.
	(strncat): Likewise.
	(strcoll): Likewise.
	* include/grub/types.h (GRUB_SHRT_MAX): New define.
	(GRUB_INT_MAX): Likewise.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/regcomp.c (regerror): Don't use abort on
	unexpected error.
	(optimize_utf8): Likewise.
	* grub-core/lib/posix_wrap/stdlib.h (abort): Removed.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/lnxboot.S: Use
	GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
	* grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
	location.
	* include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
	definition.
	(GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
	* grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
	now to avoid double free.
	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
	hostdisk.
	* include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
	* util/grub-probe.c (escape_of_path): Always return a new copy.
	(print_full_name): Escape path.
	(probe): Don't call grub_util_devname_to_ofpath on NULL.
	Fix hints on abstractions.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
	Don't add "root" line if no compatibility hont is available.
	Suggested by: Seth Goldberg.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/ata.h (grub_ata): Add a new element maxbuffer.
	* grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
	* grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
	* grub-core/disk/ahci.c (grub_ahci_open): Likewise.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-pe2elf.c (ehdr): Make static.
	(shdr): Likewise.
	(num_sections): Likewise.
	(offset): Likewise.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate ofpath limits and possible overflows.

	* util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
	(OF_PATH_MAX): Removed.
	(MAX_DISK_CAT): New const.
	(find_obppath): Use allocated rather than preallocated buffer.
	Return result. Argument of_path removed. All users updated.
	Add missing fdstat.
	(xrealpath): New function.
	(block_device_get_sysfs_path_and_link): Remove sysfs argument.
	Allocate rather than use preallocated buffer. All users updated.
	(__of_path_common): Use allocated rather than preallocatecd buffer.
	Return result. Argument of_path removed. All users updated.
	(vendor_is_ATA): Read only needed part form the file.
	(check_sas): Allocate depending on contents rather than fixed.
	(main) [STANDALONE]: Handle NULL result.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/completion.c (iterate_dev): Close the disk.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Cryptodisk write support.

	* grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
	(grub_cryptodisk_decrypt): Moved logic to ...
	(grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
	(grub_cryptodisk_write): Implement.
	* grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
	(grub_util_fd_write): ... this. Make global.
	* include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/list.h (grub_list_remove): Don't crash if element is
	removed twice.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Rename ofconsole to console.

	* grub-core/commands/terminal.c (handle_command): Handle ofconsole
	as sysnonym to console.
	* grub-core/term/ieee1275/ofconsole.c: Renamed to ..
	* grub-core/term/ieee1275/console.c: ... this. All users updated.
	Rename grub_ofconsole_ to grub_console_. All users updated
	(grub_console_term_output): Rename "ofconsole" to "console".
	* grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
	as "console".

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
	handling.
	* include/grub/disk.h (grub_disk_dev_id): Remove obsolete
	GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
	GRUB_DISK_DEVICE_FILE_ID.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
	and improve performance.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
	missing ieee1275/ prefix on whole disk.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
	* include/grub/powerpc/ieee1275/biosdisk.h: Likewise.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cpio.c (handle_symlink): Fix a bug.

2012-01-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Merge common RAID and LVM logic to an abstract diskfilter.
	Add LDM support using the same framework.

	* Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
	grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
	(libgrubmods): Remove grub-core/disk/raid.c and
	grub-core/partmap/gpt.c.
	* grub-core/Makefile.core.def (ldm): New module.
	(raid): Renamed to diskfilter. All users updated.
	* grub-core/disk/raid.c: Moved to ...
	* grub-core/disk/diskfilter.c: ... here.
	* grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
	(lv_num): New var.
	(find_array): Renamed to ...
	(find_lv): ... this. Support multi-LV. Skip nameless LVs
	(grub_is_array_readable): Renamed to ...
	(grub_is_lv_readable): ... this. Support multinode hierarchy.
	(insert_array): New argument id.
	(is_node_readable): New function.
	(scan_device): Rename to ...
	(scan_disk): .. this. Restrict to one disk.
	(scan_devices): New function.
	(grub_diskfilter_iterate): Support multi-LV.
	Skip invisible and nameless LVs.
	(grub_diskfilter_memberlist): Support multi-LV.
	(grub_diskfilter_read_node): New function.
	(grub_raid_read): Most of logic moved to ...
	(read_segment): ... here
	(read_lv): New function.
	(grub_diskfilter_get_vg_by_uuid): New function.
	(grub_diskfilter_make_raid): Likewise.
	* grub-core/disk/ldm.c: New file.
	* grub-core/disk/lvm.c (vg_list): Removed.
	(lv_count): Likewise.
	(scan_depth): Likewise.
	(is_lv_readable): Likewise.
	(grub_lvm_getvalue): Advance pointer past the number.
	(find_lv): Removed.
	(do_lvm_scan): Refactored into ...
	(grub_lvm_detect): ... this. Support raid.
	(grub_lvm_iterate): Removed.
	(grub_lvm_memberlist): Likewise.
	(grub_lvm_open): Likewise.
	(grub_lvm_close): Likewise.
	(read_lv): Likewise.
	(read_node): Likewise.
	(is_node_readable): Likewise.
	(is_lv_readable): Likewise.
	(grub_lvm_read): Likewise.
	(grub_lvm_write): Likewise.
	(grub_lvm_dev): Use diskfilter
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
	new interface.
	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
	* grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
	grub_diskfilter_read_node.
	Fix a bug with xor.
	* grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
	grub_diskfilter_read_node.
	Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
	* grub-core/kern/disk.c (grub_disk_dev_list): Make global.
	(grub_disk_dev_iterate): Move from here...
	* include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
	* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
	Make global.
	(grub_hostdisk_find_partition_start): Likewise.
	(grub_hostdisk_os_dev_to_grub_drive): New function.
	(grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
	* grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
	* util/getroot.c (make_device_name): ... here.
	* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
	Move to ...
	* util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Move to ...
	* util/getroot.c (convert_system_partition_to_system_disk): ...here.
	* grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
	* util/getroot.c (device_is_wholedisk): ... here.
	* grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
	* util/getroot.c (find_system_device): ... here.
	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
	Move to ...
	* util/getroot.c (grub_util_biosdisk_is_present): ...here.
	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
	Move to ...
	* util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
	Handle LDM.
	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
	Move to ...
	* util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
	* grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
	* include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
	DISKFILTER.
	* include/grub/raid.h: Renamed to ...
	* include/grub/diskfilter.h: ... this.
	* include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
	(GRUB_RAID_LAYOUT_*): Make into array.
	(GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
	(grub_diskfilter_vg): New struct.
	(grub_diskfilter_pv_id): Likewise.
	(grub_raid_member): Removed.
	(grub_raid_array): Likewise.
	(grub_diskfilter_pv): New struct.
	(grub_diskfilter_lv): Likewise.
	(grub_diskfilter_segment): Likewise.
	(grub_diskfilter_node): Likewise.
	(grub_diskfilter_get_vg_by_uuid): New proto.
	(grub_raid_register): Inline.
	(grub_diskfilter_unregister): Likewise.
	(grub_diskfilter_make_raid): New proto.
	(grub_diskfilter_vg_register): Likewise.
	(grub_diskfilter_read_node): Likewise.
	(grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
	* include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
	(grub_util_is_ldm): Likewise.
	(grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
	(grub_hostdisk_find_partition_start): Likewise.
	(grub_hostdisk_os_dev_to_grub_drive): Likewise.
	* include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
	New definition.
	(grub_gpt_partition_map_iterate): New proto.
	* include/grub/lvm.h (grub_lvm_vg): Removed.
	(grub_lvm_pv): Likewise.
	(grub_lvm_lv): Likewise.
	(grub_lvm_segment): Likewise.
	(grub_lvm_node): Likewise.
	* util/getroot.c [...]
	* util/grub-probe.c (probe_raid_level): Handle diskfilter.
	(probe_abstraction): Likewise.
	* util/grub-setup.c (setup): Remove must_embed. Support LDM.
	(main): Remove dead logic.

2012-01-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Simplify root device discover and don't fail when trying to open
	incorrect devices.

	* grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
	function.
	(get_diskname_from_path): Likewise.
	(grub_efidisk_get_device_name): Use get_diskname_from_path instead
	of iterating.

2012-01-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.

2012-01-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
	pastthe end.

2012-01-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Add missing \.
	Reported by: gentoofan

2012-01-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (xz_decompress): Fix return value.
	(direct_read): Use correct compressed size.
	(grub_squash_read_data): Likewise.

2012-01-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Platform limitations): New section.
	(Platform-specific operations): Likewise.
	* docs/grub-dev.texi (Porting): Likewise.

2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>

	IEEE1275 disk write support.

	* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
	const void *.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
	and seek loginc to ...
	(grub_ofdisk_prepare): ... here.
	(grub_ofdisk_write): Implement.

2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>

	ARC disk write support.

	* grub-core/disk/arc/arcdisk.c (handle_writable): New var.
	(reopen): New argument writable. All users updated.
	Handle required access mode.
	(grub_arcdisk_write): Implement.
	* include/grub/arc/arc.h (grub_arc_file_access): New enum.
	(grub_arc_firmware_vector): Make buffer to write a const buffer.

2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
	(read_sblock): Don't attempt to read superblocks outside the disk size.

2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
	first superblock to find the second one when possible.

2012-01-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix an ARC bug.
	Print a warning if no platform-specific setup is available.

2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Use static allocation rather than scratch pointer in reed_solomon.
	It decreases its size significantly and avoids a variable in .text.

	* grub-core/lib/reed_solomon.c (scratch): Removed.
	(chosenstat): New const or static array.
	(sigma): Likewise.
	(errpot): Likewise.
	(errpos): Likewise.
	(sy): Likewise.
	(mstat): Likewise.
	(errvals): Likewise.
	(eqstat): Likewise.
	(pol_evaluate): Replace x with log_x argument. All users updated.
	(syndroms): Removed.
	(gauss_solve): Use statically allocated arrays.
	(rs_recover): Likewise.
	Calculate syndroms directly.
	(decode_block): Use statically allocated arrays.
	(grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
	(main) [TEST]: Allow -DTEST -DSTANDALONE.

2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate fixed limit on reed solomon decoder length.

	* grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
	rather than hardcoding the address.
	* grub-core/boot/i386/pc/startup_raw.S: Add new data field
	no_reed_solomon_length.
	Move gate_a20 to no-reed-solomon part.
	Don't force a particular size of no reed-solomon part.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
	Removed.
	(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
	* util/grub-setup.c (setup): Read no_rs_length from the image itself.

2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (match_files): Handle filenames
	without explicit device.
	(wildcard_expand): Don't add explicit device if not already present.
	* tests/grub_script_echo1.in: Add a new expansion test.

2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace single-linked with double-linked lists. It results in more
	compact and more efficient code.

	* grub-core/kern/list.c (grub_list_push): Moved from here ...
	* include/grub/list.h (grub_list_push): ... to here. Set prev.
	(grub_list_remove): Moved from here ...
	* include/grub/list.h (grub_list_remove): ... here. Use and set prev.
	(grub_prio_list_insert): Set prev.
	* include/grub/list.h (grub_list): Add prev. All users updated.

2012-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle newer autotools. Add some missing quotes while on it.

	* Makefile.am (pkglib_DATA): Remove update-grub_lib.
	(pkglib_DATA): Move grub-mkconfig_lib from here ...
	(pkgdata_DATA): ... here.
	* Makefile.util.def (update-grub_lib): Removed.
	* conf/Makefile.common (pkglib_DATA): Removed.
	(pkglib_SCRIPTS): Likewise.
	(pkgdata_DATA): New variable.
	* tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
	needed.
	Add missing quotes.
	Remove unused variable while on it.
	* tests/util/grub-shell.in: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_illumos.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/update-grub_lib.in: Removed.

2012-01-24  Seth Goldberg <seth.goldberg@oracle.com>

	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
	a workaround for intel problem.

2012-01-23  Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
2012-01-23  Vladimir Serbinenko  <phcoder@gmail.com>
2012-01-23  pfsmorigo

	* util/grub-install.in: Support dd'in into PreP partition.
	* util/grub-probe.c (probe): Support discovering partition type.
	(main): Support -t msdos_parttype.

2012-01-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
	infinite recursion using counter.
	* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
	init to skip it if the magic check fails.
	(dec_stream_header): Init s->crc32.

2012-01-22  Vladimir Serbinenko  <phcoder@gmail.com>
2012-01-22  Zachary Bedell <pendorbound@gmail.com>
2012-01-22  Richard Laager <rlaager@wiktel.com>

	* grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
	All users updated.
	(find_bestub): Determine correct size.
	(fill_vdev_info_real): Fill ashift. New argument. All users updated.
	(scan_disk): Align the size down.
	Call check pool before find_bestub to have ashift.

2012-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (malloc_in_range): Remove couple of
	dprintf in no-malloc zone.

2012-01-22  Mario Limonciello <mario_limonciello@dell.com>

	* configure.ac: Add back in test for limits.h.

2012-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Support 4K-sector NTFS.

	* include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
	(grub_ntfs_data): Remove blocksize.
	* grub-core/fs/ntfs.c (fixup): Fix size comparison.
	Remove data argument. All users updated.

2012-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
	being in .text to avoid dprel references.
	* include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
	* include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
	(grub_arch_highmemsize): Likewise.
	* include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
	* include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
	* include/grub/mips/time.h (grub_arch_cpuclock): Likewise.

2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Support powerpc with GCC that defines __PPC__ but not __powerpc__.

	* config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
	* grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.

2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
	GRUB_UTIL.
	(grub_set_datetime_cmos): Likewise.

2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Make XZ compression parameters dependent on target and not host CPU.

	* configure.ac: Define GRUB_TARGET_CPU_XYZ series.
	* grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.

2012-01-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
	set but not used variable.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
	created when no uuid support is compiled into mkfs.reiser.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
	(utf8_to_macroman): Do the opposite.
	* grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Refise build qemu_mips w/o unifont.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate grub_min/grub_max prone to overflow usage.

	* grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
	(poll_nonroot_hub): Likewise.
	* grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
	(grub_affs_label): Likewise.
	* grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
	* grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
	(grub_hfs_label): Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
	* grub-core/fs/zfs/zfs.c (MIN): Remove.
	(zap_leaf_array_equal): Use grub_size. Remove MIN.
	(zap_leaf_array_get): Likewise.
	(dnode_get_path): Likewise.
	* grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
	* grub-core/io/xzio.c (grub_xzio_read): Likewise.
	* grub-core/script/execute.c (grub_script_break): Likewise.
	* grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
	grub_max.
	* grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
	* include/grub/misc.h (grub_min): Removed.
	(grub_max): Likewise.

2012-01-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
	direct.inode = 0.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/datetime.h (grub_datetime2unixtime): Fix offset.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
	* grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
	rather than a hack for grub_strncasemap.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Support multiple initrds
	Note: part of this was accidently committed in r3739.

	* grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
	initrd.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
	disks with unknown size.
	* grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove defines pertaining to arbitrary limits not affecting GRUB
	anymore.

	* grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
	(EXT2_MAX_SYMLINKCNT): Likewise.
	* grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
	* grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
	* include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
	(GRUB_PXE_MAX_BLKSIZE): Likewise.
	* include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
	* include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
	(DN_MAX_OBJECT_SHIFT): Likewise.
	(DN_MAX_OFFSET_SHIFT): Likewise.
	(DN_MAX_OBJECT): Likewise.
	(DNODES_PER_LEVEL_SHIFT): Likewise.
	* include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
	(SPA_MAXBLOCKSIZE): Likewise.
	(SPA_BLOCKSIZES): Likewise.
	* include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
	(MZAP_MAX_BLKSZ): Likewise.

2012-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
	handle NULL appropriately.
	Remove MIN.

2012-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix efiemu.

	* grub-core/efiemu/runtime/efiemu.c: explicitly include right
	cpu/types.h.
	(efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
	* configure.ac: Fix efiemu check.

2012-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
	grub_probe.
	Reported by: adamwill

2012-01-12  Seth Goldberg <seth.goldberg@oracle.com>

	* grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.

2012-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of wide characters in gfxterm.

	* grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
	(clear_char): Likewise.
	(paint_char): Skip code == NULL chars.
	(grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.

2012-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c: Move comment to right place.

2012-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
	(GRUB_AFFS_FLAG_FFS): Put back where it was.
	(grub_affs_mount): Revert the correct version checking.

2012-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Unicode): Mention several other unsupported features.

2011-12-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
	case statements as compile-time one.
	(direct_read): Prevent spurious warnings.
	(grub_squash_read_data): Likewise.

2011-12-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Various squash4 fixes and LZO and XZ support.

	* Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
	Add xzembed source files.
	* grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
	* grub-core/fs/squash4.c (grub_squash_super): New field compression.
	(grub_squash_inode): New subtype long_dir.
	(SQUASH_TYPE_LONG_DIR): New inode type.
	(COMPRESSION): New enum.
	(XZBUFSIZ): New const.
	(grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
	(read_chunk): Use data->decompress.
	(zlib_decompress): New function.
	(lzo_decompress): Likewise.
	(xz_decompress): Likewise.
	(squash_mount): Set new data fields.
	(grub_squash_iterate_dir): Handle long dir.
	(squash_unmount): Free xzdec and xzbuf.
	(grub_squash_open): Check ino type.
	(direct_read): Stylistic fixes. Use data->decompress.
	(grub_squash_read_data): Likewise.
	* grub-core/io/gzio.c (grub_gzio): Remove disk_input.
	(get_byte): Likewise.
	(grub_zlib_disk_read): Removed.
	* grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
	(GRUB_POSIX_BOOL_DEFINED): New define.
	* grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
	* grub-core/lib/xzembed/xz.h: Addmissing includes.
	[!GRUB_POSIX_BOOL_DEFINED]: Define bool.
	* include/grub/deflate.h (grub_zlib_disk_read): Removed.

2011-12-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't override more informative errors.

	* grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
	* grub-core/font/font.c (open_section): Likewise.
	* grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
	filename. Don't override errors.
	(grub_cmd_openbsd_ramdisk): Don't override errors.
	* grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	* grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
	(grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	(grub_cmd_payload): Likewise.
	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
	(grub_cmd_module): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
	(grub_cmd_xnu_mkext): Likewise.
	(grub_cmd_xnu_ramdisk): Likewise.
	(grub_xnu_check_os_bundle_required): Likewise.
	(grub_xnu_load_kext_from_dir): Likewise.
	(grub_cmd_xnu_kextdir): Likewise.
	* grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
	as 1024 in block size field. Found on one of my test images.
	Small optimisation while on it.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
	* grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
	(grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
	performance fixes while on it.
	(grub_sfs_close): Fix memory leak while on it.
	(grub_sfs_label): Convert Latin1 to UTF-8.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
	space to avoid overflows.
	(grub_hfs_label): Convert from macroman to UTF-8.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* unicode: Import Unicode 6.0 data.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
	outside of range.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid cutting in the middle of UTF-8 character.

	* include/grub/charset.h (grub_getend): New function.
	* grub-core/script/function.c (grub_script_function_find): Use
	grub_getend.
	* grub-core/normal/completion.c (add_completion): Likewise.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
	(grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
	* include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
	(GRUB_UNICODE_TAG_END): Likewise.
	(GRUB_UNICODE_LAST_VALID): Likewise.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/unicode.h (grub_unicode_compact_range): Replace end with
	len and make it smaller. All users updated.
	* util/import_unicode.py: Put length and not end character.
	Check length.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Make better Unicode-compliant and unify some UTF-8 code pathes.

	* grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
	valid character.
	(grub_is_valid_utf8): Use grub_utf8_process.
	Check resulting code range.
	(grub_utf8_to_ucs4): Use grub_utf8_process.
	* include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
	valid character.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Filesystems): Mention AFS.

2011-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Filesystems): Clarify restrictions.
	(Regexp): Mention non-Unicode regexp behaviour.
	(Other): Mention non-Unicode matching behaviour.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Make HFS implementation use MacRoman.

	* grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
	(macroman): New const array.
	(macroman_to_utf8): New function.
	(utf8_to_macroman): Likewise.
	(grub_hfs_find_dir): Use utf8_to_macroman.
	(grub_hfs_dir): Use macroman_to_utf8.
	Set case_insensitive.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Filesystems): Add IEEE1275 full-path example.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Integrate hints into autogeneration scripts.

	* docs/grub.texi (Filesystems): Add a hostdisk example.
	* Makefile.util.def (grub-mkdevicemap): Remove ofpath.
	(grub-probe): Add ofpath.
	* gentpl.py: Remove group nosparc64.
	* grub-core/commands/search.c (cache_entry): New struct.
	(cache): New var.
	(FUNC_NAME): Use and save cache. Fix handling of trailing comma.
	* grub-core/commands/search_wrap.c (options): Add platform-specific
	hint options.
	(grub_cmd_search): Handle platform-specific hints.
	(GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
	* grub-core/kern/emu/hostdisk.c (map): New field device_map.
	(grub_util_biosdisk_data): Likewise.
	(grub_util_biosdisk_open): Set device_map.
	(read_device_map): Handle "" as indication of no map.
	Set device_map.
	(find_system_device): Add hostdisk/ prefix for autogenerated entries.
	(grub_util_biosdisk_get_compatibility_hint): New function.
	* grub-core/normal/main.c (features): Add feature_platform_search_hint.
	* include/grub/emu/hostdisk.h
	(grub_util_biosdisk_get_compatibility_hint): New proto.
	* util/grub-install.in: Don't call grub-mkdevicemap.
	Add platform-specific hint to load.cfg.
	* util/grub-mkconfig.in: Don't call grub-mkdevicemap.
	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
	hints. Set root preliminary to compatibility hint, not to OS name.
	* util/grub-probe.c (PRINT_*): Add hints.
	(print): Make static.
	(escape_of_path): New function.
	(guess_bios_drive): Likewise.
	(guess_efi_drive): Likewise.
	(guess_baremetal_drive): Likewise.
	(print_full_name): Likewise.
	(probe): Handle hints.
	(main): Likewise.
	* util/ieee1275/devicemap.c: Removed.
	* util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
	updated.
	(grub_util_devname_to_ofpath): Return NULL on failure.

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
	resource leak.
	* util/getroot.c (grub_util_pull_device): Fix memory leak.

	* po/POTFILES.in: Regenerated.

	Allow purely long options

	* grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
	(SHORT_ARG_USAGE): Likewise.
	(grub_arg_show_help): Compare opt with help_options.
	(parse_option): Receive opt as argument. If makes big simplificatons.
	All users updated

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
	Restructure to avoid warning.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Account for possible escaped comma in device
	name.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
	channel.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
	allocation and zero-setting.
	(grub_ieee1275_get_devname): Check that alias is complete.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
	unaligned segments.

2011-12-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
	prefix.
	(grub_ofdisk_open): Check and discard ieee1275 prefix.
	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
	Add ieee1275 prefix.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Filesystems): Update.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Support odc, newc and bigendian cpio formats.

	* Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
	* grub-core/Makefile.core.def (newc): New module.
	(odc): Likewise.
	(cpio_be): Likewise.
	* grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
	(MAGIC): Likewise.
	(MAGIC2): Likewise.
	(head) [MODE_ODC]: Adapt for the format.
	(head) [MODE_NEWC]: Likewise.
	(head) [!MODE_*]: Write fields of interest as arrays.
	(MAGIC_USTAR): Removed.
	(read_number) [MODE_NEWC]: Change to hex.
	(read_number) [!MODE_*]: Parse binary arrays.
	(grub_cpio_find_file): Factor out the code for better structure and
	always use read_number.
	(grub_cpio_mount): Use MAGIC and MAGIC2.
	(grub_cpio_dir): Exit on first hook non-0 return.
	(grub_cpio_fs) [MODE_ODC]: Set name to odc.
	(grub_cpio_fs) [MODE_NEWC]: Set name to newc.
	(GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
	(GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
	(GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
	(GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
	* grub-core/fs/newc.c: New file.
	* grub-core/fs/odc.c: Likewise.
	* grub-core/fs/cpio_be.c: Likewise.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of tar numbers occupying the whole field.

	* grub-core/fs/cpio.c (read_number): New function.
	(grub_cpio_find_file): Use read_number instead of strtoull.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
	occupying the whole field size.

2011-12-23  Lukas Anzinger <l.anzinger@gmail.com>

	* util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.

2011-12-23  Seth Goldberg <seth.goldberg@oracle.com>

	* grub-core/Makefile.core.def (lzma_decompress): Add missing
	TARGET_IMG_LDFLAGS.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/getroot.c (ESCAPED_PATH_MAX): New define.
	(mountinfo_entry): Increase the field size to take escaping into
	account.
	(find_root_device_from_libzfs): Add one byte to size of strings for
	security.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
	an assert.
	* util/grub-setup.c (setup): Likewise.

2011-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
	_LzmaDecodeA.

2011-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Internationalisation): New section.

2011-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Loopback booting): New section.

2011-12-22  Keshav P R  <the.ridikulus.rat@gmail.com>

	* util/grub-mkstandalone.in: Fix minor typo errors.

2011-12-20  Vladimir Serbinenko  <phcoder@gmail.com>

	IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.

	* grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
	net/icmp.c and net/icmp6.c.
	(http): New module.
	(priority_queue): Likewise.
	* grub-core/io/bufio.c: Rewritten.
	* grub-core/lib/legacy_parse.c (legacy_command): New argument type
	TYPE_WITH_CONFIGFILE_OPTION.
	(legacy_commands): Add bootp and dhcp.
	(is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
	(grub_legacy_parse): Likewise.
	* grub-core/lib/priority_queue.c: New file.
	* grub-core/net/arp.c: Add missing license header.
	(arp_find_entry): Removed.
	(arp_find_entry): Likewise.
	(grub_net_arp_resolve): Rename to ...
	(grub_net_arp_send_request): ...this.
	(grub_net_arp_receive): New card argument.
	* grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
	Set router and DNS server.
	(grub_net_configure_by_dhcp_ack): Handle routing information.
	(grub_cmd_bootp): Set checksum.
	(grub_bootp_init): Remove net_dhcp.
	* grub-core/net/dns.c: New file.
	* grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
	completion.
	(get_card_packet): Handle allocation.
	(grub_efinet_findcards): Set mtu.
	* grub-core/net/drivers/emu/emunet.c: Add missing license header.
	(get_card_packet): Handle allocation.
	(emucard): Set mtu.
	* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
	(GRUB_MOD_INIT): Set mtu.
	* grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
	mtu.
	(get_card_packet): Handle allocation.
	(grub_ofnet_findcards): Set mtu.
	* grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
	assert.
	(grub_net_recv_ethernet_packet): Handle IPv6.
	* grub-core/net/http.c: New file.
	* grub-core/net/icmp.c: Likewise.
	* grub-core/net/icmp6.c: Likewise.
	* grub-core/net/ip.c (ip6addr): New type.
	(ip6hdr): Likewise.
	(reassemble): Likewise.
	(cmp): New function.
	(reassembles): New variable.
	(grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
	(id): New variable.
	(send_fragmented): New function.
	(grub_net_send_ip_packet): Rename to ...
	(grub_net_send_ip4_packet): ... this. Send fragmented if needed.
	Handle non-UDP.
	(grub_net_recv_ip_packets): Rename to ...
	(handle_dgram): ... this. Check checksum. Handle non-UDP.
	(free_rsm): New function.
	(free_old_fragments): Likewise.
	(grub_net_recv_ip4_packets): New function.
	(grub_net_send_ip6_packet): Likewise.
	(grub_net_send_ip_packet): Likewise.
	(grub_net_recv_ip6_packets): Likewise.
	(grub_net_recv_ip_packets): Likewise.
	* grub-core/net/net.c (grub_net_link_layer_entry): New struct.
	(LINK_LAYER_CACHE_SIZE): New const.
	(link_layer_find_entry): New function.
	(grub_net_link_layer_add_address): Likewise.
	(grub_net_link_layer_resolve_check): Likewise.
	(grub_net_link_layer_resolve): Likewise.
	(grub_net_ipv6_get_slaac): Likewise.
	(grub_net_ipv6_get_link_local): Likewise.
	(grub_cmd_ipv6_autoconf): Likewise.
	(parse_ip): Handle one number representation.
	(parse_ip6): New functoion.
	(match_net): Handle IPv6.
	(grub_net_resolve_address): Handle IPv6 and DNS.
	(grub_net_resolve_net_address): Handle IPv6.
	(route_cmp): New function.
	(grub_net_route_address): Find best route.
	(grub_net_addr_to_str): Handle IPv6.
	(grub_net_addr_cmp): New function.
	(grub_net_add_addr): Register local route.
	(print_net_address): Handle net address.
	(grub_net_poll_cards): Retransmit TCP.
	(grub_net_poll_cards_idle_real): Likewise.
	(have_ahead): New function.
	(grub_net_seek_real): Use underlying seek.
	(GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
	* grub-core/net/tcp.c: New file.
	* grub-core/net/tftp.c (tftp_data): Add priority_queue.
	(cmp): New function.
	(ack): Likewise.
	(tftp_receive): Handle unordered input.
	(destroy_pq): New function.
	(tftp_close): Close pq.
	* grub-core/net/udp.c: Put missing license header.
	(grub_net_udp_socket): New function.
	(udp_socket_register): Likewise.
	(grub_net_udp_close): Likewise.
	(grub_net_recv_udp_packet): Check checksum.
	* include/grub/efi/api.h (grub_efi_simple_network): Add status.
	* include/grub/misc.h (grub_memchr): New function.
	* include/grub/net.h (GRUB_NET_*_SIZE): New enum.
	(grub_net_card_driver): Return buf in recv.
	(grub_net_slaac_mac_list): New struct.
	(grub_network_level_protocol_id): Add ipv6.
	(grub_net_network_level_addr): Likewise.
	(grub_net_network_level_net_addr): Likewise.
	(grub_net_app_protocol): Add seek.
	(grub_net_socket): Removed.
	(grub_net_sockets): Likewise.
	(grub_net_socket_register): Likewise.
	(grub_net_socket_unregister): Likewise.
	(FOR_NET_SOCKETS): Likewise.
	(grub_net_add_addr): Add const.
	(GRUB_NET_BOOTP_*): New enum.
	(grub_net_addr_cmp): New proto.
	(GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
	(GRUB_NET_MAX_STR_HWADDR_LEN): New define.
	(grub_net_hwaddr_to_str): NEw proto.
	(FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
	(FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
	(grub_dns_init): New proto.
	(grub_dns_fini): Likewise.
	(grub_net_tcp_retransmit): Likewise.
	(grub_net_link_layer_add_address): Likewise.
	(grub_net_link_layer_resolve_check): Likewise.
	(grub_net_link_layer_resolve): Likewise.
	(grub_net_dns_lookup): Likewise.
	(grub_net_add_dns_server): Likewise.
	(grub_net_remove_dns_server): Likewise.
	(GRUB_NET_TRIES): New const.
	(GRUB_NET_INTERVAL): Likewise.
	* include/grub/net/arp.h: Mostly rewritten.
	* include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
	* include/grub/net/ip.h: Mostly rewritten.
	* include/grub/net/netbuff.h: Indent.
	* include/grub/net/tcp.h: New file.
	* include/grub/net/udp.h: Mostly rewritten.
	* include/grub/priority_queue.h: New file.
	* include/grub/types.h (PRIdGRUB_SSIZE): New define.
	(grub_swap_bytes64_compile_time): Likewise.
	(grub_cpu_to_be16_compile_time): Likewise.
	(grub_cpu_to_be32_compile_time): Likewise.
	(grub_cpu_to_be64_compile_time): Likewise.
	(grub_be_to_cpu64_compile_time): Likewise.

2011-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
	UINT_TO_PTR with cast.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
	don't use them.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
	already there.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
	confusing ipxe.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
	Add missing const attribute.
	* grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
	Likewise.
	* grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
	Likewise.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
	misaligned access.
	(serpent_setkey): Likewise.
	(serpent_encrypt_internal): Likewise.
	(serpent_decrypt_internal): Likewise.
	(serpent_encrypt): Don't put an alignment-increasing cast.
	(serpent_decrypt): Likewise.
	(serpent_test): Likewise.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.

	* include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
	grub_addr_t casts.
	(PTR_TO_UINT64): Likewise.
	(PTR_TO_UINT32): Likewise.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Decrease the higher limit
	because of stack.
	* util/grub-setup.c (setup): Don't add redundancy past the higher load
	limit.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
	text_width > available width a bit more gracefully.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
	current address calculation.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
	stack.
	(encode_block): Likewise.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
	certainety.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
	non-RS part to avoid RS messing with GDT.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
	Increase to suit in realmode routines.

2011-12-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/realmode.S: Increase alignment.
	* grub-core/boot/i386/pc/startup_raw.S: Likewise.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
	be deterministic.
	(syndroms): Compute 0 syndrom.
	(rs_recover): Use 0 syndrom.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/kernel.h (FOR_MODULES): Make it a bit faster.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
	brackets.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
	account.
	(get_top_pad): Likewise.
	(get_right_pad): Likewise.
	(get_bottom_pad): Likewise.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
	attribute as the structure isn't guaranteed to be properly aligned.
	(grub_efi_pci_device_path): Likewise.
	(grub_efi_pccard_device_path): Likewise.
	(grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
	specify the size of `memory_type'.
	(grub_efi_vendor_device_path): Likewise.
	(grub_efi_controller_device_path): Likewise.
	(grub_efi_acpi_device_path): Likewise.
	(grub_efi_expanded_acpi_device_path): Likewise.
	(grub_efi_atapi_device_path): Likewise.
	(grub_efi_scsi_device_path): Likewise.
	(grub_efi_fibre_channel_device_path): Likewise.
	(grub_efi_1394_device_path): Likewise.
	(grub_efi_usb_device_path): Likewise.
	(grub_efi_usb_class_device_path): Likewise.
	(grub_efi_i2o_device_path): Likewise.
	(grub_efi_mac_address_device_path): Likewise.
	(grub_efi_ipv4_device_path): Likewise.
	(grub_efi_ipv6_device_path): Likewise.
	(grub_efi_infiniband_device_path): Likewise.
	(grub_efi_uart_device_path): Likewise.
	(grub_efi_vendor_messaging_device_path): Likewise.
	(grub_efi_hard_drive_device_path): Likewise.
	(grub_efi_cdrom_device_path): Likewise.
	(grub_efi_vendor_media_device_path): Likewise.
	(grub_efi_file_path_device_path): Likewise.
	(grub_efi_protocol_device_path): Likewise.
	(grub_efi_piwg_device_path): Likewise.
	(grub_efi_bios_device_path): Likewise.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
	(grub_ucs4_to_utf8_alloc): Likewise.
	(grub_ucs4_to_utf8): Likewise.
	* grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
	(grub_ucs4_to_utf8_alloc): Likewise.

2011-12-14  Vladimir Serbinenko  <phcoder@gmail.com>

	AFFS never uses unicode.

	* include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
	(grub_latin1_to_utf8): New inline function.
	* grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
	overflow.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
	(grub_squash_dirent_header): Likewise.
	(read_chunk): Don't double swap.
	(grub_squash_iterate_dir): Fix swap sizes.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
	(grub_hfs_iterate_dir): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix video on platforms where unaligned access is forbidden.
	Make several optimisations while on it.

	* grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
	Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
	(grub_video_fbblit_replace_32bit_1bit): Likewise.
	(grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
	Disable.
	(grub_video_fbblit_replace_16bit_1bit):
	Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
	(grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
	(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
	(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
	(grub_video_fbblit_replace_BGR888_RGB888): Likewise.
	(grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
	(grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
	(grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
	(grub_video_fbblit_replace_index_RGBX8888): Likewise.
	(grub_video_fbblit_replace_index_RGB888): Likewise.
	(grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
	(grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
	(grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
	(grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
	(grub_video_fbblit_blend_index_RGBA8888): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
	Disable.
	(grub_video_fbblit_blend_XXX565_1bit):
	Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
	* grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
	* grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
	void *.
	* grub-core/video/fb/video_fb.c (common_blitter)
	[!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
	(grub_video_fb_create_render_target_from_pointer)
	[!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
	* include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
	* include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
	definition.
	* include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
	HH22 and HM10 relocations.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/videotest.c (grub_cmd_videotest): Check that
	allocation succeeded.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
	argument a u8 pointer. All users updated.
	Handle unaligned buffers.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
	add_part to workaround compiler bug.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
	Reserve alignment invariants.
	(grub_multiboot_load): Likewise.
	(retrieve_video_parameters): Likewise.
	(grub_multiboot_make_mbi): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
	incorrect pointer.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
	(grub_pata_pio_write): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Add noreturn attributes and remove unreachable code.

	* grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
	code.
	* grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
	code. Mark as noreturn.
	* grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
	* grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
	unreachable code.
	* grub-core/kern/main.c (grub_main): Mark as noreturn.
	* grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
	* grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
	* grub-core/normal/menu.c (run_menu): Remove unreachable code.
	* include/grub/kernel.h (grub_main): Mark as noreturn.
	* include/grub/reader.h (grub_rescue_run): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
	redundant declaration.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/net.h (grub_net_network_level_interfaces): Remove
	redundant declaration.
	(FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
	to ensure alignment.
	(grub_hdparm_print_identify): Make argument uint16 * to ensure
	alignment. Ensure tmp alignment.
	(grub_cmd_hdparm): Ensure buf alignment.
	* grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
	to ensure alignment.
	(grub_ata_dumpinfo): Ensure text alignment.
	(grub_atapi_identify): Preserve alignment invariant.
	(grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/emu/misc.h (xasprintf): Add missing format attribute.
	* include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
	* include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
	* include/grub/misc.h (grub_reboot)
	[GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
	(grub_halt) [__mips__]: Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/memory.h (grub_machine_mmap_iterate):
	Remove redundant declaration.
	(grub_mmap_get_post64): Likewise.
	(grub_mmap_get_upper): Likewise.
	(grub_mmap_get_lower): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
	uint32_t * to ensure alignment.
	(dvh_partition_map_iterate): Make `block' a union to ensure alignment.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
	uint16_t * to ensure alignment.
	(sun_pc_partition_map_iterate): Make `block' a union to ensure
	alignment.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
	to ensure alignment.
	(sun_partition_map_iterate): Make `block' a union to ensure alignment.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (u16at): Make into inline function.
	Handle unaligned pointers.
	(u32at): Likewise.
	(u64at): Likewise.
	(fixup): Use byte access instead of v16at.
	(find_attr): Fix imporper usage of v32at.
	(read_data): Likewise.
	(list_file): Handle byte-swapping and unaligned strings.
	(grub_ntfs_label): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
	as it's not necessarily aligned.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
	redundant declaration.
	(grub_serial_init): Likewise.
	(grub_terminfo_init): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
	function.
	(ZAP_HASH_IDX): Likewise.
	(ZAP_LEAF_HASH_SHIFT): Likewise.
	(ZAP_LEAF_HASH_NUMENTRIES): Likewise.
	(LEAF_HASH): Likewise.
	(ZAP_LEAF_NUMCHUNKS): Likewise.
	(ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
	alignment invariants. Return pointer. All users updated.
	(ZAP_LEAF_ENTRY): Make into inline function.
	(NBBY): Removed.
	(xor): LIkewise.
	(xor_out): Use grub_crypto_xor.
	(dnode_get_path): Use grub_get_unaligned.
	(nvlist_find_value): Likewise.
	(grub_zfs_nvlist_lookup_uint64): Likewise.
	(grub_zfs_nvlist_lookup_string): Likewise.
	(get_nvlist_size): Likewise.
	(grub_zfs_open): Likewise.
	(fill_fs_info): Likewise.
	(grub_zfs_dir): Likewise.
	* include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
	alignment invariants.
	* include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
	necessarily aligned.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
	arithmetic to conserve alignment invariants.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
	redundant declaration.
	(grub_efiemu_mm_obtain_request): Likewise.
	(grub_efiemu_prepare): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/list.h: Explicitly cast return of grub_bad_type_cast
	to match types.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
	case of aunaligned recptr.
	(grub_hfsplus_read_block): Declare extoverflow as key to ensure
	alignment.
	(grub_hfsplus_btree_search): Handle unaligned index.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
	to get freetag and skip.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
	array.
	(grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
	(grub_nilfs2_btree_lookup): Ensure buffer alignment.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
	name for checksum and fix allocation algorithm.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/types.h (grub_properly_aligned_t): New type.
	(GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
	(grub_get_unaligned16): Add explicit casts.
	(grub_get_unaligned32): Likewise.
	(grub_get_unaligned64): Likewise.
	(grub_set_unaligned16): New function.
	(grub_set_unaligned32): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/datetime.c (grub_weekday_names): Make const.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
	* grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
	* grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
	conditionals.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/main.c (main): Add missing const qualifier.
	* grub-core/loader/efi/appleloader.c (devdata): Likewise.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify and improve RAID and crypto xor.

	* grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
	changed to grub_crypto_xor
	* grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
	* include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
	Use bigger types when possible.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (scan_devices): Fix condition.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
	Make name a const ptr.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
	first argument a const pointer.
	* grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
	proto.
	(grub_children_iterate): Likewise.
	(grub_machine_mmap_iterate): Remove redundant declaration.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
	(grub_cmd_acpi) [!x86]: Disable EBDA.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable UTF8 in gnulib regexp.

	* config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
	* grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
	(isupper): Use grub_isupper.
	(isascii): New inline function.
	* grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
	* grub-core/lib/posix_wrap/wctype.h: Likewise.
	* grub-core/normal/charset.c (grub_utf8_process): New function.
	(grub_utf8_to_utf16): Use grub_utf8_process.
	(grub_encode_utf8_character): New function.
	(grub_ucs4_to_utf8): Use grub_encode_utf8_character.
	* include/grub/charset.h (grub_utf8_process): New declaration.
	(grub_encode_utf8_character): Likewise.
	* include/grub/misc.h (grub_islower): New inline function.
	(grub_isupper): Likewise.
	(grub_strchrsub): Moved down to fix the definitions.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
	specification.

2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/loader.h (grub_loader_register_preboot_hook):
	Use struct preboot * and not void * for handle. All users updated.
	(grub_loader_unregister_preboot_hook): Likewise.

2011-12-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
	* grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
	UTF-16-BE. All users updated.
	(grub_hfsplus_cmp_catkey): Fix unicode handling.
	(grub_hfsplus_iterate_dir): Likewise.
	(grub_hfsplus_label): Likewise.

2011-12-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.

2011-11-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing const qualifiers.

	* grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
	* grub-core/commands/lspci.c (grub_pci_classname): Likewise.
	* grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
	* grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
	(grub_lvm_check_flag): Likewise.
	* grub-core/efiemu/i386/coredetect.c
	(grub_efiemu_get_default_core_name): Likewise
	* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
	* grub-core/fs/ntfs.c (fixup): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
	* grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
	(fzap_lookup): Likewise.
	(zap_lookup): Likewise.
	* grub-core/gnulib/regcomp.c (init_dfa): Likewise.
	* grub-core/lib/legacy_parse.c (check_option): Likewise.
	* grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
	* grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
	(grub_freebsd_add_meta_module): Likewise.
	(grub_cmd_freebsd_module): Likewise.
	* grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
	* grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
	(grub_xnu_writetree_get_size): Likewise.
	(grub_xnu_writetree_toheap_real): Likewise.
	(grub_xnu_find_key): Likewise.
	(grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	(grub_xnu_register_memory): Likewise.
	(grub_xnu_check_os_bundle_required): Likewise.
	(grub_xnu_scan_dir_for_kexts): Likewise.
	(grub_xnu_load_kext_from_dir): Likewise.
	* grub-core/normal/color.c (color_list): Likewise.
	* grub-core/normal/completion.c (current_word): Likewise.
	* grub-core/normal/menu_entry.c (insert_string): Likewise.
	* grub-core/term/serial.c (grub_serial_find): Likewise.
	* grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
	* include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
	Likewise.
	* include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
	(grub_freebsd_add_meta_module): Likewise.
	* include/grub/lib/arg.h (grub_arg_option): Likewise.
	* include/grub/net.h (grub_net_card_driver): Likewise.
	(grub_net_card): Likewise.
	(grub_net_app_protocol): Likewise.
	* include/grub/parttool.h (grub_parttool_argdesc): Likewise.
	* include/grub/serial.h (grub_serial_find): Likewise.
	* include/grub/tparm.h (grub_terminfo_tparm): Likewise.
	* include/grub/xnu.h (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	(grub_xnu_find_key): Likewise.
	(grub_xnu_scan_dir_for_kexts): Likewise.
	(grub_xnu_load_kext_from_dir): Likewise.

	* include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
	* grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
	* include/grub/zfs/zio_checksum.h (zio_checksum_info):
	Moved from here ...
	* grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.

2011-11-28  Colin Watson  <cjwatson@ubuntu.com>

	* util/getroot.c (find_root_device_from_libzfs): Use xasprintf.

2011-11-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
	(read_device): Fix size calculation.

2011-11-25  Robert Millan  <rmh@gnu.org>

	* util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
	(find_root_device_from_libzfs): Add zpool output parser to be used
	as fallback when libzfs isn't available.

2011-11-25  Seth Goldberg <seth.goldberg@oracle.com>

	* po/Makefile.in.in: Add missing escape-continuation.

2011-11-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.

2011-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.

2011-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.

2011-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.

2011-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/adler32.c: Add missing license specification.
	* grub-core/lib/crc64.c: Likewise.
	* grub-core/loader/i386/pc/plan9.c: Likewise.
	* grub-core/partmap/plan.c: Likewise.

2011-11-13  Lubomir Kundrak  <lkundrak@redhat.com>

	Add facility to debug GRUB with gdb under qemu.

	* grub-core/gdb_grub.in: New file.
	* grub-core/gmodule.pl.in: Likewise.
	* grub-core/Makefile.core.def (gmodule.pl): New script.
	(gdb_grub): Likewise.

2011-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mount.c (argp_parser): Accept relative pathes.
	* util/grub-fstest.c (argp_parser): Likewise.

2011-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Plan9 support.

	* Makefile.util.def (libgrubmods): Add
	grub-core/partmap/plan.c.
	* docs/grub.texi: Notice Plan9 support.
	* grub-core/Makefile.core.def (plan9): New module.
	(part_plan): Likewise.
	* grub-core/loader/i386/pc/plan9.c: New file.
	* grub-core/partmap/plan.c: Likewise.
	* include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
	define.
	(GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
	* include/grub/mm.h (grub_extend_alloc): New inline function.

2011-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Make Reed-Solomon faster by using power of generator representation of
	GF(256)*.

	* grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
	(gf_double_t): Likewise.
	(gf_invert): Removed.
	(gf_powx): New array.
	(gf_powx_inv): Likewise.
	(scratch): Move higher.
	(gf_reduce): Removed.
	(gf_mul): Use powx.
	(gf_invert): Likewise.
	(init_inverts): Replaced with ...
	(init_powx): ...this. All users updated.
	(pol_evaluate): Replace multiplications with additions.
	(rs_encode): Likewise.
	(gauss_eliminate): Call gf_invert.
	(grub_reed_solomon_add_redundancy): Call init_powx.
	(grub_reed_solomon_recover): Call init_powx unconditionally.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
	disk->partiton for safety.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
	Fix a memory leak.
	(grub_util_biosdisk_get_grub_dev): Add a useful debug info.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/lvm.h (grub_lvm_pv): Correct start type.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix spaces handling in proc/self/mountinfo.

	* util/getroot.c (unescape): New function.
	(grub_find_root_device_from_mountinfo): Use unescape.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Support ZFS embedding.

	* grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
	(grub_zfs_fs): Register grub_zfs_embed.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix MIPS compilation.

	* grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
	* include/grub/offsets.h: Rename decompressor fields from
	GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
	* util/grub-mkimage.c (image_targets): Use new names.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Defer multiboot device parsing until we're in compressed part.

	* grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
	bsd_part. setdevice has fallen into disuse.
	* grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
	(bsd_part): Likewise.
	(boot_dev): New variable.
	(multiboot_trampoline): Don't parse multiboot device.
	Pass multiboot device in %edx.
	* grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
	grub_boot_device.
	* grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
	Likewise.
	* grub-core/kern/i386/pc/startup.S: Save edx.
	(grub_boot_drive): Removed.
	(grub_install_dos_part): Likewise.
	(grub_install_bsd_part): Likewise.
	(grub_boot_device): New variable.
	* include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
	(grub_install_bsd_part): Likewise.
	(grub_boot_drive): Likewise.
	(grub_boot_device): New variable.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
	Removed.
	(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
	(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
	(GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
	(GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
	* util/grub-install.in: Remove redundant condition.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix bug introduced by previous commit.

	* grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Use decompressors framework on i386-pc. It increases core size
	by 46 bytes but improves compatibility and maintainability.

	* grub-core/Makefile.core.def (lzma_decompress): New image.
	(kernel): Add i386_pc_ldflags.
	* grub-core/kern/i386/pc/startup.S: Move intial part to ..
	* grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
	to real_to_prot, prot_to_real and device info.
	* include/grub/offsets.h: Renamed decompressor offsets.
	* util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
	(image_target_desc): Remove raw_size and rename decompressor fields.
	(compress_kernel): Handle lzma.
	(generate_image): Handle decompressors on i386-pc.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -fno-asynchronous-unwind-tables.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Move assembly code to C by using intwrap. It increases core size
	by 88 bytes but improves compatibility and maintainability.

	* grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
	* grub-core/term/i386/pc/console.c (grub_console_putchar_real):
	... here. Translated to C.
	* grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
	* grub-core/term/i386/pc/console.c (grub_console_getkey):
	... here. Translated to C.
	* grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
	* grub-core/term/i386/pc/console.c (grub_console_getxy):
	... here. Translated to C.
	* grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
	* grub-core/term/i386/pc/console.c (grub_console_gotoxy):
	... here. Translated to C.
	* grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
	* grub-core/term/i386/pc/console.c (grub_console_cls):
	... here. Translated to C.
	* grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
	* grub-core/term/i386/pc/console.c (grub_console_setcursor):
	... here. Translated to C.
	* grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
	* grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
	Translated to C.
	* grub-core/term/i386/pc/console.c (int10_9): New function.
	(grub_console_putchar): Likewise.
	* include/grub/i386/pc/console.h: Removed the not anymore shared
	functions.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Move grub_chainloader_real_boot out of the kernel.

	* grub-core/Makefile.am: Remove machine/loader.h.
	* grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
	Removed.
	* grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
	variable.
	(grub_relocator16_keep_a20_enabled): Likewise.
	(grub_relocator16_boot): Fill new variables.
	* grub-core/lib/i386/relocator16.S: Add gate a20 handling.
	* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
	relocator.
	(grub_chainloader_unload): Likewise.
	(grub_chainloader_cmd): Likewise.
	* include/grub/i386/pc/loader.h: Removed.
	* include/grub/i386/relocator.h (grub_relocator16_state): Add a20
	and esi. All initialisers updated.

2011-11-12  Vladimir Serbinenko  <phcoder@gmail.com>
2011-11-12  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-mount): New util.
	* .bzrignore: Add grub-mount.
	* configure.ac: Check for fuse and enable grub-mount if available.
	* docs/man/grub-mount.h2m: New file.
	* util/grub-mount.c: Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/efi/fixvideo.c: Gettextize.
	* grub-core/commands/hashsum.c: Likewise.
	* grub-core/commands/i386/cmostest.c: Likewise.
	* grub-core/commands/i386/pc/drivemap.c: Likewise.
	* grub-core/commands/i386/pc/lsapm.c: Likewise.
	* grub-core/commands/i386/pc/sendkey.c: Likewise.
	* grub-core/commands/lsmmap.c: Likewise.
	* grub-core/commands/menuentry.c: Likewise.
	* grub-core/commands/mips/loongson/lsspd.c: Likewise.
	* grub-core/commands/setpci.c: Likewise.
	* grub-core/loader/i386/bsd.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-fstest.c: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mkimage.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c: Likewise.
	* util/grub-pe2elf.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/grub-setup.c: Likewise.
	* util/ieee1275/ofpath.c: Likewise.
	* util/misc.c: Likewise.
	* util/raid.c: Likewise.

2011-11-11  Robert Millan  <rmh@gnu.org>

	* util/getroot.c (grub_util_get_geom_abstraction): Remove
	__attribute__((unused)) from `os_dev', which *is* being used.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
	forgotten define.
	(GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
	GRUB_IA64_DL_GOT_ALIGN.
	(GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
	GRUB_IA64_DL_TRAMP_ALIGN.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace grub_fatal with normal errors in i386 linux loader.

	* grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
	(allocate_pages): Check find_efi_mmap_size return value.
	(grub_e820_add_region): Return error.
	(grub_linux_boot): Check mmap return value.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c: Gettextized.
	* grub-core/commands/cacheinfo.c: Likewise.
	* grub-core/commands/cmp.c: Likewise.
	* grub-core/commands/efi/loadbios.c: Likewise.
	* grub-core/commands/gptsync.c: Likewise.
	* grub-core/commands/ieee1275/suspend.c: Likewise.
	* grub-core/commands/legacycfg.c: Likewise.
	* grub-core/commands/memrw.c: Likewise.
	* grub-core/commands/minicmd.c: Likewise.
	* grub-core/commands/parttool.c: Likewise.
	* grub-core/commands/time.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/disk/geli.c: Likewise.
	* grub-core/disk/i386/pc/biosdisk.c: Likewise.
	* grub-core/disk/luks.c: Likewise.
	* grub-core/disk/lvm.c: Likewise.
	* grub-core/font/font_cmd.c: Likewise.
	* grub-core/fs/zfs/zfscrypt.c: Likewise.
	* grub-core/fs/zfs/zfsinfo.c: Likewise.
	* grub-core/gfxmenu/view.c: Likewise.
	* grub-core/kern/emu/hostdisk.c: Likewise.
	* grub-core/kern/emu/main.c: Likewise.
	* grub-core/kern/emu/misc.c: Likewise.
	* grub-core/kern/emu/mm.c: Likewise.
	* grub-core/kern/mips/arc/init.c: Likewise.
	* grub-core/kern/mips/loongson/init.c: Likewise.
	* grub-core/kern/partition.c: Likewise.
	* grub-core/lib/i386/halt.c: Likewise.
	* grub-core/lib/mips/arc/reboot.c: Likewise.
	* grub-core/lib/mips/loongson/reboot.c: Likewise.
	* grub-core/loader/i386/pc/chainloader.c: Likewise.
	* grub-core/loader/i386/xnu.c: Likewise.
	* grub-core/loader/multiboot.c: Likewise.
	* grub-core/net/bootp.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/normal/term.c: Likewise.
	* grub-core/partmap/bsdlabel.c: Likewise.
	* grub-core/parttool/msdospart.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* grub-core/term/terminfo.c: Likewise.
	* grub-core/video/i386/pc/vbe.c: Likewise.
	* util/grub-menulst2cfg.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-mkrelpath.c: Likewise.
	* util/grub-script-check.c: Likewise.
	* util/ieee1275/grub-ofpathname.c: Likewise.
	* util/resolve.c: Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Support %1$d syntax.

	* tests/printf_unit_test.c: New file.
	* Makefile.util.def (printf_test): New test.
	* grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
	fix.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
	dprintf.
	* grub-core/font/font.c (grub_font_load): Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-macho2img.c: Add comment concerning gettext.
	* grub-core/lib/legacy_parse.c: Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
	(grub_xvasprintf): Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Add const keyword to grub_env_get and gettextize week days.

	* grub-core/hook/datehook.c (grub_datetime_names): Make const.
	(grub_read_hook_datetime): Return const char *.
	* grub-core/kern/env.c (grub_env_get): Return const char *. All users
	updated.
	* grub-core/normal/datetime.c (grub_weekday_names): Make const.
	Mark for gettext.
	(grub_get_weekday_name): Return const char *. Call gettext.
	* grub-core/script/argv.c (grub_script_argv_append): Receive const
	char * and len as the argument. All users updated.
	(grub_script_argv_split_append): Receive const char *.
	* include/grub/datetime.h (grub_get_weekday_name): Update proto.
	* include/grub/env.h (grub_env_get): Likewise.
	(grub_env_read_hook_t): Return const char *.
	* include/grub/script_sh.h (grub_script_argv_append): Update proto.
	(grub_script_argv_split_append): Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c (grub_normal_execute): Remove leftover call.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_strstr): Moved from here ...
	* include/grub/misc.h (grub_strstr): ... here. Make static and inline.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
	Fix prototype.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix mips compilation.

	* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
	normal decoder.
	(hashes): Use in embed decoder as well (for sizes).
	(dec_stream_header): Fix embed decompressor logic.
	(dec_stream_footer): Likewise.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
	an error and not a fatal on unrecognised relocation types.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
	Issue error rather than printf on unknown arguments.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
	Make buf a const.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
	Fix module name.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
	leftover debug printf.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
	A stylistic fix.

2011-11-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/probe.c (grub_cmd_probe): Fix error message.

2011-11-10  Shea Levy  <slevy@tieronedesign.com>

	Allow all modules to perform serial IO

	* grub-core/term-serial.c (grub_serial_find): Remove static qualifier
	* include/grub/serial.h (grub_serial_port_configure): New inline
	function.
	(grub_serial_port_fetch): Likewise.
	(grub_serial_port_put): Likewise.
	(grub_serial_port_fini): Likewise.
	(grub_serial_find): New proto.

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Put symlink at the end of the node and fix a potential
	memory corruption.

	* grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
	Make symlink into an array.
	(set_rockridge): Set have_symlink and alloc_dirents.
	(grub_iso9660_read_symlink): Use new layout.
	(grub_iso9660_iterate_dir): Fix memory corruption.
	Use new layout.
	(grub_iso9660_dir): Set have_symlink.
	(grub_iso9660_open): Likewise.

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove local keyword.

	* util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
	(version_test_gt): Likewise.
	(version_find_latest): Likewise.
	(gettext_printf): Likewise.
	* util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ZFS memory and resource leaks.

	* grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
	All users updated.
	Free type on exit.
	(fill_vdev_info): New parameter inserted. All users updated.
	(check_pool_label): Likewise.
	(scan_disk): Likewise.
	(scan_devices): Close non-inserted disks.
	(fzap_iterate): Free l.
	(unmount_device): Free children descripto memory.

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
	argument (access out of bounds).

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
	>= 6 drives.

2011-11-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
	Fix declaration.

2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix several memory leaks.

	* grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
	* grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
	(grub_cpio_dir): Likewise.
	* grub-core/fs/fat.c (grub_fat_label): Likewise.
	* grub-core/fs/jfs.c (grub_jfs_label): Likewise.
	* grub-core/fs/romfs.c (grub_romfs_close): Likewise.
	(grub_romfs_label): Likewise.
	* grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
	(squash_unmount): New function.
	(grub_squash_dir): Fix memory leak.
	(grub_squash_open): Likewise.
	(grub_squash_read): Likewise.
	(grub_squash_mtime): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_open): Likewise.
	* grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
	* util/grub-fstest.c (fstest): Likewise.

2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_strncat): Fix the order of conditionals to
	avoid accessing beyond the array.

2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add missing -mXX to TARGET_CPPFLAGS.

2011-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Several AFFS fixes.

	* grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
	(GRUB_AFFS_FLAG_FFS): Removed.
	(GRUB_AFFS_SYMLINK_SIZE): Likewise.
	(GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
	(GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
	(grub_fshelp_node): Make block 32-bit.
	Add block_cache and last_block_cache.
	(grub_affs_read_block): Fill and use block cache.
	(grub_affs_read_file): Removed.
	(grub_affs_mount): Zero-fill node. Fix version check. Don't reread
	boot block.
	(grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
	safety.
	(grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
	space.
	(grub_affs_close): Free block cache.
	(grub_affs_read): Use grub_fshelp_read_file directly.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
	with no error set.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
	used variable.
	* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
	Likewise.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.

	* grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
	byteswap when needed.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix FreeBSD compilation.

	* grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
	to avoid circular dependency.
	(GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
	* util/getroot.c (grub_util_follow_gpart_up): Move from here...
	* grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix ZFS crypto error types.

	* grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
	(grub_gcm_decrypt): Likewise.
	(grub_zfs_load_key_real): Fix error code type. Handle possible error
	from PBKDF2.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Illumos support.

	* Makefile.util.def (10_illumos): New script.
	* configure.ac: Set COND_HOST_ILLUMOS.
	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
	Support Illumos calls.
	(find_partition_start) [__sun__]: Likewise.
	(convert_system_partition_to_system_disk) [__sun__]: Likewise.
	(device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
	(grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
	* util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
	device.
	* util/grub-probe.c (probe) [__sun__]: Do character check.
	* util/grub.d/10_illumos.in: New file.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Support escaped commas in hostdisk.

	* grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
	(find_grub_drive): Use unescape_cmp.
	(make_device_name): Escape commas.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
	variable.

2011-11-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Support trampoline jumps on powerpc.

	* grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
	__ia64__ path.
	(grub_dl_load_segments): Set mod->sz.
	(grub_dl_flush_cache): Flush whole space occupied by module, not just
	segments.
	* grub-core/kern/ia64/dl.c (nopm): Make const while on it.
	(jump): Likewise.
	* grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
	function.
	(trampoline): New struct.
	(trampoline_template): New const.
	(grub_arch_dl_relocate_symbols): Create trampolines on overflow.
	* include/grub/dl.h (grub_dl): Add sz element.
	[__powerpc__]: Follow __ia64__.
	(GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
	(GRUB_ARCH_DL_GOT_ALIGN): Likewise.
	(GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
	(grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.

2011-11-06  Vladimir Serbinenko  <phcoder@gmail.com>

	ZFS crypto support.

	* Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
	* grub-core/Makefile.core.def (zfscrypt): New module.
	* grub-core/fs/zfs/zfs.c (subvolume): New structure.
	(grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
	it. All users updated.
	(grub_zfs_decrypt): New var.
	(grub_zfs_load_key): Likewise.
	(zio_checksum_functions): Add SHA256+MAC.
	(zio_checksum_verify): Handle incomplete comparison due to MAC.
	(zio_read): Handle encrypted blocks.
	(zap_verify): Remove incorrect check.
	(fzap_iterate): Handle non-standard fzap.
	(zap_iterate): Likewise.
	(zap_iterate_u64): New function.
	(dnode_get_fullpath): Load keys.
	* grub-core/fs/zfs/zfscrypt.c: New file.
	* grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
	(grub_crypto_ecb_encrypt): Make input const.
	* include/grub/crypto.h (grub_crypto_cipher_close): Inline.
	(grub_crypto_ecb_encrypt): Make input const.
	(GRUB_CIPHER_AES): New macro.
	* include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
	* include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
	* include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
	* include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
	prefix. All users updated.
	(grub_zfs_add_key): New proto.
	(grub_zfs_decrypt): Likewise.
	(grub_zfs_load_key): Likewise.
	* include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
	* util/grub-fstest.c (options): Add -K option.
	(argp_parser): Likewise.

2011-11-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Support zle compression on ZFS.

	* grub-core/fs/zfs/zfs.c (zle_decompress): New function.
	(decomp_table): Add zle.
	* include/grub/zfs/zio.h (zio_compress): Add zle.

2011-11-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Support BtrFS embedding.

	* grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
	(grub_btrfs_fs) [GRUB_UTIL]: Set embed.
	* include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
	* util/grub-setup.c (setup): Use fs embedding if available.
	Add additional sanity check.

2011-11-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Fix condition for config_opt.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Support third redundancy strip on raidz3.

	* grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
	Return error on singularity. All users updated.
	(read_device): Don't stop on 3rd failure on raidz3.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Support case-insensitive ZFS subvolumes.

	* grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
	All users updated.
	(zap_hash): Likewise.
	(name_cmp): New function.
	(zap_leaf_array_equal): New parameter case_insensitive.
	All users updated.
	(zap_leaf_lookup): Likewise.
	(fzap_lookup): Likewise.
	(zap_lookup): Likewise.
	(dnode_get_path): New parameter case_insensitive. Retrieve case
	sensitiviness of a volume. All users updated.
	(dnode_get_fullpath): New parameter case_insensitive.
	All users updated.
	(grub_zfs_dir): Set info.case_insensitiveness.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Support second redundancy strip on raidz(2,3).

	* grub-core/fs/zfs/zfs.c (powx): New array.
	(powx_inv): Likewise.
	(poly): New const.
	(xor_out): New function.
	(gf_mul): Likewise.
	(recovery): Likewise.
	(read_device): Use second redundancy strip.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use a power of generator representation of GF(256) multiplication group
	to save space time and complexity.

	* grub-core/disk/raid6_recover.c (raid6_table1): Removed.
	(raid6_table2): Likewise.
	(powx): New array.
	(powx_inv): Likewise.
	(poly): New const.
	(grub_raid_block_mul): Replace with ...
	(grub_raid_block_mulx): ...this.
	(grub_raid6_init_table): Rewritten.
	(grub_raid6_recover): Use power of generator representation.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
	for the right device.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/kernel.h (grub_module_header): Make type into uint32 as
	expected by grub-mkimage and it's more clear since there is no implicit
	padding.

2011-11-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
	disk.
	* grub-core/disk/lvm.c (do_lvm_scan): Likewise.

2011-11-03  Philipp Matthias Hahn <pmhahn@debian.org>

	* util/grub-mkrescue.in: Fix handling xorriso option.

2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
	NULL.

2011-11-03  crocket <crockabiscuit@gmail.com>

	* util/grub.d/10_linux.in: Add Slackware initrd naming.

2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	XZ CRC64 and SHA256 support.

	* Makefile.util.def (libgrubmods): Add crc64.c.
	* grub-core/Makefile.core.def (crc64): New module.
	* grub-core/lib/crc64.c: New file.
	* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
	[!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
	Fix the type.
	(MAX_HASH_SIZE): New define.
	(xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
	(dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
	(index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
	(dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
	(crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
	(hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
	Handle non-crc32 hashes.
	(hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
	(dec_stream_header): Handle non-crc32 hashes.
	(dec_stream_footer): Likewise.
	(dec_block_header): Likewise.
	(dec_main): Likewise.
	(xz_dec_init): Likewise.
	(xz_dec_reset): Likewise.
	(xz_dec_end): Likewise.
	* util/import_gcry.py: Add CRC64 line.

2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
	as well.

2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Make reiserfs label retrieval similar to other *_label functions.

	* grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
	(REISERFS_MAX_LABEL_LENGTH): Removed.
	(REISERFS_LABEL_OFFSET): Likewise.
	(grub_reiserfs_label): Rewritten.

2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
	field.

2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (read_device): Support raidz3.

2011-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
	drive failure on both raidz and raidz2.

2011-11-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix RAIDZ(2) for >= 5 devices.

	* grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
	asize argument. All users updated.

2011-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix RAIDZ(2).

	* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
	(fill_vdev_info_real): Set ashift.
	(read_device): Rewrite RAIDZ part based on reverse engineering.

2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
	don't report potentially unavialiable fields in debug output.
	(find_path): Fix double-free and memory leak.

2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>

	Read label on UFS1.

	* grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
	(grub_ufs_fs): Always set .label.

2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>

	Use shifts in UFS.

	* grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
	(grub_ufs_data): New field log2_blksz.
	(grub_ufs_read_file): Use shifts.
	(grub_ufs_mount): Check block size and logarithm it.

2011-10-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
	long symlinks.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle symlinks and long names on tar and cpio.

	* grub-core/fs/cpio.c (ATTR_TYPE): New definition.
	(ATTR_FILE): Likewise.
	(ATTR_DIR): Likewise.
	(ATTR_LNK): Likewise.
	(grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
	(grub_cpio_find_file): Fill mode, handle linkname field as well as
	L and K entries.
	(grub_cpio_mount): Zero-fill data.
	(handle_symlink): New function.
	(grub_cpio_dir): Handle symlinks.
	(grub_cpio_open): Likewise.
	(grub_cpio_close) [MODE_USTAR]: Free linkname.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix iso9660 filename limitations and fix memory leaks.

	* grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
	(grub_iso9660_iterate_dir): Fix slash handling in symlinks.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix JFS file name length limitations.

	* grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
	(grub_jfs_diropen): Fix maximum filename length.
	(grub_jfs_getent): Fix filename length.
	(grub_jfs_lookup_symlink): Fix size checks.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
	string.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Leverage BFS implementation to read AFS.

	* Makefile.util.def (libgrubmods): Add afs.c.
	* grub-core/Makefile.core.def (afs): New module
	* grub-core/fs/afs.c: New file.
	* grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/bfs.c: Run indent.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	BFS implementation based on the specification.

	* grub-core/fs/bfs.c: New file.
	* Makefile.util.def (libgrubmods): Add bfs.c.
	* grub-core/Makefile.core.def (bfs): New module.

2011-10-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (cmd_cp): Clarify error message.
	(cmd_cmp): Likewise.

2011-10-30  Yves Blusseau  <blusseau@zetam.org>

	* po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
	and befs_be.

2011-10-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove afs and befs because of copyright problem.

	* grub-core/fs/afs.c: Removed.
	* grub-core/fs/afs_be.c: Removed.
	* grub-core/fs/befs.c: Removed.
	* grub-core/fs/befs_be.c: Removed.
	* Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
	* grub-core/Makefile.core.def (afs): Removed.
	(afs_be): Likewise.
	(befs): Likewise.
	(befs_be): Likewise.

2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Prefer rockridge over Joliet.

	* grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
	to ...
	(set_rockridge): ... here.
	(grub_iso9660_mount): Check rockridge on the primary label when
	discovering. Ignore Joliet if Rockridge is present.

2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Use shifts in nilfs2.

	* grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
	(LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
	(grub_nilfs2_palloc_entries_per_group): Replace with ...
	(grub_nilfs2_log_palloc_entries_per_group): ... this.
	(grub_nilfs2_palloc_group): Use shifts and bitmasks.
	(grub_nilfs2_entries_per_block): Replaced with ...
	(grub_nilfs2_log_entries_per_block_log): ... this.
	(grub_nilfs2_blocks_per_group): Replaced with ...
	(grub_nilfs2_blocks_per_group_log): ... this.
	(grub_nilfs2_blocks_per_desc_block): Replaced with ...
	(grub_nilfs2_blocks_per_desc_block_log): ... this.
	(grub_nilfs2_palloc_desc_block_offset): Replaced with ...
	(grub_nilfs2_palloc_desc_block_offset_log): ... this.
	(grub_nilfs2_palloc_entry_offset): Replaced ...
	(grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
	(grub_nilfs2_dat_translate): Use shifts.
	(grub_nilfs2_read_inode): Likewise.
	(GRUB_MOD_INIT): Ensure that logs are correct.

2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Use shifts in minix filesystem.

	* grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
	(GRUB_MINIX_ZONE2SECT): Likewise.
	(grub_minix_data): Replace block_size with log_block_size.
	(grub_minix_read_file): Use shifts.
	(grub_minix_mount): Check block size and take a logarithm.

2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Use shifts in squash4.

	* grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
	(squash_mount): Check block size and take logarithm.
	(direct_read): Use shifts.

2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Correct befs block counting logic.

	* grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
	(GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
	(GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
	(grub_afs_read_inode): Use block_shift.
	(RANGE_SHIFT): New definition.
	(grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
	unexpected conditions, use shifts and appropriate types.
	(GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.

2011-10-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (scan_devices): Check partition.
	* grub-core/disk/lvm.c (do_lvm_scan): Likewise.

2011-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Support BFS (befs) UUID.

	* grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
	(grub_afs_small_data_element_header): New struct.
	(grub_afs_read_inode): Read complete inode. Fix ino type while on it.
	(grub_afs_read_attribute) [MODE_BFS]: New function.
	(grub_afs_iterate_dir): Allocate for complete inode.
	(grub_afs_mount): Likewise.
	(grub_afs_uuid) [MODE_BFS]: New function.
	(grub_afs_fs) [MODE_BFS]: Add .uuid.

2011-10-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
	(zfs_unmount): Fix memory leak.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Support NTFS reparse points.

	* grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
	(symlink_descriptor): New struct.
	(grub_ntfs_read_symlink): New function.
	(grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
	(grub_ntfs_open): Likewise.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	fstest xnu_uuid subcommand.

	* grub-core/commands/xnu_uuid.c (libgrubkrn): Add
	grub-core/commands/xnu_uuid.c.
	* util/grub-fstest.c (CMD_XNU_UUID): New enum value.
	(fstest): Handle xnu_uuid.
	(options): Document xnu_uuid.
	(argp_parser): Parse xnu_uuid.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
	-l argument. Add newline at the end if printing.
	(GRUB_MOD_INIT): Document -l.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	ZFS multi-device and version 33 support.

	* Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
	* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
	(grub_zfs_data): Add multidev-ice-related fields.
	(zio_checksum_verify): Zero-pad printed values. Print checksum name.
	(dva_get_offset): Make dva const.
	(zfs_fetch_nvlist): New function.
	(fill_vdev_info_real): Likewise.
	(fill_vdev_info): Likewise.
	(check_pool_label): Likewise.
	(scan_disk): Likewise.
	(scan_devices): Likewise.
	(read_device): Likewise.
	(read_dva): Likewise.
	(zio_read_gang): Use read_dva.
	(zio_read_data): Likewise.
	(zap_leaf_lookup): Add missing endian conversion.
	(zap_verify): Add missing endian conversion. All users updated.
	(fzap_lookup): Likewise.
	(fzap_iterate): Likewise.
	(dnode_get_path): Handle SA bonus.
	(nvlist_find_value): Make input const. All users updated.
	(unmount_device): New function.
	(zfs_unmount): Use unmount_device.
	(zfs_mount): Use scan_disk.
	(zfs_mtime): New function.
	(grub_zfs_open): Handle system attributes.
	(fill_fs_info): Likewise.
	(grub_zfs_dir): Likewise.
	(grub_zfs_fs): Add mtime.
	* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
	* include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
	(SA_MTIME_OFFSET): Likewise.
	(SA_SYMLINK_OFFSET): Likewise.
	* include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
	* util/grub-fstest.c (CMD_ZFSINFO): New enum value.
	(fstest): Support zfsinfo.
	(argp_parser): Likewise.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
	error.

2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	ZFS fixes.

	* grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
	sharing the same block. Iterate over correct number of indices.
	(dnode_get_path): Handle symlinks correctly.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Read label on HFS+.

	* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
	(grub_hfsplus_btree_search): Fix types.
	(grub_hfsplus_label): Implement.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix symlink handling on iso9660.

	* grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
	All users updated.
	(grub_iso9660_susp_iterate): Accept zero-size iterate.
	(grub_iso9660_read_symlink): Moved most of code ...
	(grub_iso9660_iterate_dir): ... here. Fill node->symlink.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
	Use union to avoid breaking strict-aliasing rules.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Support multi-extent iso files.

	* grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
	Add node.
	(grub_fshelp_node): Revamp. All users updated.
	(FLAG_*): New enum.
	(read_node): New function.
	(grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
	All users updated.
	(grub_iso9660_mount): Don't attempt to read sua when there is none.
	(get_node_size): New function.
	(grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
	entries.
	Fix memory leak on . and ..
	(grub_iso9660_read): Use read_node.
	(grub_iso9660_close): Free node.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix tar 4G limit and handle paths containing dot.

	* grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
	(canonicalize): New function.
	(grub_cpio_find_file): Use canonicalize. Store offs in
	grub_disk_addr_t.
	(grub_cpio_dir): Use grub_disk_addr_t.
	(grub_cpio_open): Likewise.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of uncompressed blocks on squashfs and break 4G limit.

	* grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
	unused flags.
	(grub_squash_inode): Add long_file and block_size.
	(grub_squash_cache_inode): New struct.
	(grub_squash_dirent): Make types into enum.
	(SQUASH_TYPE_LONG_REGULAR): New type.
	(grub_squash_frag_desc): Add field size.
	(SQUASH_BLOCK_FLAGS): New enum.
	(grub_squash_data): Use grub_squash_cache_inode.
	(grub_fshelp_node): Make ino_chunk 64-bit.
	(read_chunk): Minor argument change. All users updated.
	(squash_mount): Use correct le_to_cpu.
	(grub_squash_open): Handle LONG_REGULAR.
	(direct_read): New function.
	(grub_squash_read_data): Handle blocks correctly.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.

2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/romfs.c (grub_romfs_open): Add missing return.

2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix 2G limit on ZFS.

	* grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
	types.
	(uberblock_verify): Likewise.
	(dmu_read): Likewise.
	(grub_zfs_read): Likewise. Remove invalid cast.

2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
	(grub_jfs_blkno): Fix incorrect shift.
	(grub_jfs_read_file): Use more appropriate types.

2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Support triple indirect on minix2 and minix3.

	* grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
	Declare triple_indir_zone.
	(grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
	indirect.

2011-10-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Minix FS fixes.

	* grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
	(grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
	Rename ctime to mtime. All users updated.
	(grub_minix_get_file_block): Fix types and double indirect computations.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
	if no label is found.
	(grub_fat_iterate_dir): Fix file size type.
	(grub_fat_iterate_dir): Likewise.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
	save some space.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
	(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Automatically fix camellia.c and camellia.h.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Accept space between # and include.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Fine grainely disable warnings on lexer. Remove Wno-error on it.

	* grub-core/Makefile.core.def (normal): Remove -Wno-error.
	* grub-core/script/lexer.c: Declare yytext_ptr to avoid having
	yylex_strncpy.
	* grub-core/script/yylex.l: Add fine-grained #pragma.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
	New inline function.
	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
	Likewise.
	(memset) [GRUB_UTIL]: Likewise.
	(memcmp) [GRUB_UTIL]: Likewise.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
	inline function rather than a define.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c: Add missing include.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/grub-ofpathname.c: Add missing include.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
	* grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
	Likewise.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
	grub_memcmp usage.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Add datarootdir as per automake manual
	suggestion.
	* util/grub-mknetdir.in: Likewise.

2011-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_hurd.in: Add datarootdir as per automake manual
	suggestion.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.

2011-10-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove redundant grub_kernel_image_size.

	* grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
	_edata and _start.
	* grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
	the small code. It moves it only by few bytes but simplifies the code.
	* grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
	_start.
	* grub-core/kern/i386/pc/startup.S: Use _edata and _start.
	(grub_kernel_image_size): Removed.
	* grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
	(grub_kernel_image_size): Removed.
	[APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
	compiled with Apple toolchain.
	* grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
	* include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
	* include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
	(grub_total_module_size): Likewise.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
	Removed.
	(GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
	(GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
	(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
	(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
	(GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
	(GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
	(GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
	* include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
	Removed.
	(grub_total_module_size): Removed.
	* util/grub-mkimage.c (image_target_desc): Remove image_size.
	(image_targets): Likewise.
	Set .compressed_size to no field on sparc.
	(generate_image): Remove kernel_image_size handling.

2011-10-19  Szymon Janc <szymon@janc.net.pl>

	* grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
	NULL pointer dereference.

2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
	done with a dedicated section.

	* grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
	Ensure the correct position of boot_path.
	* grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
	* grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
	other fields.
	* grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
	* include/grub/boot.h: Removed. All references removed.
	* include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
	Removed.
	(GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.

2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Declare IEEE1275 as able to find out the disk
	name.

2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.

2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
	Don't add the bogus brackets.

2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	ExFAT support.

	* Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
	* grub-core/Makefile.core.def (exfat): New module.
	* grub-core/fs/exfat.c: New file.
	* grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
	(GRUB_FAT_ATTR_*): Make into an enum.
	(GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
	(GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
	(GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
	(GRUB_FAT_MAXFILE): Removed.
	(grub_exfat_bpb) [MODE_EXFAT]: New struct.
	(grub_current_fat_bpb_t): New type.
	(grub_fat_dir_entry) [MODE_EXFAT]: New struct.
	(grub_fat_dir_node) [MODE_EXFAT]: New struct.
	(grub_fat_dir_node_t): New type.
	(grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
	(fat_log2) [MODE_EXFAT]: Removed.
	(grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
	(grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
	(grub_fat_iterate_dir) [MODE_EXFAT]: New function.
	(grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
	(grub_fat_label) [MODE_EXFAT]: New function.
	(grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
	reserved_first_sector to 0.

2011-10-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Move grub_reboot out of the kernel.

	* grub-core/Makefile.core.def (reboot): Add platform-specific files.
	* grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
	* grub-core/lib/efi/reboot.c: ... here.
	* grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
	* grub-core/kern/i386/ieee1275/startup.S: Likewise.
	* grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
	* grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
	* grub-core/lib/i386/reboot_trampoline.S: ... here.
	* grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
	* grub-core/lib/ieee1275/reboot.c: ... here.
	* grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
	* grub-core/lib/mips/arc/reboot.c: ... here.
	* grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
	* grub-core/lib/mips/loongson/reboot.c: ...here.
	* grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
	* grub-core/lib/mips/qemu_mips/reboot.c: ... here.
	* include/grub/emu/misc.h (grub_reboot): New function declaration.
	* include/grub/i386/reboot.h: New file.
	* include/grub/mips/loongson/ec.h: Fix includes.
	* include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
	* include/grub/misc.h (grub_reboot): Don't mark as kernel function.
	* grub-core/lib/i386/reboot.c: New file.

2011-10-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Make grub_prefix into module to fix the arbitrary limit and save
	some space.

	* grub-core/kern/emu/main.c (grub_prefix): Removed.
	* grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
	* grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
	* grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
	* grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
	* grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
	* grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
	* grub-core/kern/mips/startup.S (grub_prefix): Likewise.
	* grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
	* grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
	* grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
	* include/grub/ia64/efi/kernel.h: Removed.
	* include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
	(grub_prefix): Removed.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
	(GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
	(GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
	(GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
	(GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
	(GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
	(GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
	(GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
	(GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
	(GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
	(GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
	(GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
	(GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
	(GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
	(GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
	(GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
	(GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
	(GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
	(GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
	(GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
	(GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
	(GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
	(GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
	(GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
	(GRUB_KERNEL_MACHINE_PREFIX): Likewise.
	(GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
	* grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
	from module.
	* util/grub-mkimage.c (image_target_desc): Removed prefix and
	prefix_end.
	(image_targets): Likewise.
	(generate_image): Put prefix as a module.

2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Replace grub_module_iterate with FOR_MODULES.

	* grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
	* grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
	(grub_efi_modules_addr): ...this.
	* grub-core/kern/efi/init.c (grub_modbase): New variable.
	(grub_efi_init): Set grub_modbase.
	* grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
	(grub_modbase): New variable.
	* grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
	(grub_modbase): New variable.
	(grub_machine_init): Set grub_modbase.
	* grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
	(grub_modbase): New variable.
	(grub_machine_init): Set grub_modbase.
	* grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
	(grub_modbase): New variable.
	(grub_machine_init): Set grub_modbase.
	* grub-core/kern/main.c (grub_module_iterate): Remove.
	(grub_modules_get_end): Use grub_modbase.
	(grub_load_modules): Use FOR_MODULES.
	(grub_load_config): Likewise.
	* grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
	(grub_modbase): New variable.
	(grub_machine_init): Set grub_modbase.
	* grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
	(grub_modbase): New variable.
	(grub_machine_init): Set grub_modbase.
	* grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
	Removed.
	(grub_modbase): New variable.
	(grub_machine_init): Set grub_modbase.
	* include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
	* include/grub/kernel.h (grub_arch_modules_addr): Removed.
	(grub_module_iterate): Likewise.
	(grub_modbase): New variable declaration.
	(FOR_MODULES): New macro.

2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check for __ctzdi2 and __ctzsi2.
	* include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.

2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix few obvious type discrepancies.

	* grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
	* grub-core/fs/afs.c (grub_afs_read_file): Likewise.
	* grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
	variable.
	* grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
	and connected types.
	* grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
	offset.
	(grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
	* grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
	* grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
	and connected types.

2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix python 3.x incompatibilities.

	* gentpl.py: Put brackets around print strings.
	* util/import_gcry.py: Open explicitly as utf-8.
	Use in instead of has_key.

2011-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
	(GRUB_XFS_INO_AGBITS): Make into inline function.
	(GRUB_XFS_INO_INOINAG): Likewise.
	(GRUB_XFS_INO_AG): Likewise.
	(GRUB_XFS_FSB_TO_BLOCK): Likewise.
	(GRUB_XFS_EXTENT_OFFSET): Likewise.
	(GRUB_XFS_EXTENT_BLOCK): Likewise.
	(GRUB_XFS_EXTENT_SIZE): Likewise.
	(GRUB_XFS_ROUND_TO_DIRENT): Likewise.
	(GRUB_XFS_NEXT_DIRENT): Likewise.
	(grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
	(grub_xfs_read_file): Fix offset type.

2011-10-15  Robert Millan  <rmh@gnu.org>

	* util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.

2011-10-15  Robert Millan  <rmh@gnu.org>

	Fix build problem on FreeBSD and GNU/kFreeBSD.

	* util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.

2011-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.

	* grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
	types.
	(grub_hfsplus_btree_recoffset): Likewise.
	(grub_hfsplus_btree_recptr): Likewise.
	(grub_hfsplus_find_block): Likewise.
	(grub_hfsplus_btree_search): Likewise.
	(grub_hfsplus_read_block): Likewise.
	(grub_hfsplus_read_file): Likewise.
	(grub_hfsplus_mount): Likewise.
	(grub_hfsplus_btree_iterate_node): Likewise.
	(grub_hfsplus_btree_search): Likewise.
	(grub_hfsplus_iterate_dir): Likewise.
	(grub_hfsplus_read): A small code simplification.

2011-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Don't assume that children
	of mapper nodes are mapper nodes.

2011-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
	* include/grub/misc.h (grub_isxdigit): New function.
	* grub-core/video/colors.c (my_isxdigit): Removed. All users
	switched to grub_isxdigit.
	* grub-core/term/serial.c (grub_serial_find): Fix in case of port
	number starting with a letter.

2011-10-09  Robert Millan  <rmh@gnu.org>

	LVM support for FreeBSD and GNU/kFreeBSD.

	* util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
	GNU/kFreeBSD.
	(LVM_DEV_MAPPER_STRING): Move from here ...
	* include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
	* util/getroot.c: Include `<grub/util/lvm.h>'.
	(grub_util_get_dev_abstraction): Enable
	grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
	Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
	(grub_util_get_grub_dev): Replace "/dev/mapper/" with
	`LVM_DEV_MAPPER_STRING'.  Enable LVM and mdRAID only on platforms that
	support it.
	* util/grub-setup.c (main): Check for LVM also on FreeBSD and
	GNU/kFreeBSD.
	* util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
	when LVM abstraction is required for ${GRUB_DEVICE}.

2011-10-06  Szymon Janc <szymon@janc.net.pl>

	Add support for LZO compression in GRUB:
	- import of minilzo library, 
	- LZO decompression for btrfs,
	- lzop files decompression.

	* grub-core/io/lzopio.c: New file.
	* grub-core/lib/adler32.c: Likewise.
	* grub-core/lib/minilzo/lzoconf.h: Likewise.
	* grub-core/lib/minilzo/lzodefs.h: Likewise.
	* grub-core/lib/minilzo/minilzo.c: Likewise.
	* grub-core/lib/minilzo/minilzo.h: Likewise.
	* Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
	grub-core/lib/adler32.c, grub-core/io/lzopio.c,
	grub-core/lib/minilzo/minilzo.c to common.
	* Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
	cflags in cppflags.
	* grub-core/Makefile.core.def (btrfs): Likewise.
	* grub-core/Makefile.core.def (lzopio): New module.
	(adler32): Likewise.
	* grub-core/fs/btrfs.c: Include minilzo.h.
	(GRUB_BTRFS_COMPRESSION_LZO): New define.
	(GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
	(GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
	(grub_btrfs_lzo_decompress): New function.
	(grub_btrfs_extent_read): Add support for LZO compression type.
	* include/grub/types.h (GRUB_UCHAR_MAX): New define.
	(GRUB_USHRT_MAX): Likewise.
	(GRUB_UINT_MAX): Likewise.
	* grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
	(UINT_MAX): Likewise.
	(CHAR_BIT): Likewise.
	* grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
	grub-core/lib/posix_wrap/limits.h
	(UCHAR_MAX): Likewise.
	* include/grub/file.h (grub_file_filter_id): New compression filter
	GRUB_FILE_FILTER_LZOPIO.
	* include/grub/file.h (grub_file_filter_id): Set
	GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
	* include/grub/types.h (grub_get_unaligned16): New function.
	(grub_get_unaligned32): Likewise.
	(grub_get_unaligned64): Likewise.
	* util/import_gcry.py (cryptolist): Add adler32.

2011-10-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
	in perspective decreases the complexity of build system and fixes
	compilation right now.

2011-10-01  Ales Nesrsta <starous@volny.cz>

	* grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
	(fixed problem related to using UHCI with coreboot).

2011-08-25  BVK Chaitanya  <bvk.groups@gmail.com>

	* gentpl.py: Use Autogen macros so that the output template file
	(Makefile.tpl) size is reduced.

2011-09-29  Mads Kiilerich <mads@kiilerich.com>

	* grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
	extra_dist.

2011-09-29  Mario Limonciello <mario_limonciello@dell.com>

	* util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
	slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.

2011-09-29  Mario Limonciello <mario_limonciello@dell.com>

	* grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
	_fullpath.

2011-09-29  Mario Limonciello <mario_limonciello@dell.com>

	Remove extra declaration of sleep for mingw32.

	* util/misc.c (sleep) [__MINGW32__]: Removed.
	* include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.

2011-09-28  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
	type and packname.
	* include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
	Resurrected.
	(NETBSD_BTINFO_BOOTWEDGE): New definition.
	(grub_netbsd_btinfo_bootwedge): New struct.
	* grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
	New function.
	(grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.

2011-09-28  Thomas Haller <thomas.haller@fen-net.de>

	* grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
	loader.

2011-09-28  Andreas Born  <futur.andy@googlemail.com>

	Fix incorrect identifiers in bash-completion.

	* util/bash-completion.d/grub-completion.bash.in
	(_grub_mkpasswd-pbkdf2): Rename to ...
	(_grub_mkpasswd_pbkdf2): ... this. All users updated.
	(_grub_script-check): Rename to ...
	(_grub_script_check): ... this. All users updated.

2011-09-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
	Return 0 if disk isn't biosdisk.

2011-09-17  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
	on NetBSD.
	* Makefile.util.def (grub-fstest): Likewise.

2011-09-17  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
	Get sector size from disk label.

2011-09-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
	*/README* as well as README*.
	Reported by: Axel Beckert.

2011-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
	case of less than 256 MiB of RAM.

2011-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (make_regex): Handle @.

2011-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Move cryptodisk logic to appropriate place.

2011-08-21 Szymon Janc <szymon@janc.net.pl>

	* acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
	 AC_LANG_CONFTEST macros.

2011-08-20  Szymon Janc <szymon@janc.net.pl>

	Add grub-fstest option to uncompress data for commands.

	* util/grub-fstest.c (uncompress): New var.
	(options): New option -u.

2011-08-20  Szymon Janc <szymon@janc.net.pl>

	* grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
	GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.

2011-08-20  Szymon Janc <szymon@janc.net.pl>

	* grub-core/io/gzio.c (grub_gzio_open): Always return original io if
	file type was not recognized correctly (not gzip or corrupted).

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
	* include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
	loongson.
	* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
	video_radeon_fuloong2e.
	* grub-core/video/radeon_fuloong2e.c: New file.
	* include/grub/video.h (grub_video_id_t): Add new ID
	GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
	define.
	* grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
	that PRID matches the detected subplatform and reset the subplatform
	if it doesn't.

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix PCI iterating on functions >= 4.

	* grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
	* include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
	Removed.
	(GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
	(grub_pci_read): Fix bitmask.
	(grub_pci_read_word): Likewise.
	(grub_pci_read_byte): Likewise.
	(grub_pci_write): Likewise.
	(grub_pci_write_word): Likewise.
	(grub_pci_write_byte): Likewise.

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Don't impose march=loongson2f on loongson platform. (It
	can still be specified in TARGET_CFLAGS)

2011-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.

	* grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
	into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
	* grub-core/boot/mips/loongson/fuloong.S: Rename to ...
	* grub-core/boot/mips/loongson/fuloong2f.S: ... this.
	(FULOONG): Rename to ...
	(FULOONG2F): ... this. All users updated.
	* grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
	(machtype_fuloong2f_str): ... this.
	(machtype_fuloong2e_str): New string.
	Check for machtype_fuloong2e_str.
	* grub-core/loader/mips/linux.c (loongson_machtypes)
	[GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
	* grub-core/term/serial.c (loongson_defserial)
	[GRUB_MACHINE_MIPS_LOONGSON]: New array.
	(grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
	loongson_defserial.
	* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
	Rename to ...
	(GRUB_ARCH_MACHINE_FULOONG2F): ... this.
	(GRUB_ARCH_MACHINE_FULOONG2E): New const.
	* util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
	to IMAGE_FULOONG2F_FLASH. All users updated.
	(image_targets): Rename images.
	* util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.

2011-08-19  Szymon Janc <szymon@janc.net.pl>

	Make enable of disk cache statistics code configurable.

	* configure.ac: --enable-cache-stats added.
	* config.h.in (DISK_CACHE_STATS): New define.
	* grub-core/Makefile.core.def (cacheinfo): New command.
	* include/grub/disk.h(grub_disk_cache_get_performance): New function.
	* grub-core/commands/cacheinfo.c: New file.
	* grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
	moved to cacheinfo.c.
	* grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
	debug code.
	* include/grub/disk.h: Likewise.

2011-08-19  Szymon Janc <szymon@janc.net.pl>

	* Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
	* grub-core/Makefile.am: Likewise.

2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
	non-zero pull.

2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
	All users updated.
	(grub_jfs_lookup_symlink): Use correct starting inode.

2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (main): Add missing gcry initialisation.

2011-08-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't accept text modes on EFI when booting Linux.

	* grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
	(grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.

2011-08-15  Mario Limonciello  <mario_limonciello@dell.com>
2011-08-15  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-probe.c (probe): Canonicalise the path argument, fixing
	use of "/path/.." as in grub-install for EFI as well as handling
	symlinks correctly.
	Fixes Debian bug #637768.

2011-08-15  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-probe.c: Remove duplicate #include.

2011-08-10  Robert Millan  <rmh@gnu.org>

	Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.

	* util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
	function.
	[__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
	(/dev/mfid[0-9]+) devices using get_mfi_disk_name().

2011-08-03  Robert Millan  <rmh@gnu.org>

	* include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
	la_array as packed.
	Reported by: Zachary Bedell

2011-07-26  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: The Loongson port requires grub-mkfont due to its
	use of -DUSE_ASCII_FAILBACK.  Raise an error if it is not going to
	be built.

2011-07-26  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Don't source grub-mkconfig_lib until after
	processing arguments (otherwise help2man fails when GRUB has not yet
	been installed).

2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	New script grub-mkstandalone.

	* Makefile.util.def (grub-mkstandalone): New script.
	* docs/man/grub-mkstandalone.h2m: New file.
	* util/grub-mkstandalone.in: Likewise.

2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Support ATA disks with 4K sectors.

	* include/grub/ata.h (grub_ata): New member log_sector_size.
	* grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
	(grub_ata_identify): Read sector size.
	(grub_ata_readwrite): Use log_sector_size rather than hardcoded value.

2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Don't use uhci outside of x86.

2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Add missing quotes.

2011-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
	dereference.

2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.

2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/video.h: add missing EXPORT_FUND on
	grub_video_edid_checksum and grub_video_edid_preferred_mode.

2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/mips/kernel.h: Fix define conflict.

2011-07-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
	all four ways.

2011-07-21  Colin Watson  <cjwatson@ubuntu.com>

	Preferred resolution detection for VBE.

	* grub-core/video/video.c (grub_video_edid_checksum): New function.
	(grub_video_edid_preferred_mode): Likewise.  Try EDID followed by
	the Flat Panel extension, in line with the X.org VESA driver.
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
	New function.
	(grub_vbe_bios_get_ddc_capabilities): Likewise.
	(grub_vbe_bios_read_edid): Likewise.
	(grub_vbe_get_preferred_mode): Likewise.
	(grub_video_vbe_setup): When the mode is "auto", try to get the
	preferred mode from VBE, and use the largest mode that is no larger
	than the preferred mode (some BIOSes expose a preferred mode that is
	not in their mode list!).  If this fails, fall back to 640x480 as a
	safe conservative choice.
	(grub_video_vbe_get_edid): New function.
	(grub_video_vbe_adapter): Add get_edid.
	* include/grub/video.h (struct grub_vbe_edid_info): New structure.
	(struct grub_video_adapter): Add get_edid.
	(grub_video_edid_checksum): Add prototype.
	(grub_video_edid_preferred_mode): Likewise.
	* include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
	structure.

	* grub-core/commands/videoinfo.c (print_edid): New function.
	(grub_cmd_videoinfo): Print EDID if available.

	* util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto".  This
	is more appropriate on a wider range of platforms than 640x480.
	* docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
	documentation.

2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Recognize ESP mounted at /boot/EFI.

2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.

2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
	incorrect memory usage.

2011-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Source grub-mkconfig_lib.

2011-07-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove getroot.c from core on emu platform.

	* grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
	kern/emu/raid.c.
	* grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
	useless.
	* grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
	* util/getroot.c (get_win32_path): ... here.
	* grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
	* util/getroot.c (fini_libzfs): ... here.
	* grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
	* util/getroot.c (grub_get_libzfs_handle): ... here.
	* grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
	Moved from here...
	* util/getroot.c (grub_find_zpool_from_dir): ... here.
	* grub-core/kern/emu/misc.c
	(grub_make_system_path_relative_to_its_root): Moved from here...
	* util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
	* grub-core/kern/emu/getroot.c: Moved from here ...
	* util/getroot.c: ... here. All users updated.
	* grub-core/kern/emu/raid.c: Moved from here ...
	* util/raid.c: ... here. All users updated.

2011-07-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.

2011-07-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix compilation on GNU/Linux.

	* grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
	Disable geli.
	(grub_util_get_grub_dev) [!FreeBSD]: Likewise.
	(grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
	* grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.

2011-07-07  Vladimir Serbinenko  <phcoder@gmail.com>
2011-07-07  Michael Gorven  <michael@gorven.za.net>
2011-07-07  Clemens Fruhwirth <clemens@endorphin.org>

	LUKS and GELI support.

	* Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
	grub-core/disk/luks.c, grub-core/disk/geli.c,
	grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
	grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
	grub-core/lib/arg.c.
	(libgrubmods.a): Remove gcrypts cflags and cppflags.
	Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
	grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
	grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
	(grub-bin2h): Add libgcry.a.
	(grub-mkimage): Likewise.
	(grub-mkrelpath): Likewise.
	(grub-script-check): Likewise.
	(grub-editenv): Likewise.
	(grub-mkpasswd-pbkdf2): Likewise.
	(grub-pe2elf): Likewise.
	(grub-fstest): Likewise.
	(grub-mkfont): Likewise.
	(grub-mkdevicemap): Likewise.
	(grub-probe): Likewise.
	(grub-ofpath): Likewise.
	(grub-mklayout): Likewise.
	(example_unit_test): Likewise.
	(grub-menulst2cfg): Likewise.
	* autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
	* grub-core/Makefile.core.def (cryptodisk): New module.
	(luks): Likewise.
	(geli): Likewise.
	* grub-core/disk/AFSplitter.c: New file.
	* grub-core/disk/cryptodisk.c: Likewise.
	* grub-core/disk/geli.c: Likewise.
	* grub-core/disk/luks.c: Likewise.
	* grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
	grub_util_is_lvm.
	(grub_util_get_dm_abstraction): New function.
	(grub_util_follow_gpart_up): Likewise.
	(grub_util_get_geom_abstraction): Likewise.
	(grub_util_get_dev_abstraction): Use new functions.
	(grub_util_pull_device): Pull GELI and LUKS.
	(grub_util_get_grub_dev): Handle LUKS and GELI.
	* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
	(grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
	(follow_geom_up): Removed.
	(grub_util_fd_seek): New function.
	(open_device): Use grub_util_fd_seek.
	(nread): Rename to ..
	(grub_util_fd_read): ... this. All users updated.
	* grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
	(grub_crypto_cbc_decrypt): Likewise.
	(grub_crypto_hmac_write): Likewise.
	(grub_crypto_hmac_buffer): Likewise.
	(grub_password_get): Extend to util.
	* include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
	New member modname.
	(gcry_md_spec) [GRUB_UTIL]: Likewise.
	* include/grub/cryptodisk.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
	* include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
	LUKS and GELI.
	(grub_util_follow_gpart_up): New proto.
	* include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
	(grub_util_fd_read): Likewise.
	(grub_cryptodisk_cheat_mount): Likewise.
	(grub_util_cryptodisk_print_uuid): Likewise.
	(grub_util_get_fd_sectors): Likewise.
	* util/grub-fstest.c (mount_crypt): New var.
	(fstest): Mount crypto if requested.
	(options): New option -C.
	(argp_parser): Parse -C.
	(main): Init and fini gcry.
	* util/grub-install.in: Support cryptodisk install.
	* util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
	cryptodisk.
	(prepare_grub_to_access_device): Likewise.
	* util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
	* util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
	(probe_cryptodisk_uuid): New function.
	(probe_abstraction): Likewise.
	(probe): Use new functions.
	* util/import_gcry.py: Create Makefile.utilgcry.def.
	Add modname member.

2011-07-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Lazy device scanning.

	* Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
	(grub-setup): Remove util/raid.c.
	* grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
	* grub-core/disk/lvm.c (scan_depth): New variable.
	(grub_lvm_iterate): Rescan if necessary.
	(find_lv): New function based on grub_lvm_open.
	(grub_lvm_open): Use find_lv. Rescan on error.
	(is_node_readable): New function.
	(is_lv_readable): Likewise.
	(grub_lvm_scan_device): Skip already found disks.
	(do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
	Stop if searched device is found and readable.
	* grub-core/disk/raid.c (inscnt): New variable.
	(scan_depth): Likewise.
	(scan_devices): New function based on grub_raid_register. Abort if
	looked for device is found.
	(grub_raid_iterate): Rescan if needed.
	(find_array): NEw function based on -grub_raid_open.
	(grub_raid_open): Use find_array and rescan.
	(insert_array): Set became_readable_at.
	* grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
	* grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
	New function.
	(grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
	(grub_util_pull_device): New function.
	(grub_util_get_grub_dev): Call grub_util_pull_device.
	* util/raid.c: Moved to ..
	* grub-core/kern/emu/raid.c: ... here.
	(grub_util_raid_getmembers): New parameter "bootable".
	All users updated. Support 1.x.
	* include/grub/ata.h (grub_ata_dev): Change iterate prototype.
	All users updated.
	* include/grub/disk.h (grub_disk_pull_t): New enum.
	(grub_disk_dev): Change iterate prototype.
	All users updated.
	* include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
	New proto.
	* include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
	* include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
	* include/grub/raid.h (grub_raid_array): New member became_readable_at.
	* include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
	All users updated.
	* include/grub/util/raid.h: Removed.

2011-07-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES.in: Regenerate.

2011-07-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify sparc init with other ieee1275.

	* grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
	instead of kern/sparc64/ieee1275/init.c.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
	[__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
	* grub-core/kern/ieee1275/init.c [__sparc__]: Include
	grub/machine/kernel.h.
	(grub_ieee1275_original_stack) [__sparc__]: New variable.
	(grub_claim_heap) [__sparc__]: Use sparc version.
	(grub_machine_init): Moved args parsing to
	(grub_parse_cmdline): ...this.
	* grub-core/kern/sparc64/ieee1275/init.c: Removed.
	* include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
	New definition.
	(GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.

	Move BOOTP to separate file.

	* grub-core/Makefile.core.def (net): Add net/bootp.c.
	* grub-core/net/net.c: Move all BOOTP functions to
	* grub-core/net/bootp.c: ... here.

	Use frame interface on PXE.

	* grub-core/Makefile.core.def (pxecmd): Removed.
	(pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
	* grub-core/commands/i386/pc/pxecmd.c: Removed.
	* grub-core/i386/pc/pxe.c: Moved from here ...
	* grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
	* grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
	* include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.

	EFI network support.

	* grub-core/Makefile.core.def (efinet): New module.
	* grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
	here...
	* grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
	All users updated.
	* grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
	(grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
	* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
	* grub-core/net/drivers/efi/efinet.c: New file.
	* include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
	(grub_efi_net_config): New extern var.

	Various cleanups and bugfixes.

	* grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
	error.
	(grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
	disk declared as partition.
	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
	leak on failure.
	* grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
	* grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
	(grub_debug_zalloc): Likewise.
	(grub_debug_realloc): Likewise.
	(grub_debug_memalign): Likewise.
	* grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
	Check that target is IPv4.
	* grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
	local-mac-address as fallback.
	* grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
	memory leak.
	* grub-core/net/ip.c (ipchksum): Rename to ...
	(grub_net_ip_chksum): ... this. All users updated.
	(grub_net_recv_ip_packets): Special handling for DHCP.
	* util/grub-mkimage.c (generate_image): Zero-out aout header.

	Unify prefix handling

	* grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	(grub_prefix): New variable.
	(prefix): Removed.
	(root_dev): New variable.
	(dir): Likewise.
	(main): Use new variables.
	* grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
	Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
	* grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	(grub_machine_set_prefix): Removed.
	* grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
	* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
	Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
	(grub_set_prefix_and_root): ... this. All users updated.
	* grub-core/kern/mips/init.c (grub_machine_set_prefix):
	Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* include/grub/kernel.h (grub_machine_set_prefix): Removed.
	(grub_machine_get_bootlocation): New proto.
	* include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.

	Less intrusive and more reliable seek on network implementation.

	* grub-core/kern/file.c (grub_file_net_seek): Removed.
	(grub_file_seek): Don't call grub_file_net_seek.
	* grub-core/net/net.c (grub_net_fs_read): Renamed to ...
	(grub_net_fs_read_real): .. this.
	(grub_net_seek_real): Use net->offset.
	(grub_net_fs_read): Seek if necessary.

	Unify IEEE1275 netwotk config with the other platforms.

	* grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
	New variable.
	(grub_machine_get_bootlocation): Support network.
	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
	Support type and device parsing.
	(grub_ieee1275_get_device_type): New function.
	* grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
	into ...
	(grub_ieee1275_net_config_real): ... this.
	(grub_ofnet_probecards): Removed.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
	* include/grub/ieee1275/ofnet.h: Removed.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
	extern var.
	(grub_ieee1275_get_device_type): New function.

	Unify network device closing across platforms and make more robust.

	* grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
	grub_grubnet_fini.
	* grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
	already.
	* grub-core/net/net.c (grub_net_network_level_interface_register):
	Update num_ifaces.
	(grub_net_card_unregister): Close all interfaces.
	(receive_packets): Don't poll if no iterfaces are registered.
	Open if necessary.
	(grub_net_fini_hw): New function.
	(grub_net_restore_hw): Likewise.
	(fini_hnd): New variable.
	(GRUB_MOD_INIT): Register preboot hook.
	(GRUB_MOD_FINI): Run and unregister preboot hook.

	Poll network cards when idle.

	* grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
	(grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
	* grub-core/net/net.c (receive_packets): Save last poll time.
	(grub_net_poll_cards_idle_real): New function.
	(GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
	(GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
	* include/grub/kernel.h (grub_poll_cards_idle): New extern variable.

	Rename ofnet interfaces.

	* grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
	(grub_ofnet_findcards): Use ofnet_%s names.

	* util/grub-mknetdir.in: Support for EFI and IEEE1275.

	Cleanup socket opening.

	* grub-core/net/net.c (grub_net_fs_open): Rewritten.
	(grub_net_fs_close): Likewise.
	(grub_net_fs_read_real): Use eof member.
	* include/grub/net/udp.h (+grub_net_udp_open): New proto.
	(+grub_net_udp_close): New inline function.

	* include/grub/net/tftp.h: Moved to the top of ...
	* grub-core/net/tftp.c: ... here.
	* include/grub/net/ip.h: Moved mostly to the top of ...
	* grub-core/net/ip.c: ... here.
	* include/grub/net/ethernet.h: Moved mostly to the top of ...
	* grub-core/net/ethernet.c: ... here.

	* grub-core/kern/device.c (grub_device_close): Free device->net->server.

	* grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
	FS name.

	* include/grub/net/ip.h (ipv4_ini): Removed.
	(ipv4_fini): Likewise.

	* include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
	(grub_net_send_ip_packets): Likewise.

2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
	grub_read_cmos prototype.

2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>

	VGA text support in qemu-mips

	* grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
	term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
	* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
	text.
	* grub-core/kern/i386/qemu/init.c: Renamed to ...
	* grub-core/kern/vga_init.c: ... this.
	* grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
	(grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
	* grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
	Adjust.
	* include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
	GRUB_MACHINE_PCI_IO_BASE.

2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>

	MIPS qemu flash support.

	* grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
	magic.
	* grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
	(grub_machine_init): Probe memory if its size isn't known.
	* util/grub-mkimage.c (image_targets): Add flash targets.
	(generate_image): Handle flash targets.

2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>

	MIPS qemu at_keyboard support.

	* gentpl.py (videoinkernel): Add qemu-mips.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
	* grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
	* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
	modules.
	* grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
	[GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
	* grub-core/term/serial.c (grub_serial_register)
	[GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.

2011-07-05  Vladimir Serbinenko  <phcoder@gmail.com>

	CMOS support on sparc.

	* gentpl.py (cmos): Add powerpc and sparc.
	* grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
	powerpc and sparc.
	* grub-core/lib/cmos_datetime.c (grub_get_datetime)
	[__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
	(grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
	grub_set_datetime_cmos.
	* grub-core/lib/ieee1275/cmos.c: New file.
	* grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
	(find_rtc): Set no_ieee1275_rtc on error.
	(grub_get_datetime): Call grub_get_datetime_cmos on error.
	(grub_set_datetime): Call grub_set_datetime_cmos on error.
	* include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
	fail. Move value to argument. All users updated
	(grub_cmos_write): Likewise.
	(grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
	(grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
	* include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
	grub_get_datetime_cmos and grub_set_datetime_cmos.

2011-07-02  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
	sourcing grub-mkconfig_lib.
	* util/update-grub_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.

2011-06-28  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
	default_bg_color rather than black.
	(grub_gfxterm_fullscreen): Likewise.
	(grub_gfxterm_background_color_cmd): Save new background color in
	default_bg_color.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (chain): Fix coreboot filename.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
	mismerge.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Chainloading on coreboot support.

	* grub-core/Makefile.core.def (chain): Add coreboot.
	* grub-core/loader/i386/coreboot/chainloader.c: New file.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
	if it happens.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement time command.

	* grub-core/Makefile.core.def (time): New module.
	* grub-core/commands/time.c: New file.
	* grub-core/script/parser.y: Remove "time" keyword.
	* grub-core/script/yylex.l: Likewise.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
	when handling leftovers.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
	so that help2man doesn't fail.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
	type in pointers on sparc64.
	(get_card_packet): Likewise.

2011-06-27  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/videoinfo.c (hook): Indicate current video mode
	with `*'.
	(grub_cmd_videoinfo): Fetch current video mode.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
	because of underlying system restrictions.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
	necessary.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Coreboot video support.

	* grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
	(vbe): Likewise.
	* grub-core/kern/i386/coreboot/startup.S: Include int.S.
	* grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
	here ...
	* grub-core/kern/i386/int.S: ... here.
	* grub-core/video/i386/pc/vbe.c: Updated includes.
	* grub-core/video/i386/pc/vga.c: Likewise.
	* include/grub/i386/coreboot/memory.h
	(GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
	(GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
	(GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
	* include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
	Disable interrupts.
	* include/grub/i386/pc/vga.h: Removed. All users updated.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
	definitions for dprintf.
	* grub-core/disk/pata.c (grub_pata_readwrite): Likewise.

2011-06-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
	prototype.
	(get_card_packet): Likewise.

2011-06-26  Yves Blusseau  <blusseau@zetam.org>

	Display the path of the file when file is not found

	* grub-core/fs/fat.c: Display the filename when file is not found.
	* grub-core/fs/fshelp.c: Likewise.
	* grub-core/fs/hfs.c: Likewise.
	* grub-core/fs/jfs.c: Likewise.
	* grub-core/fs/minix.c: Likewise.
	* grub-core/fs/ufs.c: Likewise.
	* grub-core/fs/btrfs.c: Likewise.
	* grub-core/commands/i386/pc/play.c: Likewise.

2011-06-26  Szymon Janc <szymon@janc.net.pl>

	* grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
	pointer checks before calling grub_free().
	* grub-core/commands/wildcard.c (match_devices): Likewise.
	* grub-core/commands/wildcard.c (match_files): Likewise.
	* grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
	* grub-core/fs/cpio.c (grub_cpio_open): Likewise.
	* grub-core/fs/udf.c (grub_udf_read_block): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
	* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
	* grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
	* grub-core/script/yylex.l (grub_lexer_unput): Likewise.
	* grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* grub-core/video/readers/png.c (grub_png_output_byte): Likewise.

2011-06-25  Patrick <p55@mailinator.com>

	* grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.

2011-06-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
	(grub_pxe_send): Likewise.
	(GRUB_MOD_INIT): Fix types.

2011-06-24  Szymon Janc <szymon@janc.net.pl>

	* grub-core/io/xzio.c: Fix code style issues

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>
2011-06-24  Manoel Rebelo Abranches <mrabran@gmail.com>

	Network infrastructure.
	The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>

	* include/grub/net/arp.h: New file.
	* include/grub/net/device.h: Likewise.
	* include/grub/net/ethernet.h: Likewise.
	* include/grub/net/ip.h: Likewise.
	* include/grub/net/netbuff.h: Likewise.
	* include/grub/net/tftp.h: Likewise.
	* include/grub/net/udp.h: Likewise.
	* include/grub/ieee1275/ofnet.h: Likewise.
	* include/grub/emu/export.h: Likewise.
	* include/grub/net.h: Likewise.
	* grub-core/net/arp.c: Likewise.
	* grub-core/net/ethernet.c: Likewise.
	* grub-core/net/ip.c: Likewise.
	* grub-core/net/udp.c: Likewise.
	* grub-core/net/tftp.c: Likewise.
	* grub-core/net/netbuff.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/net/drivers/emu/emunet.c: Likewise.
	* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
	export.h.
	* grub-core/Makefile.core.def (net): New module.
	(tftp): Likewise.
	(ofnet): Likewise.
	(emunet): Likewise.
	* grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
	network protocols.
	* grub-core/kern/device.c (grub_net_open) : New variable.
	(grub_device_open): Handle network device.
	(grub_device_close): Likewise.
	* grub-core/kern/file.c (grub_file_net_seek) : New variable.
	(grub_grubnet_fini): Likewise.
	(grub_file_seek): Seek in network device.
	* grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
	* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
	network root.
	(grub_machine_fini): Call grub_grubnet_fini.
	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
	network.
	(grub_ieee1275_get_aliasdevname): New function.
	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
	Add unofficial Solaris network info.
	(grub_multiboot_make_mbi): Likewise.
	* grub-core/fs/i386/pc/pxe.c: Moved from here ...
	* grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
	* include/grub/device.h (grub_fs): Removed.
	* include/grub/err.h (grub_err_t): Add network-related values.
	* include/grub/i386/pc/pxe.h: Removed bootp parts.
	* include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
	(grub_ieee1275_get_aliasdevname): New proto.
	* include/grub/net.h: Rewritten.

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
	names.

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
	(wildcard_expand): Don't stop on nonregexp parts after regexp ones since
	it truncates the output.
	Reported by: Ximin Luo.

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
	partmap before abstraction.

2011-06-24  Alexander Kurtz <kurtz.alex@googlemail.com>

	* util/grub-mkconfig_lib.in: Add missing quotes.

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
	old method if mountinfo would return /dev/root and /dev/root doesn't
	exist.

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	ZFS zlib support

	* grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
	(decomp_table): Add zlib entries.
	(zio_read): USe 8 bits for compression function rather than 3.
	* include/grub/zfs/zio.h (zio_compress): Add zlib values.

2011-06-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/ahci.c: Add missing license statements.
	* grub-core/fs/romfs.c: Likewise.
	* grub-core/lib/ia64/setjmp.S: Likewise.
	* grub-core/loader/i386/pc/freedos.c: Likewise.
	* grub-core/loader/ia64/efi/linux.c: Likewise.
	* grub-core/video/colors.c: Likewise.
	* include/grub/dl.h (GRUB_MOD_DEP): New macro.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	AHCI support.

	* grub-core/Makefile.core.def (ata_pthru): Removed.
	(ahci): New module.
	(pata): Likewise.
	* grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
	on unload.
	* grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
	readwrite.
	(grub_hdparm_do_check_powermode_cmd): Likewise.
	(grub_hdparm_do_smart_cmd): Likewise.
	(grub_hdparm_set_val_cmd): Likewise.
	(grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
	* grub-core/disk/ahci.c: New file.
	* grub-core/disk/ata.c: Factor out the low-level part into ...
	* grub-core/disk/pata.c: ... here.
	* grub-core/disk/ata_pthru.c: Contents moved to ...
	* grub-core/disk/pata.c: ... here.
	* grub-core/disk/scsi.c (grub_scsi_names): New array.
	(grub_scsi_iterate): Use grub_scsi_names.
	(grub_scsi_open): Likewise.
	* grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
	* include/grub/ata.h (grub_ata_commands): Add DMA commands.
	(grub_ata_regs_t): New struct.
	(grub_disk_ata_pass_through_parms): Likewise.
	(grub_ata_device): Renamed to ...
	(grub_ata): ... this.
	(grub_ata_dev): New struct.
	Removed all low-level inline functions.
	* include/grub/scsi.h: Add PATA and AHCI subsystems.
	(grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
	iterate hooks and open. All users updated.
	* util/grub-install.in: Handle AHCI disk module.

2011-06-23  Szymon Janc <szymon@janc.net.pl>

	Add support for DRI and RSTn markers in JPEG files.

	* grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
	(JPEG_MARKER_RST0): Likewise.
	(JPEG_MARKER_RST1): Likewise.
	(JPEG_MARKER_RST2): Likewise.
	(JPEG_MARKER_RST3): Likewise.
	(JPEG_MARKER_RST4): Likewise.
	(JPEG_MARKER_RST5): Likewise.
	(JPEG_MARKER_RST6): Likewise.
	(JPEG_MARKER_RST7): Likewise.
	(grub_jpeg_data): New fields dri, r1, bitmap_ptr.
	(grub_jpeg_decode_dri): New function.
	(grub_jpeg_decode_sos): Move image data related part into
	grub_jpeg_decode_data function.
	(grub_jpeg_decode_data): New function.
	(grub_jpeg_reset): New function.
	(grub_jpeg_decode_jpeg): Handle new markers.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c (check_sas): Close fd.
	(main): Free of_path.
	Reported by: David Volgyes <dvolgyes>.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
	Reported by: David Volgyes <dvolgyes>.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
	file after stat.
	Reported by: David Volgyes <dvolgyes>.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/raid.c (grub_util_raid_getmembers): Close fd before returning.

	Reported by: David Volgyes <dvolgyes>.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
	Prevent memory leak.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
	(main): Close file.
	Reported by: David Volgyes <dvolgyes>.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
	to continue if allocation is failed.

	Reported by: David Volgyes <dvolgyes>.

2011-06-23  David Volgyes <dvolgyes>

	* grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
	dereference.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix spurious warning.

	* grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
	(acorn_partition_map_find): Use .bin member.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
	/dev/root as a valid device.

2011-06-23  Jim Meyering  <meyering@redhat.com>

	Avoid NULL deref in grub_device_open.

	* grub-core/kern/device.c (grub_device_open): Don't dereference
	a NULL pointer upon failed grub_env_get.

2011-06-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Support non-512B sectors and agglomerate reads.

	* Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
	* grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
	(disk_io_guid): Removed.
	(make_devices): Locate solely by BlockIO.
	(grub_efidisk_open): Fill log_sector_size and total_sectors.
	(grub_efidisk_read): Use read_blocks.
	(grub_efidisk_write): Use write_blocks.
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
	log_sector_size.
	(get_safe_sectors): Handle non-512B sectors.
	(grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
	sectors.
	(grub_biosdisk_write): Handle non-512B sectors.
	* grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
	(grub_scsi_read): Remove special non-512B block handling (now handled
	one level up).
	* grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
	and do sanity checks.
	(grub_disk_adjust_range): Handle non-512B sectors.
	(transform_sector): New function.
	(grub_disk_read_small): Likewise.
	(grub_disk_read): Rewritten.
	(grub_disk_write): Handle non-512B sectors.
	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
	log_sector_size.
	(open_device): Use log_sector_size.
	(grub_util_biosdisk_read): Likewise.
	(grub_util_biosdisk_write): Likewise.
	* grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
	non-512B sectors.
	(pc_partition_map_embed): Likewise.
	* include/grub/disk.h (grub_disk): New field log_sector_size.
	(GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
	(GRUB_DISK_CACHE_BITS): Increased to 6.
	* util/grub-fstest.c (fstest): New command testload.
	(argp_parser): Likewise.

2011-06-16  Robert Millan  <rmh@gnu.org>

	Detect `ataraid' devices on GNU/kFreeBSD.  Fix for ATA devices using
	`ata' driver on kernel of FreeBSD 9.

	* util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
	(get_ataraid_disk_name): New functions.
	[__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
	(/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
	get_ataraid_disk_name() and get_ada_disk_name().

2011-06-13  Colin Watson  <cjwatson@ubuntu.com>

	* docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
	input format.

2011-05-29  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Obtaining and Building GRUB): Substitute
	`ftp.gnu.org' for `alpha.gnu.org'.

2011-05-27  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
	partitions under /dev/disk/by-id/.

2011-05-27  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
	after ten consecutive open failures.  Scanning all the way up to
	10000 is excessive and can cause serious performance problems in
	some configurations.
	Fixes Ubuntu bug #787461.

2011-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
	opening new one.

2011-05-21  Colin Watson  <cjwatson@ubuntu.com>
2011-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't stat devices unless we have to.

	* grub-core/kern/emu/getroot.c (grub_find_device): Recognize
	dir == /dev/mapper.
	(grub_guess_root_device): Use already known os_dev if possible.
	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Scan only in /dev/mapper
	if device is known to be a dm one.

2011-05-20  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
	GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
	Reported by: Pawel Tecza.

2011-05-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
	(lsefisystab): Likewise.
	(lssal): Likewise.
	(lsefimmap): Likewise.
	(hdparm): Enable on qemu-mips.
	(setjmp): Add ia64 nodist.
	(serial): Simplify tags.

2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-ofpathname): Install manual page.

2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.

2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add grub-core/modinfo.sh and a number of test files.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
	into dprintf.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Use full 64-bit division.

	* grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
	(grub_divmod64): ... this.
	* include/grub/misc.h (grub_divmod64): Removed. All users switch to full
	version.

2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in: Use portable `.' rather than non-portable
	`source'.

2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
	to avoid accidents when debugging with 'sh -x'.
	* grub-core/gensyminfo.sh.in: Likewise.
	* tests/example_scripted_test.in: Likewise.
	* tests/grub_cmd_regexp.in: Likewise.
	* tests/grub_script_blanklines.in: Likewise.
	* tests/grub_script_dollar.in: Likewise.
	* tests/grub_script_expansion.in: Likewise.
	* tests/grub_script_final_semicolon.in: Likewise.
	* tests/partmap_test.in: Likewise.
	* tests/util/grub-shell-tester.in: Likewise.
	* tests/util/grub-shell.in: Likewise.

2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	Move gfxmenu color handling to video, so that gfxterm can use it
	too.

	* grub-core/gfxmenu/named_colors.c: Move to ...
	* grub-core/video/colors.c: ... here.  Rename
	grub_gui_get_named_color to grub_video_get_named_color.
	* grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
	* grub-core/video/colors.c (my_isxdigit): ... here.
	* grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
	Move to ...
	* grub-core/video/colors.c (parse_hex_color_component): ... here.
	* grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
	to ...
	* grub-core/video/colors.c (grub_video_parse_color): ... here.

	* include/grub/gui.h (grub_gui_color_t): Move to ...
	* include/grub/video.h (grub_video_rgba_color_t): ... here.
	* include/grub/gui.h (grub_gui_color_rgb): Move to ...
	* include/grub/video.h (grub_video_rgba_color_rgb): ... here.
	* include/grub/gui.h (grub_gui_map_color): Move to ...
	* include/grub/video.h (grub_video_map_rgba_color): ... here.
	* include/grub/gui_string_util.h (grub_gui_get_named_color): Move
	to ...
	* include/grub/video.h (grub_video_get_named_color): ... here.
	* include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
	* include/grub/video.h (grub_video_parse_color): ... here.

	* grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
	video/colors.c.
	(gfxmenu): Remove gfxmenu/named_colors.c.
	(video) [videomodules]: Add video/colors.c.

	Add a background_color command.

	* grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
	function.
	(GRUB_MOD_INIT): Register background_color command.
	(GRUB_MOD_FINI): Unregister background_color command.
	(redraw_screen_rect): Allow blend/replace of text layer to be
	controlled independently from whether there is a background bitmap.
	(grub_gfxterm_background_image_cmd): Change blend_text_bg when
	changing bitmap.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Patch BPB in ntldr and chainloader --bpb.

	* grub-core/fs/fat.c: Include grub/fat.h.
	(grub_fat_bpb): Moved to ...
	* include/grub/fat.h (grub_fat_bpb): ... here. New file.
	* grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
	grub/ntfs.h.
	* include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
	Moved from here...
	* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
	here.
	* grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
	New function.
	(grub_chainloader_cmd): Patch BPB if --bpb is given.
	(GRUB_MOD_INIT): Show --bpb.
	* grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
	* grub-core/normal/main.c (features): New variable.
	(GRUB_MOD_INIT): Set feature_* variables.
	* include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
	proto.
	* include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
	for cleanness.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	FreeDOS direct loading support.

	* docs/grub.texi (Supported OS): Add FreeDOS.
	* grub-core/Makefile.core.def (freedos): New module.
	* grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
	variable.
	(grub_relocator16_boot): Handle %ebx.
	* grub-core/lib/i386/relocator16.S: Likewise.
	* grub-core/loader/i386/pc/freedos.c: New file.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Long Linux command line support.

	* grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
	(maximal_cmdline_size): New variable.
	(allocate_pages): Use maximal_cmdline_size.
	(grub_cmd_linux): Set and use maximal_cmdline_size.
	* grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
	(allocate_pages): Use maximal_cmdline_size.
	(grub_cmd_linux): Set and use maximal_cmdline_size.
	* include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
	(linux_kernel_header): Add fields kernel_alignment, relocatable, pad
	and cmdline_size.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>
2011-05-18  Colin Watson  <cjwatson@ubuntu.com>

	Improve devmapper support

	* grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
	(grub_util_is_lvm): New function.
	(grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
	than lvm if not dmraid.
	Handle mapped md nodes.
	* grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
	(grub_util_device_is_mapped): ... this. Make always available. All users
	updated.
	(grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
	(convert_system_partition_to_system_disk): Handle lvm, mpath and
	dmraid nodes.
	* include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.

2011-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms

	* grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
	* grub-core/modinfo.sh.in: New file.
	* grub-core/Makefile.core.def (modinfo.sh): New script.
	* util/grub-mknetdir.in: Use modinfo.sh.
	* util/grub-mkrescue.in: Likewise.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
	Fix potential usage of Elf32 instead of Elf64 when compiling on
	32-bit architecture. Add endianness macros while on it.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Use mipsel- rather than mips- in directories involving mipsel ports to
	allow both endiannesses coexist.

	* configure.ac: proparate target_cpu=mipsel rather than resetting to
	mips. All conditions adjusted.
	* tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
	variable.
	* util/grub-install.in: Adjust conditions to take renaming into account.
	* util/grub-mkimage.c (image_targets): Likewise. New target
	mips-qemu_mips-elf for bigendian mips.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid unnecessary copying on MIPS.

	* grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
	early if src == dest.
	* util/grub-mkimage.c (generate_image): Arange for src == dest if
	compression is none.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Reduce memory footprint on SGI by putting modules before the kernel
	as opposed to after.

	* grub-core/Makefile.core.def (kernel): Increase linking address.
	(none_decompress): Likewise.
	(xz_decompress): Likewise.
	* grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
	address.
	* grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
	layout change.
	(grub_arch_modules_addr): New function.
	* grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
	* grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
	* grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
	here.
	* grub-core/kern/mips/startup.S (total_size): Rename to ...
	(grub_total_modules_size): ... this. Make global.
	[GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
	* include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
	New definition.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
	(GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
	(GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
	(GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
	* util/grub-mkimage.c (image_target_desc): New flag
	PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
	(image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
	(generate_image): Handle images with modules before kernel.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Prevent potential loss of memory map by overwrite on qemu-mips.

	* grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
	Save ram size in $s4.
	* grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
	All users changed to grub_arch_memsize.
	* grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
	Loongson.
	[GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
	* grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
	* include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
	external variable.

2011-05-17  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Remove grub-dumpbios.

2011-05-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
	and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
	GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
	existing options which append).
	* docs/grub.texi (Simple configuration): Document new options.
	Reported by: Ian Jackson.  Fixes Debian bug #617538.

2011-05-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-fstest.c (cmd_cat): New function.
	(fstest): Handle CMD_CAT.
	(options): Add cat.
	(argp_parser): Handle cat.

2011-05-17  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-bin2h): Don't install.
	* docs/man/grub-bin2h.h2m: Remove.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
	place.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Reenable qemu-mips port.

	* configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
	Fix small arc bug while on it.
	* gentpl.py: Handle qemu_mips.
	* grub-core/Makefile.am: Likewise.
	* grub-core/Makefile.core.def: Likewise.
	* grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
	inappropriate includes.
	(grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
	(grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
	* grub-core/kern/main.c (grub_modules_get_end)
	[GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
	* grub-core/kern/mips/qemu-mips: Moved to ..
	* grub-core/kern/mips/qemu_mips: ... this.
	* grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
	(grub_machine_init): Call terminfo_init and serial_init.
	* grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
	* grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
	New variable.
	(grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
	parameter passing.
	(grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
	(grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
	(grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
	* include/grub/mips/qemu_mips/cmos.h: New file.
	* include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
	* include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
	Removed.
	* include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
	Use correct mips-style address.
	* include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
	(GRUB_TICKS_PER_SECOND): Removed.
	(grub_get_rtc): Likewise.
	(grub_cpu_idle): Likewise.
	* include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
	New definition.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
	(GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
	* util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.

2011-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	SGI ARCS port.

	* Makefile.util.def (libgrubmods.a): Add dvh.c.
	* conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
	platforms.
	* configure.ac: New target mips-arc.
	* gentpl.py: Likewise.
	* grub-core/Makefile.am: Likewise.
	* grub-core/Makefile.core.def: Likewise.
	(xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
	(none_decompress): Likewise.
	(lsdev): New module.
	(datetime): Use lib/arc/datetime.c on ARC.
	(part_dvh): New module.
	* grub-core/commands/arc/lsdev.c: New file.
	* grub-core/disk/arc/arcdisk.c: Likewise.
	* grub-core/kern/mips/arc/init.c: Likewise.
	* grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
	aligned addresses.
	* grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
	support.
	(grub_arch_dl_relocate_symbols): Likewise.
	* grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
	* grub-core/kern/mips/init.c (grub_get_rtc): ... here.
	* grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
	platforms.
	* grub-core/lib/arc/datetime.c: New file.
	* grub-core/loader/mips/linux.c: Always include time.h. Don't include
	pci.h on non-loongson.
	(envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
	(grub_linux_boot): Set unused registers to 0.
	(grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
	* grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
	* grub-core/mmap/mips/uppermem.c: ...here.
	* grub-core/partmap/dvh.c: New file.
	* grub-core/term/arc/console.c: Likewise.
	* grub-core/term/terminfo.c (ANSI_C0_STR): New const.
	(grub_terminfo_set_current): Add terminal "arc".
	(grub_terminfo_readkey): Support ARC sequences.
	* include/grub/arc/arc.h: New file.
	* include/grub/arc/console.h: Likewise.
	* include/grub/disk.h (grub_disk_dev_id): Add
	GRUB_DISK_DEVICE_ARCDISK_ID.
	* include/grub/mips/arc/kernel.h: New file.
	* include/grub/mips/arc/memory.h: Likewise.
	* include/grub/mips/arc/time.h: Likewise.
	* include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
	* include/grub/mips/kernel.h (grub_halt): ... here.
	* include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
	here...
	* include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
	(GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
	* include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
	* include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
	proto.
	* include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
	from here ...
	* include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
	(GRUB_ARCH_LOWMEMPSTART): Moved from here ...
	* include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
	(GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
	* include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
	(GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
	* include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
	(grub_phys_addr_t): Moved from here ...
	* include/grub/mips/memory.h (grub_phys_addr_t): ... here.
	(grub_vtop): Moved from here ...
	* include/grub/mips/memory.h (grub_vtop): ... here.
	(grub_map_memory): Moved from here ...
	* include/grub/mips/memory.h (grub_map_memory): ... here.
	(grub_unmap_memory): Moved from here ...
	* include/grub/mips/memory.h (grub_unmap_memory): ... here.
	(grub_machine_mmap_iterate): Moved from here ...
	* include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
	(grub_mmap_get_lower): Moved from here ...
	* include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
	(grub_mmap_get_upper): Moved from here ...
	* include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
	* include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
	here ...
	* include/grub/mips/time.h (grub_arch_cpuclock): ... here.
	* include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
	here ...
	* include/grub/mips/time.h (grub_get_rtc): ... here.
	* include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
	here ...
	* include/grub/mips/time.h (grub_arch_cpuclock): ... here.
	* include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
	here ...
	* include/grub/mips/time.h (grub_cpu_idle): ... here.
	* include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
	definition.
	(GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
	(GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
	(GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
	(GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
	(GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
	(GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
	(GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
	(GRUB_MACHINE_LINK_ADDR): Likewise.
	* include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
	to 6.
	* util/grub-install.in: Run dvhtool on ARC.
	* util/grub-mkimage.c (image_targets): Add mips-arc.
	(generate_image): Handle ECOFF output for mips-arc.

2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
	blocks.

2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
	after enabling port.

2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Skip incorrect USB devices.

	* grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
	configcnt == 0.
	* include/grub/usb.h (grub_usb_err_t): New enum value
	GRUB_USB_ERR_BADDEVICE.

2011-05-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fuloong video init support.

	* include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
	well.
	(grub_vga_read_arx): New function.
	* grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
	definition.
	(framebuffer): New members io, mmioptr and mmiobase.
	(read_sis_cmd): New function.
	(write_sis_cmd): Likewise.
	(grub_video_sis315pro_setup): Do the initialisation. Use 640x480
	rather than 640x400.
	* grub-core/video/sis315_init.c: New file.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
	non-loongson.
	* grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
	to grub_dl_register_symbol.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix compilation errors.

	* grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
	potentially unused.
	* grub-core/loader/i386/linux.c (grub_linux_setup_video):
	Handle GRUB_VIDEO_DRIVER_SIS315PRO.
	* grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
	to loongson machines.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Several FS mtime support.

	* grub-core/fs/affs.c (grub_affs_time): New struct.
	(grub_affs_file): New field mtime.
	(grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
	type. Removed 'size'. New field 'di'. All users updated.
	(grub_affs_mount): Simplify checsum checking.
	(grub_affs_iterate_dir): New helper grub_affs_create_node.
	(grub_affs_dir): Handle mtime.
	* grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
	(grub_cpio_dir): Likewise.
	* grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
	(grub_hfs_filerec): New field mtime.
	(grub_hfs_dir): Handle mtime.
	(grub_hfs_mtime): New function.
	(grub_hfs_fs): Register grub_hfs_mtime.
	* grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
	(grub_iso9660_dir): New field mtime.
	(grub_fshelp_node): New field dirent.
	(iso9660_to_unixtime): New function.
	(iso9660_to_unixtime2): Likewise.
	(grub_iso9660_read_symlink): Use node->dirent.
	(grub_iso9660_iterate_dir): Likewise.
	(grub_iso9660_dir): Set mtime.
	(grub_iso9660_mtime): New function.
	(grub_iso9660_fs): Register grub_iso9660_mtime.
	* grub-core/fs/jfs.c (grub_jfs_time): New struct.
	(grub_jfs_inode): New fields atime, ctime and mtime.
	(grub_jfs_dir): Set mtime.
	* grub-core/fs/minix.c (grub_minix_dir): Likewise.
	* grub-core/fs/ntfs.c (list_file): Set mtime.
	(grub_ntfs_dir): Likewise.
	* grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
	(grub_reiserfs_iterate_dir): Set mtime.
	(grub_reiserfs_dir): Likewise.
	* grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
	(grub_fshelp_node): Likewise.
	(grub_sfs_iterate_dir): Set mtime.
	(grub_sfs_dir): Likewise.
	* grub-core/fs/udf.c (grub_udf_dir): Set mtime.
	* grub-core/fs/xfs.c (grub_xfs_time): New struct.
	(grub_xfs_inode): New fields atime, mtime, ctime.
	(grub_xfs_dir): Set mtime.
	* include/grub/datetime.h (grub_datetime2unixtime): New function.
	* include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
	* include/grub/ntfs.h (grub_fshelp_node): New field mtime.

	Support UDF symlinks.

	* grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
	(grub_ufs_read_symlink): New function. All users updated.

	Check amiga partmap checksum.

	* grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
	(grub_amiga_partition): Likewise.
	(amiga_partition_map_checksum): New function.
	(amiga_partition_map_iterate): Check checksum.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	ROMFS support.

	* Makefile.util.def (libgrubmods.a): Add romfs.
	* grub-core/Makefile.core.def (romfs): New module.
	* grub-core/fs/romfs.c: New file.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Squashfs v4 support.

	* Makefile.util.def (libgrubmods.a): Add squash4.
	* grub-core/Makefile.core.def (squash4): New module.
	* grub-core/fs/squash4.c: New file.
	* grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
	disk_input_start, disk_input.
	(get_byte): Handle disk_input.
	(grub_zlib_disk_read): New function.
	* include/grub/deflate.h (grub_zlib_disk_read): New proto.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>
2011-05-15  Feiran Zheng <famcool@gmail.com>

	* Makefile.util.def (libgrubmods.a): Add minix3.
	* grub-core/Makefile.core.def (minix3): New module.
	* grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
	(GRUB_MINIX_BSIZE): Removed.
	(GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
	(grub_minix_ino_t): New type.
	(grub_minix_le_to_cpu_ino): New macro.
	(GRUB_MINIX_ZONE2SECT): New definition. All users updated.
	(grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
	(grub_minix_data): New field block_size.
	(grub_minix_read_file): Handle 64-bit correctly.
	* grub-core/fs/minix3.c: New file.

2011-05-15  Tristan Gingold  <gingold@free.fr>
2011-05-15  Robert Millan  <rmh.grub@aybabtu.com>
2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	IA64 support.

	* Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
	* configure.ac: Add ia64-efi target.
	Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
	__divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
	* gentpl.py: Add ia64_efi platform.
	Rename x86_efi to efi and Add ia64-efi. All users updated.
	* grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
	* grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
	Remove kern/generic/rtc_get_time_ms.c on EFI.
	Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
	kern/ia64/dl_helper.c on ia64-efi.
	Add kern/emu/cache.c on emu.
	(linux): Use on loader/ia64/efi/linux.c on ia64.
	* grub-core/gensymlist.sh (grub_register_exported_symbols): Check
	whether symbol is a function.
	* grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
	(grub_symbol): New field 'isfunc'.
	(grub_dl_resolve_symbol): Return whole symbol rather than just address.
	(grub_dl_register_symbol): New argument 'isfunc'. All users updated.
	(grub_dl_load_segments): Place all sections into the same region.
	[__ia64__]: Create trampolines and got.
	[GRUB_MACHINE_EMU]: Call mprotect.
	(grub_dl_resolve_symbols): Resolve symbol type as well.
	[__ia64__]: Create function descriptors.
	* grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
	(grub_rtc_get_time_ms): ... this. Expressions simplified.
	(grub_get_rtc): New function.
	* grub-core/kern/emu/cache.c [__ia64__]: New file.
	* grub-core/kern/emu/cache.S: Renamed to ...
	* grub-core/kern/emu/cache_s.S: ... this.
	[__ia64__]: Add a nop.
	* grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
	[__ia64__]: New function.
	* grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
	* grub-core/kern/ia64/dl.c: New file.
	* grub-core/kern/ia64/dl_helper.c: Likewise.
	* grub-core/kern/ia64/efi/init.c: New file.
	* grub-core/kern/ia64/efi/startup.S: Likewise.
	* grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
	* grub-core/lib/ia64/longjmp.S: New file (from glibc).
	* grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
	* grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
	* grub-core/loader/ia64/efi/linux.c: New file.
	* include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
	(GRUB_MOD_DEP): Likewise.
	(grub_dl) [__ia64__]: New fields got and tramp.
	(grub_dl): New field 'base'.
	(grub_dl_register_symbol): New argument isfunc. All users updated.
	(GRUB_IA64_DL_TRAMP_ALIGN): New definition.
	(GRUB_IA64_DL_TRAMP_SIZE): Likewise.
	(GRUB_IA64_DL_GOT_ALIGN): Likewise.
	(grub_ia64_dl_get_tramp_got_size): New proto.
	(GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
	(GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
	(grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
	* include/grub/efi/api.h: Skip call wrappers on ia64.
	* include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
	* include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
	* include/grub/elf.h (ELF_ST_INFO): New definition.
	* include/grub/ia64/efi/kernel.h: New file.
	* include/grub/ia64/efi/memory.h: Likewise.
	* include/grub/ia64/efi/time.h: Likewise.
	* include/grub/ia64/kernel.h: Likewise.
	* include/grub/ia64/setjmp.h: Likewise (from glibc).
	* include/grub/ia64/time.h: New file.
	* include/grub/ia64/types.h: Likewise.
	* include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
	__moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
	New protos.
	* include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
	(GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
	* include/grub/types.h (PRIxGRUB_ADDR): Likewise.
	* util/grub-mkimage.c (image_target_desc): New field pe_target.
	All users updated.
	(EFI64_HEADER_SIZE): New definition. All users updated.
	(image_targets): Add ia64-efi.
	* util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
	jumpers_addr. All users updated.
	Create function descriptors.
	(count_funcs): New function.
	(unaligned_uint32): New struct.
	(MASK20): New definition.
	(MASK19): Likewise.
	(MASKF21): Likewise.
	(add_value_to_slot_20b): New function.
	(add_value_to_slot_21_real): Likewise.
	(add_value_to_slot_21): Likewise.
	(ia64_kernel_trampoline): New struct.
	(nopm): New variable.
	(jump): Likewise.
	(make_trampoline): New function.
	(relocate_addresses): Handle ia64.
	(make_reloc_section): Likewise.
	(load_image): Likewise.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
	warning. Move variables before code while on it.

2011-05-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Fuloong support.

	* configure.ac: Rename yeeloong platform to loongson. All users updated.
	* grub-core/Makefile.core.def (fwstart_fuloong): New image.
	* grub-core/boot/mips/loongson/fuloong.S: New file.
	* grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
	Explicitly init CS5536.
	[FULOONG]: Don't use serial until CS5536 is available.
	Set GPIO based on dumps.
	(serial_hw_init) [FULOONG]: Handle CS5536 parts.
	[FULOONG]: Handle GPIO and memory controller differences.
	Parse machine type in $a2.
	* grub-core/boot/mips/startup_raw.S: Determine and save the
	architecture.
	* grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
	(grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
	init on architecture type.
	* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
	SIS315E. Don't init at_keyboard on fuloong.
	(grub_halt): Support Fuloong.
	* grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
	* grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
	(loongson_machtypes): New array.
	(grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
	type.
	* grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
	config. All users updated. Handle CS5536 serial.
	* grub-core/term/serial.c (grub_serial_register): Conditionalise
	default port on machine type. Register serial as inactive.
	* grub-core/video/sis315pro.c: New file.
	* include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
	definition.
	(GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
	(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
	(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
	(GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
	(GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
	* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
	to ...
	(GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
	* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
	definition.
	(GRUB_ARCH_MACHINE_FULOONG): Likewise.
	(grub_arch_machine): New extern var.
	* include/grub/mips/loongson/serial.h
	(GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
	(GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
	(GRUB_MACHINE_SERIAL_PORT): Renamed to ...
	(GRUB_MACHINE_SERIAL_PORT0): ... this.
	(GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
	(GRUB_MACHINE_SERIAL_PORT1): Likewise.
	(GRUB_MACHINE_SERIAL_PORT2): Likewise.
	(GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
	* include/grub/term.h (grub_term_register_input_inactive): New inline
	function.
	(grub_term_register_output_inactive): Likewise.
	* include/grub/video.h (grub_video_driver_id): New value
	GRUB_VIDEO_DRIVER_SIS315PRO.
	* util/grub-mkimage.c (image_target_desc): Rename name to dirname.
	New field "names". All users updated.
	New field value IMAGE_FULOONG_FLASH.
	(generate_image): USe separate fwstart hashes for yeeloong and fuloong.

2011-05-14  Jordan Uggla  <jordan.uggla@gmail.com>

	* docs/grub.texi (Invoking grub-install): Fix additional outdated claims
	and add some clarification.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Autoload gzio since it's needed on some
	platforms if kernel is compressed.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
	unused modules since currently referrence counter isn't reliable and
	there isn't much memory to recover there anyway.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
	rather than resetting it to allow modules to reference themselves
	in init.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
	counter on dependencies since grub_dl_unref already handles this.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
	on error if not already done.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix few potential memory misusage.

	* grub-core/font/font.c (load_font_index): Don't free char_index to
	avoid double free.
	(grub_font_load): Zero-fill font at alloc for safety.
	Close file on error.
	(free_font): Free bmp_idx.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Installation): Fix several outdated claims.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle module_license on windows.

	* util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
	sections shifted.
	(insert_string): Make argument const char * instead of char *.
	(write_section_data): Handle long section names.
	Handle module_license.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
	handle class-free menuentries.
	(grub_normal_add_menu_entry): Add a check to be sure.

2011-05-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
	PgUp and PgDown.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump version to 1.99.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Give ATA device a bit more time on first try in order to allow disks
	to spin up.

	* grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
	if dev->present is 1. Reset dev->present on failure.
	(grub_ata_device_initialize): Set dev->present to 1.
	* include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
	(grub_ata_device): New member 'present'.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Update hash.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Flush caches on DMA memory.

	* grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
	* grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
	(grub_dma_free): Likewise.
	* include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
	to avoid asm treating ld and sd as macros.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/startup_raw.S: Flush cache after loading
	decompressor.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
	grub_decompress_core since later would fail if grub_decompress_core
	is too far.

2011-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
	R_MIPS_JALR since it's used by newer compiler.

2011-05-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Correctly handle the Linux in root.

2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
	file_path to 0 for surety.
	(grub_chainloader_boot): Set exit_data to NULL.
	Unset the loader once done.
	(grub_cmd_chainloader): Fix confusing error message if file is empty.

2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c (fetch_key): Make a printf on
	unknown key into a dprintf.

2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
	on first non-existant partition.

2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
	openning fails.
	Reported by: Mark Korenberg.

2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
	overflow.

2011-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (main): Explicitely flush and sync the output
	before closing to ensure that it will be readable by grub-setup.

2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
	(devpath_1): Use MAKE_PIWG_PATH.
	(devpath_2): Likewise.
	(devpath_3): Likewise.
	(devpath_4): Likewise.
	(devpath_5): Likewise.
	(devpath_6): Likewise.

	The appleldr.mod was checked that to be binary identical to previous
	version.

2011-05-05  Zach <mikezackles>

	Support 2010 Macbooks.

	* grub-core/loader/efi/appleloader.c (devpath_6): New variable.
	(devs): Add devpath_6.

2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
	/dev/random. /dev/urandom is good enough for our purposes (salting).

2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.

2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
	hexadecimal.

2011-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
	and not 0 on failure.

2011-05-03  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
	GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
	disk; otherwise grub_fs_probe will not fall back to the next
	filesystem.
	(grub_pxefs_open): Likewise, for consistency.
	Reported and tested by: Ezekiel Grave.

2011-05-03  Colin Watson  <cjwatson@ubuntu.com>

	* tests/partmap_test.in: Don't hardcode path to parted.
	Reported by: Peter Hjalmarsson.  Fixes Savannah bug #33150.

2011-05-01  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
	of `ls' to find out which devices are available.

2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
	than source address for efi mmap buffer.

2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
	wrong action on non-detecting the magic.

2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
	already supplied by another part of the module (fixes compilation on
	FreeBSD).

2011-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
	match the one used by mdadm.

2011-04-21  Colin Watson  <cjwatson@ubuntu.com>

	* po/README: Add instructions for creating po/LINGUAS.

2011-04-21  Colin Watson  <cjwatson@ubuntu.com>

	Add "SEE ALSO" sections to most man pages.  Fixes Debian bug
	#551428.

	* docs/man/grub-editenv.h2m (SEE ALSO): New section.
	* docs/man/grub-emu.h2m (SEE ALSO): Likewise.
	* docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
	* docs/man/grub-install.h2m (SEE ALSO): Likewise.
	* docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
	* docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
	* docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
	* docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
	* docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
	* docs/man/grub-probe.h2m (SEE ALSO): Likewise.
	* docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
	* docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
	* docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
	* docs/man/grub-setup.h2m (SEE ALSO): Likewise.

2011-04-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/getroot.c
	(grub_find_root_device_from_mountinfo): Remove non-virtual-device
	test that was incorrectly reintroduced in r3214.
	Reported by: Ian Dall.  Fixes Savannah bug #33133.

2011-04-21  Colin Watson  <cjwatson@ubuntu.com>

	Fix stack pointer handling in 16-bit relocator.

	* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
	grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
	Fixes Ubuntu bug #683904.

2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump version to 1.99~rc2.

2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/dl.h [ASM_FILE]: Adapt for assembly.
	* grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
	* grub-core/lib/x86_64/setjmp.S: Likewise.
	* grub-core/lib/mips/setjmp.S: Likewise.
	* grub-core/lib/powerpc/setjmp.S: Likewise.
	* grub-core/lib/sparc64/setjmp.S: Likewise.

2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
	* grub-core/lib/efi/datetime.c: Likewise.

2011-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
	New function.
	(grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
	* include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
	* util/grub-setup.c (setup): Use grub_util_biosdisk_flush.

2011-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
	bitmap.
	(grub_gfxterm_term_init): Likewise.

2011-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Take into account the decorations the computing menu entry width.

	* grub-core/gfxmenu/widget-box.c (get_border_width): New function.
	(grub_gfxmenu_create_box): Register get_border_width.
	* grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
	if available.
	* include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
	get_border_width.

2011-04-18  Endres Puschner <code@e7p.de>

	* grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
	Don't skip first class.

2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
	chunks.
	* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.

2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Complete 64-bit division support.

	* grub-core/kern/misc.c (grub_divmod64): Rename to ...
	(grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
	* include/grub/misc.h (grub_divmod64): Rename to ...
	(grub_divmod64_full): ... this.
	(grub_divmod64): New inline function.

2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Add forgotten comma.

2011-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Update fwstart.img hash after
	performing the necessary test.

2011-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
	(kfreebsd.elf): Likewise.
	(pc-chainloader.elf): Likewise.
	(ntldr.elf): Likewise.

2011-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Identify RAID by its UUID rather than (guessed) name.

	* grub-core/disk/raid.c (ascii2hex): New function.
	(grub_raid_open): Accept mduuid/%s specification.
	* grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
	(get_mdadm_uuid): ... this.
	(grub_util_get_grub_dev): Use mduuid/%s if UUID is available.

2011-04-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
	to negative size.

2011-04-13  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
	btrfs subvolume.
	* util/grub.d/20_linux_xen.in: Likewise.

2011-04-13  Colin Watson  <cjwatson@ubuntu.com>

	Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
	move-mounts appearing out of order.  Fixes Ubuntu bug #738345.

	* grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
	Build a list of relevant visible mounts using the mnt_id and
	parent_mnt_id fields, and then scan that list at the end.

2011-04-12  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (normal): New section.
	(normal_exit): New section.
	(Embedded configuration): Add reference to normal.
	(GRUB only offers a rescue shell): Likewise.
	* docs/grub-dev.texi (Error Handling): Fix typo.

2011-04-12  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: Drop obsolete entry about probe-only btrfs support.

2011-04-12  Colin Watson  <cjwatson@ubuntu.com>

	* util/import_gcry.py: Fix typo.

2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* NEWS: Add btrfs support.

2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>
2011-04-11  Colin Watson  <cjwatson@ubuntu.com>

	BtrFS support. Written by me (Vladimir) with important bugfixes and
	even more important testing by Colin.

	* Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
	* grub-core/Makefile.core.def (btrfs): Add crc.c.
	* grub-core/fs/btrfs.c: Stub replaced with real implementation.
	* grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
	mem_input_off and mem_input. All users updated to accept in-RAM input.
	(gzio_seek): New function.
	(test_zlib_header): Likewise.
	(grub_gzio_read): Likewise.
	(grub_zlib_decompress): Likewise.
	* grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
	Accept partial and non-virtual mounts.
	(grub_guess_root_device): Do rescanning after device_from_mountinfo to
	avoid receiving /dev/dm-X as device.
	* grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
	Handle bind and partial mounts.
	* grub-core/lib/crc.c: New file.
	* include/grub/deflate.h: Likewise.
	* include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
	proto.
	* include/grub/lib/crc.h: New file.

2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement automatic module license checking according to new GNU
	guidelines.

	* grub-core/kern/dl.c (grub_dl_check_license): New function.
	(grub_dl_load_core): Use grub_dl_check_license.
	* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
	(GRUB_MOD_LICENSE): Likewise.
	(GRUB_MOD_DUAL_LICENSE): Likewise.
	All modules updated.

2011-04-11  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
	reserved_first_sector to 1.  btrfs reserves plenty of space for boot
	loaders.
	Reported by: Gene Cumm.  Fixes Ubuntu bug #757446.

2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (cmd_cmp): Check that sizes match.

2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-fstest.c (read_file): Report GRUB error if file opening
	failed.

2011-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/file.c (grub_file_open): Don't take into account the
	parenthesis in the middle of the filename.

2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
	rather than trying to put initrd way too high.
	Reported by: Ryan Lortie <desrt@desrt.ca>

2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
	improperly removed string.

2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
	is_disk.
	(grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
	(open_device) Likewise.
	(grub_util_biosdisk_close): Likewise.
	Reported by: Mark Korenberg.

2011-04-10  Alexander Kurtz <kurtz.alex@googlemail.com>

	* util/grub-mkconfig_lib.in: Add missing quotes.

2011-04-10  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
	is NULL.

2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Dynamically count the number of lines for the lower banner.

	* grub-core/normal/menu_entry.c (per_term_screen): New member
	num_entries.
	(print_down): Use num_entries.
	(update_screen): Likewise.
	(grub_menu_entry_run): Set num_entries.
	* grub-core/normal/menu_text.c (menu_viewer_data): New member
	num_entries.
	(grub_print_message_indented): Move real part to ...
	(grub_print_message_indented_real): ... here. Additional argument
	dry_run.
	(draw_border): Additional argument num_entries.
	(print_message): Additional argument dry_run.
	(print_entries): Receive menu viewer data.
	(grub_menu_init_page): New argment num_entries.
	(menu_text_set_chosen_entry): Use num_entries.
	(grub_menu_try_text): Likewise.
	* grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
	All users updated.
	(grub_ucs4_count_lines): New function.
	* include/grub/term.h (grub_term_cursor_x): Moved from here ..
	* grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
	* include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
	(grub_term_border_height): Likewise.
	(grub_term_num_entries): Likewise.

2011-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
	Remove now unused string.

2011-04-09  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub-dev.texi (Finding your way around): Update for 1.99
	build system.
	(Getting started): GRUB is developed in Bazaar now, not Subversion.

	(Comment): Fix typo.
	(Getting started): General copy-editing.
	(Typical Development Experience): Likewise.
	(Error Handling): Likewise.
	(Video API): Likewise.

2011-04-09  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
	throughout.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (main): Handle special naming of yeeloong
	directory.

2011-04-08  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub-dev.texi: Fix spelling of "developer" throughout.
	* grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
	"development".

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
	grub_strcpy since the lines aren't necessarily 0-terminated.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
	root on legacy.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/probe.c (options): Argument to set isn't optional.
	(GRUB_MOD_INIT): DEVICE isn't optional.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
	word on new line if it's too long anyway. Fixes a hang.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
	const.
	* util/grub-setup.c (main): Reuse md device name if available.
	* util/raid.c (grub_util_raid_getmembers): Receive device name and
	not GRUB name as argument.
	Based on patch by: Florian Wagner <fwagner>.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
	Place mbi on low memory for better compatibility.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>
2011-04-08  Colin Watson  <cjwatson@ubuntu.com>

	* autogen.sh: Ensure that collate and ctype locale is C.
	* conf/Makefile.common: Likewise.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu.c: Add missing include.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.

2011-04-08  Martin Zuther <mzuther@mzuther.de>

	* util/grub-mkconfig.in: Ignore emacsen backup.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
	on open.
	(grub_util_biosdisk_close): Likewise.

2011-04-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
	const attribute and use grub_isdigit.

2011-04-06  Andrey  <dev_null@ukr.net>

	* grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
	gcc warning.

2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
	useful grub_dprintf's.

2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.

2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/00_header.in: Don't use LANG unless unifont is available.

2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Output errors if theme loading failed.

	* grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
	grub_gfxterm_fullscreen on error paths to ...
	* grub-core/normal/menu.c (menu_init): ...here. Wait after showing
	theme loading error.

2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
	space for older compilers.
	(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.

2011-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
	and report them as not RAID members since they are useless for GRUB.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.

2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Increase LVM implementation robustness in order not to crash on
	configurations like pvmove. Previously code assumed that in some places
	only lvs or only pvs are used whereas it seems that they are used
	interchangeably.

	* grub-core/disk/lvm.c (read_node): New function.
	(read_lv): Use read_node.
	(grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
	Match volumes only at the end when all lvs are found. Take both
	pvs (first) and lvs (second) into account.
	* include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
	mirror_* into node_*. All users updated.
	(grub_lvm_stripe): Merge this ...
	(grub_lvm_mirror): ... and this ...
	(grub_lvm_node): ... into this. All users updated.

2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
	of function to allow further scanning for LVMs.

2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
	on failed seek as it breaks open fd reusage.

2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Add a recommendation to use --recheck before
	reporting bugs.

2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Vendor power-on buttons): Explain how the numbers
	are obtained.

2011-04-02  Vladimir Serbinenko  <phcoder@gmail.com>

	GRUB developper manual based on existing Internals section and
	contributions by the various authors with active copyright assignment.

	* docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
	* docs/font_char_metrics.png: New file.
	* docs/font_char_metrics.txt: Likewise.
	* docs/grub-dev.texi: Likewise.
	* docs/grub.texi (Internals): Move from here ...
	* docs/grub-dev.texi: ... here.

2011-04-01  Colin Watson  <cjwatson@ubuntu.com>

	Store the loopback device as data on loopback grub_disk structures,
	rather than the file it points to.  This fixes use of freed memory
	if an existing loopback device is replaced.

	* grub-core/disk/loopback.c (grub_loopback_open): Store dev in
	disk->data, not dev->file.
	(grub_loopback_read): Adjust file assignment to match.
	Fixes Ubuntu bug #742967.

2011-04-01  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
	when replacing an existing device.

2011-04-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
	memory corruptions.

	* grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
	unsigned.
	(grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
	(grub_jfs_blkno): Use 64-bit quantities for block sectors.
	(grub_jfs_read_inode): Likewise.
	(grub_jfs_opendir): Likewise. Remove now useless casts.
	(grub_jfs_getent): Likewise.
	Make ino a grub_uint32_t rather than int.
	(grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
	(grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
	division and module with bit operations.
	(grub_jfs_find_file): Make ino a grub_uint32_t.
	(grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities

2011-04-01  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/normal/menu_entry.c (run): Quieten uninitialised
	  warning.  (This was in fact always initialised before use, but GCC
	  wasn't smart enough to prove that.)
	* grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.

2011-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
	stack alignment.
	(efi_wrap_1): Likewise.
	(efi_wrap_2): Likewise.
	(efi_wrap_3): Likewise.
	(efi_wrap_4): Likewise.
	(efi_wrap_5): Likewise.
	(efi_wrap_6): Likewise.
	(efi_wrap_10): Likewise.
	Based on information by: Red Hat/Peter Jones.

2011-03-31  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
	set-but-not-used variable.

2011-03-31  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Be more explicit about
	GRUB_DEFAULT, and add an example.
	Reported by: Leslie Rhorer.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Commands): Link to "GRUB only offers a rescue
	shell".

2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>

	* util/grub.d/10_linux.in: Add gentoo-specific config filename.
	* util/grub.d/20_linux_xen.in: Likewise.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Try alternative config filenames where
	we parse config file.
	* util/grub.d/20_linux_xen.in: Likewise.

2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>

	* util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
	* util/grub.d/20_linux_xen.in: Likewise.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (insert_array): Add few potentially
	useful grub_util_info.
	(grub_raid_register): Likewise.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
	Preserve partition number in mdadm code path.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
	few potentially useful grub_util_info.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (default): Use @example rather than nested
	itemized lists to avoid breaking gendocs.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Future): Update.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Environment): New chapter.
	(Changes from GRUB Legacy): Link to "Environment block" section for
	details of limitations.
	(Simple configuration): Likewise.  Link to documentation of gfxmode
	and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
	respectively.
	(Shell-like scripting): Note that normal variables are stored in the
	environment.
	(gettext): Link to documentation of lang and locale_dir.
	(list_env): New section.
	(load_env): New section.
	(save_env): New section.

	(Reporting bugs): Fix typo.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
	the example.

2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c (set_scancodes)
	[!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Menu-specific commands): Remove some semantics
	that were true in GRUB Legacy but not in GRUB 2.
	(submenu): New section.
	(false): New section.
	(read): New section.
	(true): New section.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.

2011-03-30  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Explain some of the
	current limitations of grub-mkconfig.
	Reported by: Leslie Rhorer.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Old macs search for boot.efi rather than for bootia32.efi.

	* util/grub-install.in: Copy bootia32.efi to boot.efi.
	* util/grub-mkrescue.in: Likewise.
	Suggested by: Peter Jones.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Accept old-style xen kernels.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
	(grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
	(grub_lvm_mirror): New struct.
	* grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
	(grub_lvm_iterate): Iterate only visible volumes.
	(grub_lvm_read): Factor out to ..
	(read_lv): ... this. Support mirrors.
	(grub_lvm_read): New wrapper function.
	(grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
	stripped or mirrored.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.

2011-03-29  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (loopback): New section.

2011-03-29  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
	removed -p option.

2011-03-29  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (BIOS installation): New section, partly based on
	previous text in other sections.
	(Installing GRUB using grub-install): Replace BIOS discussion with a
	cross-reference.
	(Images): Likewise.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (find_partition_start)
	[HAVE_DIOCGDINFO]: Add safety checks.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
	per default compiled in kernel and prior to 8.0 isn't shipped at all.

2011-03-29  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
	real_sb->size is zero (e.g. RAID-0), get the disk size from
	real_sb->data_size instead.
	Fixes Ubuntu bug #743136.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
	printf clauses for printing size and start.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
	Reported and tested by: Timothy Nikkel.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
	(dirty_region_add_real): ... this.
	(dirty_region_add): Don't discard margin refresh when performing
	scheduled repaint.

2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (allocate_regstart)
	[!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
	terminals are capabple of malloc-free operation.
	(allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
	(malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.

2011-03-29  Mario Limonciello  <Mario_Limonciello@Dell.com>

        * util/grub-setup.c: Copy the partition table zone if floppy support
	is disabled, even if no partition table is found.

        Otherwise, the BIOS on Dell Latitude E series laptops will freeze
        during POST if an invalid partition table is contained in the PBR
        of the active partition when GRUB is installed to a partition.

2011-03-28  Colin Watson  <cjwatson@debian.org>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
	comment.

2011-03-28  Colin Watson  <cjwatson@debian.org>

	* grub-core/disk/raid.c (grub_raid_register): Adjust debug message
	to be specific about what kind of RAID device we're scanning for.

2011-03-26  Seth Goldberg <seth.goldberg@oracle.com>

	* grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
	return freed string.

2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.

2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Use libgeom on FreeBSD to detect partitions.

	* Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
	(grub-mkrelpath): Likewise.
	(grub-script-check): Likewise.
	(grub-editenv): Likewise.
	(grub-mkpasswd-pbkdf2): Likewise.
	(grub-fstest): Likewise.
	(grub-mkfont): Likewise.
	(grub-mkdevicemap): Likewise.
	(grub-probe): Likewise.
	(grub-setup): Likewise.
	(grub-ofpathname): Likewise.
	(grub-mklayout): Likewise.
	(example_unit_test): Likewise.
	(grub-menulst2cfg): Likewise.
	* grub-core/Makefile.core.def (grub-emu): Likewise.
	(grub-emu-lite): Likewise.
	* configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
	* grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
	define HAVE_DIOCGDINFO.
	(follow_geom_up) [FreeBSD]: New function.
	(find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
	(convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
	(grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
	unconditionally of HAVE_DIOCGDINFO.

2011-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix FreeBSD compilation problem.

	* grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
	(FLOPPY_MAJOR) [FreeBSD]: Likewise.

2011-03-24  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
	Switch back to page zero before loading a kernel, since some kernel
	drivers expect that.
	Thanks to: Felix Kuehling.

2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
	[DEBUG_RELOCATOR]: Reuse grub_mm_check.
	(grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.

2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
	(grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.

2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
	DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
	malloc is disabled.

2011-03-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
	for modules headers when counting the needed allocation size.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
	if no ASCII character is found to prevent crash.

2011-03-23  Alexander Kurtz  <kurtz.alex@googlemail.com>

	* grub-core/video/bitmap.c (match_extension): Ignore case.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/parser.y: Declare "time" as valid argument.

2011-03-23  Peter Jones  <pjones@redhat.com>

	Fix incorrect assert failure reporting.

	* grub-core/tests/example_functional_test.c (example_test): Add
	a failure comment.
	* grub-core/tests/lib/test.c (add_failure): Renamed to ...
	(failure_start): ...this. Check that malloc succeeded.
	Don't call xvasprintf. Return failure struct.
	(failure_append_vtext): New function.
	(failure_append_text): Likewise.
	(add_failure): Likewise.
	(grub_test_assert_helper): Likewise.
	* include/grub/test.h (grub_test_assert_helper): New declaration.
	(grub_test_assert): Macro rewritten.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/i386/pc/biosnum.c: Add missing include.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
	into GRUB-style one.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
	error and not grub_errno.
	* grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
	GRUB_USB_SPEED_NONE in case of failure and not the error code.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/i386/pc/cfgtables.c
	(grub_machine_efiemu_init_tables): Make declaration a prototype.
	* grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
	(grub_xnu_unlock): Likewise.
	* grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/usb.c (attach_hooks): Make static.
	* grub-core/bus/usb/usbhub.c (hubs): Likewise.
	* grub-core/commands/hashsum.c (aliases): Likewise.
	* grub-core/commands/setpci.c (pci_registers): Likewise.
	* grub-core/disk/usbms.c (attach_hook): Likewise.
	* grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
	(zio_checksum_table): Likewise.
	* grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
	* grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
	* grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
	* grub-core/lib/relocator.c (leftovers): Likewise.
	(extra_blocks): Likewise.
	* grub-core/loader/i386/bsd.c (relocator): Likewise.
	* grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
	(modules_last): Likewise.
	* grub-core/loader/i386/xnu.c (table_aliases): Likewise.
	(devices): Likewise.
	* grub-core/loader/multiboot_mbi2.c (modules): Likewise.
	(modules_last): Likewise.
	* grub-core/normal/auth.c (users): Likewise.
	* grub-core/normal/context.c (initial_menu): Likewise.
	(current_menu): Likewise.
	* grub-core/normal/crypto.c (crypto_specs): Likewise.
	* grub-core/term/serial.c (grub_serial_ports): Likewise.
	(grub_serial_terminfo_input_template): Likewise.
	(grub_serial_terminfo_output_template): Likewise.
	(grub_serial_terminfo_input): Likewise.
	(grub_serial_terminfo_output): Likewise.
	(registered): Likewise.
	* grub-core/term/usb_keyboard.c (attach_hook): Likewise.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/bochs.c (grub_video_bochs_setup): Use
	grub_video_mode_type_t.
	* grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
	* grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
	* grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.

2011-03-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Correct the x86-64 name as x86_64.

2011-03-11  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
	initial chunk read from the kernel always includes GRUB's multiboot
	header, which is now outside the first sector.

2011-03-09  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
	cached mmap_size, so that this works correctly when called multiple
	times.
	Reported by: Daniel Kahn Gillmor.  Should fix Debian bug #616638.

2011-03-09  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Tidy up formatting.

2011-03-07  Szymon Janc <szymon@janc.net.pl>

	* grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
	Set-but-not-used variable removed.

2011-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Workaround yet another IEEE1275 bug.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
	GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
	* grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
	adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
	is set.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.

2011-02-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
	error.

2011-02-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/20_linux_xen.in: Bail out early if linux_list is
	empty, since in that case we can only generate either nothing or a
	syntactically invalid configuration file.
	Reported by: Michal Suchanek.  Fixes Debian bug #612898.

2011-02-09  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Kernel): Add reference to grub-mkrescue.
	(Making a GRUB bootable CD-ROM): Likewise.
	(Invoking grub-mkrescue): New section.
	Reported by: Yann Dirson.  Fixes Debian bug #612585.

2011-02-09  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Remove unnecessary brackets from tr
	arguments.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	Reported by: Jamie Heilman.  Fixes Debian bug #612564.

2011-02-08  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/file.h (not_easly_seekable): Rename to ...
	(not_easily_seekable): ... this.  Update all users.

2011-01-28  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
	grub-mkrescue.

2011-01-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Refuse to create the images
	bigger than the actual flash (512K) in Loongson machines. 512K is also
	the biggest chip supported by them.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/getroot.c: Include config-util.h explicitly.

2011-01-22  Anthony DeRobertis <anthony@derobert.net>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
	super_offset field.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Ignore install device on platforms
	where it doesn't make sense. Always use UUIDs except on pc, efi and
	sparc64.
	Reported by: Daniel Kahn Gillmor.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/bonito.c (write_bases): Fix direction of the shift.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
	(iterate_real): Don't rely on partition being non-NULL.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
	supported platforms. Put a compile time assert for this rather than
	generate a warning with 32-bit shift.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
	logical expression more readable.

2011-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
	even if some elements have a name.
	Reported by: Alexander GQ Gerasiov.

2011-01-22  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
	path unreadable if `grub-probe -t abstraction' fails, for example if
	memberlist fails on an LVM volume group.
	Reported by: Darius Jahandarie.

2011-01-22  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Document
	GRUB_PRELOAD_MODULES.

2011-01-17  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Remove nonexistent grub-pbkdf2.

2011-01-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Bump version to 1.99~rc1.

2011-01-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkimage.c (generate_image): Check fwstart.img checksum
	for safety.

2011-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
	module.

2011-01-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.

2011-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
	diskdevid.

2011-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix compilation on cygwin.

	* conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
	-R .drectve on cygwin.
	* conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
	* configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
	(COND_CYGWIN): New condition.
	* grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
	* grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
	not @TARGET_OBJ2ELF@.
	* util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
	type to determine whether aux is to be used.

2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
	realpath'ed device string.
	Handle floppy (somewhat).
	Issue error in unknown case rather than garbage.
	Reported by: Axel Beckert.

2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/00_header.in (load_video): Handle the case when no video
	drivers available.
	Thanks to: Axel Beckert.

2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
	variable. Fixes problem on big endian platforms.

2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
	It doesn't work well there.

2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/context.c (grub_env_context_close): Silence spurious
	warning.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
	* grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
	counter.

2011-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	Use alias->path rather than buggy "canon".

	* grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
	(ofdisk_hash_add): New argument curcan. All users updated.

2011-01-11  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Fall back to `true' if `makeinfo' does not exist.

2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
	loadmask before doing any calculations. Use correct type for offset.
	(grub_linux_load64): Likewise.

2011-01-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
	with NULL.
	(console_grub_equivalences_unshift): Likewise.
	Reported by: Daniel Dehennin.

2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
	(set_env_limn_ro): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
	ARRAY_SIZE while on it.
	(GRUB_MOD_FINI): Change to ARRAY_SIZE.
	* grub-core/normal/context.c (grub_env_export): Move from here ...
	* grub-core/kern/env.c (grub_env_export): ... here.
	* grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
	prefix.
	* grub-core/kern/main.c (grub_main): Export root and prefix.
	* include/grub/env.h (grub_env_export): Export.
	Reported by: Seth Goldberg.

2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
	Take into account space used by ELF sections and multiboot palette.
	Reported by: Grégoire Sutre.

2011-01-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* BUGS: New file.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Pass more appropriate video id to Linux.

	* grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
	grub_video_get_driver_id and variable gfxpayloadforcelfb to
	fill have_vga.
	(grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
	shift params->lfb_size.
	* include/grub/i386/linux.h: Make an enume out of have_vga values.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-menulst2cfg.c: Add missing include of misc.h.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
	separator and pass bootpath/devid even if only one of them is available.
	Reported by: Seth Goldberg.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't use post-4G memory on EFI even if 64-bit since some non-compliant
	implementations bug on them.

	* grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
	memory.
	(filter_memory_map): Likewise.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
	Reported by: nebuchadnezzar.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-kbdcomp.in: Add missing transform and bindir variables.
	Reported by: nebuchadnezzar.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Submenu default support.

	* grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
	auto_boot. All users updated.
	Declared static.
	Handle chosen and default with submenus.
	(grub_menu_execute_with_fallback): Declared static.
	Don't notify failure if autobooted. Upper level does it.
	(menuentry_eq): New function.
	(get_entry_number): Use menuentry_eq.
	(show_menu): New parameter "autobooted". All users updated.
	(grub_show_menu): Likewise.
	* include/grub/normal.h (grub_show_menu): Likewise.
	* include/grub/menu.h (grub_menu_execute_entry): Removed.
	(grub_menu_execute_with_fallback): Likewise.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mklayout.c (usage): Update help text.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/legacycfg.c (legacy_file): Trim the line.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-menulst2cfg.c (main): Trim the line.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
	(grub_machine_init): Don't check amount of low memory as reportedly
	INT 12h can be broken and if low memory is too low we wouldn't have
	gotten into grub_machine_init anyway.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
	(grub_machine_mmap_iterate): Take low memory into account

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
	badfs.
	Reported by: TiCPU.

2011-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
	members errors.

2011-01-09  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
	(netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.

2011-01-09  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
	openbsd and netbsd types being in part_bsd module.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* config.h.in (_LARGEFILE_SOURCE): Add missing define.
	(_FILE_OFFSET_BITS): Likewise.
	Reported by: Seth Goldberg.

2011-01-08  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* configure.ac: Check for libdevmapper header.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
	avoid aliasing.
	(fzap_lookup): Likewise.
	(dnode_get): Likewise.
	(make_mdn): Likewise.
	(zfs_mount): Likewise.
	(fzap_iterate): Use temporary pointer to avoid aliasing.
	(grub_zfs_read): Likewise.
	* grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
	* grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
	pointers to avoid aliasing.
	(grub_cmd_xnu_kernel64): Likewise.
	(grub_xnu_load_driver): Likewise.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
	aliasing warning.
	(grub_cmd_terminal_output): Likewise.
	Reported and tested by: Grégoire Sutre.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
	warning.
	Reported and tested by: Grégoire Sutre.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Do CPU substitution even if it's specified explicitly.
	Reported and tested by: Alain Greppin.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
	Reported and tested by: Alain Greppin.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Satisfy some bison versions need for inttypes.h.

	* grub-core/lib/posix_wrap/inttypes.h: New file.
	* grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
	(int16_t): Likewise.
	(int32_t): Likewise.
	(int64_t): Likewise.
	Reported and tested by: Alain Greppin.

2011-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
	Silence spurious warning.
	Reported and tested by: Alain Greppin.

2011-01-07  Szymon Janc <szymon@janc.net.pl>

	* docs/grub.texi (Support automatic decompression): Update with xz
	decompression support.

2011-01-07  Szymon Janc <szymon@janc.net.pl>

	Improve loaders' kernel command line handling.

	* grub-core/lib/cmdline.c: New file.
	* include/grub/lib/cmdline.h: Likewise.
	* grub-core/loader/i386/linux.c (grub_cmd_linux): Use
	grub_create_loader_cmdline to create kernel command line.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
	* grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
	(linux): Add lib/cmdline.c on common.

2011-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
	inopos might be unaligned.

2011-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
	endian transformations.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
	Based on report by: Doug Nazar.

2011-01-07  Doug Nazar  <nazard.michi@gmail.com>

	* grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
	array->members[i].start_sector.
	* grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.

2011-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
	Reported and tested by: Grégoire Sutre.

2011-01-06  Colin Watson  <cjwatson@ubuntu.com>

	* tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
	avoid causing test failures by clearing the screen.

2011-01-06  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
	Fix prefix check to handle the case where dir ends with a slash
	(most significantly, "/" itself).
	Reported by: Michael Vogt.

2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Run terminfo_cls on initing terminfo output to clear the screen and
	move the cursor to (0,0).

	* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
	Call grub_terminfo_output_init.
	* grub-core/term/serial.c (grub_serial_term_output): Set .init.
	* grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
	* include/grub/terminfo.h (grub_terminfo_output_init): New declaration.

2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
	only when needed.

2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
	CTRL.

2011-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	The E820 type 5 is BADRAM, not EXEC_CODE.

	* grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
	(GRUB_E820_BADRAM): New define.
	* grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
	into reserved. Propagate BADRAM.
	* grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
	(GRUB_E820_BADRAM): New define.

2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
	Ignore the memory post-4G.
	(grub_relocator_firmware_alloc_region): Additional debug statement.

2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
	names.
	Reported by: David Pravec.

2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
	BIOSes.

2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
	Prevent overflow.
	(grub_reed_solomon_recover): Likewise.

2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.

2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
	variable.

2011-01-04  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
	descriptions of extract_legacy_entries_source and
	extract_legacy_entries_configfile.
	Reported by: Seung Soo, Ha.

2011-01-03  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
	on devices that do not implement function 0.

2011-01-03  Dave Vasilevsky <dave@vasilevsky.ca>

	* grub-core/fs/hfsplus.c: Make parent unsigned.
	(grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
	overflows.
	(grub_hfsplus_cmp_extkey): Likewise

2011-01-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Correctly use bootloader_id and not
	GRUB_DISTRIBUTOR on efibootmgr line.

2011-01-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (main): Report errors in FT_New_Face.

2010-12-31  Ian Campbell <ijc@hellion.org.uk>

	* util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
	Xen and reorder menu item wording to make it clearer that this entry
	will launch Xen.  Print separate messages when loading Xen and
	Linux.

2010-12-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
	(amiga_partition_map_iterate): Check "PART" magic to avoid a very long
	loop in case of incorrect amiga partmap.

2010-12-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
	(amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
	Reported by:EHeM.

2010-12-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
	spurious warning.
	Reported by: crocket

2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
	Preload EFIemu.
	(grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.

2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
	is loaded
	(grub_cmd_xnu_kextdir): Likewise.
	(grub_cmd_xnu_splash): Likewise.

2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid using Reed-Solomon with 0 redundancy.

	* grub-core/kern/i386/pc/startup.S: Remove 0-data check.
	* grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
	or 0 redundancy.
	(grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
	(grub_reed_solomon_recover): Likewise.

2010-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't use disk subsystem in freebsd_boot.

	* grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
	(freebsd_biosdev): Likewise.
	(grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
	(grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.

2010-12-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Handling of files of unknown size is currently limited. They can't be
	used e.g. for initrd or modules. Moreover gzip handling of not
	easily seekable files is buggy. Disable unknown file size for now. May
	be inefficient but works.

	* grub-core/io/gzio.c (test_header): Always retrieve the file size.
	* grub-core/io/xzio.c (grub_xzio_open): Likewise.

2010-12-25  Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>

	* grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
	floppy probe.

2010-12-25  Jeroen Dekkers <jeroen@dekkers.ch>

	* grub-core/disk/raid.c (insert_array): Don't add spurious members.

2010-12-25  Shea Levy <shlevy>

	* grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.

2010-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/30_os-prober.in: Don't emit drivemap directive for
	Windows Server 2008.
	Reported by: Devin Giddings.

2010-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
	writing an error message because of async power management.
	* grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
	(grub_reboot): Likewise.

2010-12-23  Jordan Uggla  <jordan.uggla@gmail.com>

	* tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
	keep unit tests from failing when they shouldn't.

2010-12-21  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
	previous patch increased the size of the RS code by 20 bytes (at
	least with gcc-4.4), so increase this by 20 bytes to match.
	(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.

2010-12-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
	scratch area.  Make sure to initialise chosen in standalone mode as
	well as non-standalone.
	Reported by: Robert Hooker and Andy Whitcroft.
	Tested by: Andy Whitcroft.

2010-12-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
	constructing a new unescaped string and passing it to grub_xputs in
	one go, rather than passing characters to grub_printf one at a time.

2010-12-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/fs/udf.c (read_string): Pacify GCC warning by
	initialising utf16.

2010-12-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
	comment.  Add an extra layer of quotation, requiring the output of
	this function to be used in a printf format string.
	(gettext_printf): New function.
	* util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
	Extract translatable strings from here-documents and use a temporary
	variable instead, so that xgettext can find them.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.

	* po/grub.d.sed: New file.
	* po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
	arguments.  Set c-format flags on all strings extracted from
	util/grub.d/ (xgettext refuses to include these itself for strings
	it extracted from a shell file, but these really are c-format).

2010-12-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
	Avoid next pointing to nowhere.

2010-12-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
	rather than assuming than rootblock is exactly in the middle.
	(grub_affs_label): Likewise.

2010-12-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
	reserved_first_sector to 0.
	* grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
	* grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
	* grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.

2010-12-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of UTF-16 UDF labels.

	* grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
	(read_string): .. here.
	(grub_udf_label): Use read_string.

2010-12-19  BVK Chaitanya  <bvk.groups@gmail.com>

	* grub-core/normal/menu_entry.c (run): Execute commands from menu
	editor under argument scope.
	Reported by: Jordan Uggla

2010-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.

2010-12-18  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/normal/term.c (print_more): Make \r or \n scroll one
	line, and other keys scroll an entire page (previous handling was
	for \r and \n to scroll a page and other keys to scroll two lines).

2010-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
	Set ptrdest to correct get_physical_target_address rather than
	incorrect get_virtual_current_address.

2010-12-18  kashyap garimella <garimella.kashyap@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
	correct cat to grub_uint8_t * rather than grub_uint32_t *.

2010-12-10  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Ignore grub-core/rs_decoder.S.

2010-12-10  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
	.mo/.mo.gz opening sequence to ...
	(grub_mofile_open_lang): ... here.
	(grub_gettext_init_ext): If opening ll_CC fails, try ll.
	* util/grub.d/00_header.in (grub_lang): Include country part of
	locale.
	Reported by: Mario Limonciello.

2010-12-09  Robert Millan  <rmh@gnu.org>

	* NEWS: Document addition of ZFS support.

2010-12-04  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
	rather than `/ 2', as the latter requires -Wa,--divide which would
	require bumping our minimum binutils version.

2010-12-03  BVK Chaitanya  <bvk.groups@gmail.com>

	* util/grub-script-check.c (main): Print script line number on
	error.

2010-12-01  Robert Millan  <rmh@gnu.org>

	* grub-core/fs/zfs/zfs.c: New file.
	* grub-core/fs/zfs/zfs_fletcher.c: Likewise.
	* grub-core/fs/zfs/zfs_lzjb.c: Likewise.
	* grub-core/fs/zfs/zfs_sha256.c: Likewise.
	* grub-core/fs/zfs/zfsinfo.c: Likewise.

	* include/grub/zfs/dmu.h: Likewise.
	* include/grub/zfs/dmu_objset.h: Likewise.
	* include/grub/zfs/dnode.h: Likewise.
	* include/grub/zfs/dsl_dataset.h: Likewise.
	* include/grub/zfs/dsl_dir.h: Likewise.
	* include/grub/zfs/sa_impl.h: Likewise.
	* include/grub/zfs/spa.h: Likewise.
	* include/grub/zfs/uberblock_impl.h: Likewise.
	* include/grub/zfs/vdev_impl.h: Likewise.
	* include/grub/zfs/zap_impl.h: Likewise.
	* include/grub/zfs/zap_leaf.h: Likewise.
	* include/grub/zfs/zfs.h: Likewise.
	* include/grub/zfs/zfs_acl.h: Likewise.
	* include/grub/zfs/zfs_znode.h: Likewise.
	* include/grub/zfs/zil.h: Likewise.
	* include/grub/zfs/zio.h: Likewise.
	* include/grub/zfs/zio_checksum.h: Likewise.

	* Makefile.util.def: Build ZFS into libgrubmods.
	* grub-core/Makefile.core.def: Build zfs.mod.

2010-11-30  Szymon Janc <szymon@janc.net.pl>

	* grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
	variable.
	* grub-core/commands/wildcard.c (match_files): Likewise.

2010-11-30  Robert Millan  <rmh@gnu.org>

	* grub-core/loader/i386/bsd.c
	(grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
	whether kernel is loaded using grub_loader_is_loaded(), rather
	than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
	certain error conditions.

2010-11-30  Robert Millan  <rmh@gnu.org>

	* grub-core/commands/echo.c: Include `<grub/term.h>'.
	(grub_cmd_echo): Call grub_refresh() after printing a message.

2010-11-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid using tricks for initialising endian variables.

	* grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
	Make const.
	(GRUB_MOD_INIT): Don't byte-swap.
	* include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
	Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
	* include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
	(grub_swap_bytes32_compile_time): Likewise.
	(grub_cpu_to_le32_compile_time): Likewise.
	(grub_cpu_to_le16_compile_time): Likewise.

2010-11-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Stop recommending --force. People who
	understand the dangers of blocklists are able to find this option
	anyway and the ones who don't shouldn't use it anyway.

2010-11-26  Robert Millan  <rmh@gnu.org>

	* grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
	Update all users.

2010-11-26  Colin Watson  <cjwatson@ubuntu.com>

	Fix LVM-on-RAID probing.

	* util/grub-probe.c (probe): Remember which disk was detected as
	RAID (perhaps an LVM physical volume).  Use that disk's raidname
	rather than that of the top-level disk.

2010-11-25  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix cmdline argument quotes for setparams command of menuentry
	definitions.

	* grub-core/commands/menuentry.c (setparams_prefix): Use single
	quotes for arguments.
	* grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
	grub_strchrsub function instead.

	* include/grub/misc.h (grub_strchrsub): New function.

2010-11-24  Colin Watson  <cjwatson@ubuntu.com>

	* util/deviceiter.c (grub_util_iterate_devices): Save a bit of
	effort by skipping "." and ".." entries up-front.
	Suggested by: Michael Lazarev.

2010-11-24  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
	ldflags to ldadd, to fix link line ordering.
	(none_decompress): Likewise.

2010-11-24  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
	platforms.
	(grub-emu-lite): Remove kern/emu/cache.S.

2010-11-23  Colin Watson  <cjwatson@ubuntu.com>

	* util/deviceiter.c (compare_devices): If the by-id link for a
	device couldn't be resolved, fall back to sorting by the by-id link
	rather than segfaulting.
	Reported and tested by: Daniel Mierswa.

2010-11-23  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
	ldflags, to fix link line ordering.

2010-11-23  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
	linkers are picky about this.

2010-11-23  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/Makefile.am (command.lst): Adjust sed expression
	ordering so that extended and priority commands aren't treated as
	ordinary commands.

2010-11-23  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
	Remove byte-swapping function calls, which are not valid in
	structure initialisers.
	* grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
	non-const.
	(GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
	grub_gpt_partition_type_bios_boot.

2010-11-22  Colin Watson  <cjwatson@ubuntu.com>

	Fix test program build on GNU/kFreeBSD.

	* Makefile.util.def (example_unit_test): Add `$(LIBZFS)
	$(LIBNVPAIR)' library dependencies.

2010-11-22  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Fix parsing of --grub-mkrelpath= option.

2010-11-22  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Remove excessive quoting that broke
	installations to RAID devices.

2010-11-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
	bootloader version instead of 0.

2010-11-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
	warning.

2010-11-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
	retrieve the metadat sector if size isn't known.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.

2010-11-18  Robert Millan  <rmh@gnu.org>

	* grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
	with grub_memcmp().

2010-11-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu_entry.c (print_up): Fix displacement of up
	arrow.
	Reported by: Jordan Uggla.

2010-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Make better UTF compliant.

	* grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
	sequences as incorrect.
	(grub_is_valid_utf8): Likewise.
	(grub_utf8_to_ucs4): Likewise.
	(grub_ucs4_to_utf8): Handle codepoints outside of BMP.
	(grub_ucs4_to_utf8_alloc): Likewise.
	* include/grub/charset.h (grub_utf16_to_utf8): Likewise.

2010-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Make legacy_source behave like source.

	* grub-core/commands/legacycfg.c (legacy_file): Don't call
	grub_show_menu.
	(grub_cmd_legacy_source): Call grub_show_menu if needed.

2010-11-16  Colin Watson  <cjwatson@debian.org>

	* conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
	(-Wunused implies -Wunused-parameter, but not vice versa).

2010-11-16  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Make error messages less confusing by testing for
	-Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
	accepted, but produces a diagnostic if something else is wrong).

2010-11-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
	[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
	(now unused).
	(grub_keyboard_controller_init)
	[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
	read the initial state since controller isn't inited yet.

2010-11-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (malloc_in_range): Take into account that
	allocate_regbeg may need to create new chunk header.

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix quoting in legacy parser.

	* grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
	single quotes.
	(grub_legacy_parse): Likewise.
	Reported by: Jordan Uggla.
	Tested by: Jordan Uggla.

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't add -lgcc on i386 and x86_64.

	* configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
	* conf/Makefile.common (LDADD_KERNEL): Likewise.
	* grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add -Wno-trampolines when supported.

2010-11-14  Modestas Vainius <modax@debian.org>

	* grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
	fakeraid.

2010-11-14  Giuseppe Caizzone <acaizzo@gmail.com>

	Add generic logical block size support for UDF.

	* grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
	(GRUB_UDF_BLKSZ): Removed.
	(struct grub_udf_data): New field "lbshift" to hold the logical	block
	size of the file system in log2 format. All users updated.
	(sblocklist): Change type to unsigned.
	(grub_udf_mount): Change type of "sblklist" to unsigned.
	Move AVDP search before VRS recognition, because the latter requires
	knowledge of the logical block size, which is detected during the
	former.
	Detect and validate logical block size during AVDP search, adding
	support for block sizes 512, 1024 and 4096.
	Make VRS recognition independent of block size.

2010-11-14  Giuseppe Caizzone <acaizzo@gmail.com>

	Properly handle deleted files on UDF.

	* grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
	whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
	set.

2010-11-14  Giuseppe Caizzone <acaizzo@gmail.com>

	Support reading files larger than 2 GiB.

	* grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
	"offset" to grub_off_t.
	(grub_udf_read_file): Likewise for parameter "pos".

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
	unavailable.
	(Simple configuration): Refer to Changes from GRUB Legacy about
	save_env availability.

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Ignore empty partition table detection
	instead of trying to include part_ module.

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
	LVM on RAID support.

2010-11-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Properly define WORDS_BIGENDIAN in wrapped environments.

	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
	definition.
	* grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.

	Reported by: Manoel Rebelo Abranches.
	Tested by: Manoel Rebelo Abranches.

2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig.in: Fix quoting.

2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Support big ext2 files.

	* grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
	(grub_ext2_read_block): Support triple indirect blocks.
	(grub_ext2_read_file): Use 64-bit types and read size_high.
	(grub_ext2_open): Read size_high.
	Reported by: Ximin Luo.
	Tested by: Manoel Rebelo Abranches.

2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Handle filenames containing spaces.
	Reported by: Jordan Uggla.
	Tested by: Jordan Uggla.

2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig.in (grub_script_check): New variable.
	Use grub_script_check instead of grub-script-check.
	Reported by: Barry Jackson.

2010-11-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (menu): Correct the order.
	Reported by: D. Hugh Redelmeier.

2010-11-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
	jump.

2010-11-08  Manoel Rebelo Abranches <mrabran@br.ibm.com>

	* include/grub/elfload.h (grub_elf32_size): New parameter.
	All users updated.
	Return maximum segments alignment.
	(grub_elf64_size): Likewise.
	* kern/elf.c (grub_elf32_size): New parameter. All users updated.
	Return maximum segments alignment.
	(grub_elf64_size): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c:
	(grub_linux_claimmap_iterate): New function. Uses the
	"available" property in the "memory" node for memory allocation
	for kernel in the PowerPC loader.
	(grub_linux_load32): Correctly find linux entry point offset.
	(grub_linux_load64): Likewise.

2010-11-07  Robert Millan  <rmh@gnu.org>

	On mips-yeeloong, build with -march=loongson2f when this flag is
	available (GCC >= 4.4).
	* conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
	`-march=mips3'.
	* configure.ac: For mips-yeeloong, add -march=loongson2f if available,
	or otherwise add -march=mips3.

2010-11-07  BVK Chaitanya  <bvk.groups@gmail.com>

	Suppress shell expansion on echo '*' and echo "*" like cases.
	Reported by: Jordan Uggla.

	* grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
	string arguments before shell expansion.
	* tests/grub_cmd_echo.in: New testcases.

2010-11-07  Robert Millan  <rmh@gnu.org>

	* conf/mips-qemu-mips.rmk: Remove stale file from previous
	transition.

2010-11-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Handle devices like "sdaa1".

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

	* include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
	* include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
	* include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.

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

	* grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.

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

	* util/grub-install.in: Replace useless recomendation to pass
	--modules with a recomendation to report a bug.

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

	Properly register serial terminfo.
	Reported by: Jordan Uggla

	* grub-core/term/serial.c (grub_serial_terminfo_input_template): New
	const.
	(grub_serial_terminfo_output_template): Likewise.
	(grub_cmd_serial): Register "serial" with terminfo.
	(GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
	grub_serial_terminfo_output.

2010-11-05  Robert Millan  <rmh@gnu.org>

	* util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
	needed).

2010-11-05  Robert Millan  <rmh@gnu.org>

	On Yeeloong, pass machine type information to Linux.

	* grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
	(LOONGSON_MACHTYPE): New macro, set to
	"machtype=lemote-yeeloong-2f-8.9inches".
	[LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
	additional argument to Linux.

2010-11-04  Robert Millan  <rmh@gnu.org>

	* util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
	limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
	(its SATA disks are detected as slaveless IDE master drives on
	kFreeBSD).
	Reported by Carsten Aulbert.

2010-11-02  Colin Watson  <cjwatson@ubuntu.com>

	* util/bin2h.c (main): Fix spelling error in generated output.

2010-11-01  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
	vga= option is supplied.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
	argument as an argument to no-argument option.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_linux.in: Add missing load_video with explicit
	GRUB_GFXPAYLOAD_LINUX.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.am (libgrub.pp): Propagate the libgrub.a split.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
	elements with invlid index.
	* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
	* grub-core/disk/raid.c (insert_array): Automatically reallocate
	members.
	* include/grub/raid.h (grub_raid_member): New struct.
	(grub_raid_array): Transform devices and start_sector into usage of
	grub_raid_member. All users updated
	(allocated_devs): New member.

2010-11-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/man/grub-set-default.h2m: Clarify that only saved default entry
	is modified

2010-10-29  BVK Chaitanya  <bvk.groups@gmail.com>

	NetBSD build fix for getline function conflict from gnulib.

	* Makefile.util.def (libgrubkern.a): New library for grub kernel
	components that depend on gnulib headers.
	(libgrubmods.a): Renamed from earlier libgrub.a.
	* conf/Makefile.common: Remove gnulib from *_LIBRARY flags.

2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
	install rather than creating a broken install.

2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (argp): Remove misleading example of installing to
	a partition.

2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Clarify the error message.

2010-10-26  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/types.h (grub_target_off_t): Removed no longer used type.

2010-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c
	(grub_make_system_path_relative_to_its_root)
	[HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.

2010-10-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c
	(grub_make_system_path_relative_to_its_root): Revert r2882.

2010-10-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
	useless field head. All users updated.
	(free_subchunk): Correct handling of IN_REGION subchunk.

2010-10-22  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Installing GRUB using grub-install): Proofread.
	(Supported kernels): Likewise.

2010-10-18  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Make mktemp invocations portable.

	* grub-core/genmod.sh.in: Use mktemp with an explicit template, and
	exit if mktemp fails.
	* tests/grub_script_blockarg.in: Likewise.
	* tests/partmap_test.in: Likewise.
	* tests/util/grub-shell-tester.in: Likewise.
	* tests/util/grub-shell.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
	* Makefile.am: Likewise, and chain shell commands with `&&'
	instead of ';'.
	* util/grub-mkrescue.in: Use the same explicit template as above, and
	exit if mktemp fails.

2010-10-18  BVK Chaitanya  <bvk.groups@gmail.com>

	* util/grub.d/10_linux.in: Fix built-in initramfs image mode for
	Linux kernel, reported by Dennis Schridde.

2010-10-17  Szymon Janc <szymon@janc.net.pl>

       * grub-core/normal/auth.c (grub_auth_check_authentication):
       Set-but-not-used variable removed.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (GNU/Linux): Document APM unavailability with
	32-bit linux protocol.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
	cursor shape for sanity.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Installation): Document buggy BIOS install.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Installation): Indent.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): New parameter allow_floppy.
	(arguments): New member allow_floppy.
	(argp_parser): Handle --allow-floppy.
	(main): Pass allow_floppy.
	* util/grub-install.in: New option --allow-floppy passed though to
	grub-setup.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Handle partitionless disks.

2010-10-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Don't clean blocklists before readability
	verfification.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Installation): Document embedding zone. Remove
	obsolete grub-install example.

2010-10-16  Szymon Janc <szymon@janc.net.pl>

	* grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
	Set-but-not-used variable ifdef'ed.
	* grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
	* grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
	variable removed.
	* grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
	* grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
	* grub-core/fs/minix.c (grub_minix_dir): Likewise.
	* grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
	* grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
	* grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
	* grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
	* grub-core/gfxmenu/widget-box.c (draw): Likewise.
	* grub-core/lib/relocator.c (malloc_in_range): Likewise.
	* grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
	* grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
	Likewise.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
	* include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
	enum value.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
	synonym to _S5_. Needed for some DSDTs.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Userspace ACPI parser debugging.

	* grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
	headers and add relevant defines. Don't include standard headers.
	(main) [GRUB_DSDT_TEST]: New function.
	* include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
	Don't declare functions.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove dead grub_efi_mm_fini.

	* grub-core/kern/efi/mm.c (allocated_page): Removed.
	(ALLOCATED_PAGES_SIZE): Likewise.
	(MAX_ALLOCATED_PAGES): Likewise.
	(allocated_pages): Likewise.
	(grub_efi_allocate_pages): Don't record allocated pages.
	(grub_efi_free_pages): Likewise.
	(grub_efi_mm_init): Likewise.
	(grub_efi_mm_fini): Removed.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
	(grub_efi_mm_init): Take into account the memory map size increase.

2010-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
	(serial_hw_put): Wait based on real time rather than port reads. Don't
	roken ports.
	* include/grub/serial.h (grub_serial_port): New field broken.

2010-10-16  Robert Millan  <rmh@gnu.org>

	* grub-core/kern/emu/misc.c
	(grub_make_system_path_relative_to_its_root): Fix premature return
	when processing non-root ZFS filesystems.
	Reported by Sergio Talens-Oliag.

2010-10-15  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
	guarantee compressed ones are processed first.

2010-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
	grub_efiemu_autocore.

2010-10-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
	rather than 0x1b.
	(grub_console_getkey): Use correct jae opcode rather than ja.

2010-10-12  Robert Millan  <rmh@gnu.org>

	* util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
	`GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
	variable.  All references updated.

	* util/grub.d/10_kfreebsd.in: Support recovery boot entries.

2010-10-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Correctly distinguish mdraid flavours.

	* grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
	(insert_array): New argument raid.
	* include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
	* include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
	* util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".

2010-10-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
	handling of special keys.

2010-10-02  Aleš Nesrsta <starous@volny.cz>

	* include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
	GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.

2010-10-02  Aleš Nesrsta <starous@volny.cz>

	* grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
	* grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
	users updated.
	* grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
	Use right endpoint when querying descriptor.

2010-10-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Clear out 0x80 color bit on EFI.
	Tested by: decoder
	Reported by: decoder and meta tech.

	* grub-core/term/efi/console.c (grub_console_standard_color): Removed.
	(grub_console_setcolorstate): Clear out 0x80 bit.
	Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
	(grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
	Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.

2010-10-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
	Set to "auto".

2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
	mo_file after freeing.

2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (read_terminal_list): Free in a right order.

2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/execute.c (grub_script_execute_sourcecode): Set
	flags.

2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
	usage.

2010-09-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Put terminfo into core on ieee1275 and yeeloong (needed for console).

	* gentpl.py: New groups terminfoinkernel and terminfomodule.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
	and terminfo.h when needed.
	* grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
	term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
	(terminfo): Enable only on terminfokernel.
	(extcmd): Likewise.
	* include/grub/extcmd.h: Add missing EXPORT_FUNC.
	* include/grub/lib/arg.h: Likewise.
	* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
	incorrect usage of ->.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
	[GRUB_MACHINE_EFI && __i386__]: Fix typo.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix coreboot compilation.

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
	Take VBE info into account even if only text is supported.
	(fill_vbe_info): Take into account the case when only VGA text
	is supported.
	* include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
	on coreboot, multiboot and qemu.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
	debug messages.
	(grub_relocator_prepare_relocs): Set movers_chunk.srcv.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
	parameters.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
	if they were BSD-style.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/lnxboot.S: Replace
	GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
	GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.

2010-09-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Write embedding zone using Reed-Solomon.

	* Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
	* grub-core/Makefile.am (rs_decoder.S): New target.
	(kern/i386/pc/startup.S): Depend on rs_decoder.S.
	* grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
	(multiboot): Move to RS part.
	(post_reed_solomon): New label.
	(grub_boot_drive): Move to non-RS part since it's modified in memory
	on boot.
	Include rs_decoder.S.
	* grub-core/lib/reed_solomon.c: New file.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
	New definition.
	(GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
	(GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
	(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
	* include/grub/partition.h (grub_partition_map): Change prototype of
	embed to allow returning additional sectors.
	* include/grub/reed_solomon.h: New file.
	* util/grub-setup.c (setup): Handle Reed-Solomon.

2010-09-28  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
	i386 and x86-64 definedness tests.

2010-09-27  Yves Blusseau  <blusseau@zetam.org>

	Fix generation of kernel_syms.lst

	* grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
	ASM_PREFIX

2010-09-26  Robert Millan  <rmh@gnu.org>

	Support degraded ZFS arrays in "grub-probe -t device" resolution.

	* grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
	the pool is an array of devices, iterate through it and return the
	first device that passes a stat() test (instead of blindly returning
	the first one).

2010-09-26  Robert Millan  <rmh@gnu.org>

	Build fixes for GNU/kFreeBSD.

	* Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
	to programs that require ZFS conversion.
	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
	kernels that don't have FLOPPY_MAJOR.

2010-09-25  BVK Chaitanya  <bvk.groups@gmail.com>

	* grub-core/kern/emu/full.c (grub_emu_post_init):  Fix typo.

2010-09-25  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix grub-emu build.

	* grub-core/kern/emu/main.c: Remove #include <getopt.h>.
	* grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
	mdraid09 and mdraid1x.

2010-09-24  Colin Watson  <cjwatson@ubuntu.com>

	Re-enable grub-extras.

	* autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
	avoid confusing Automake.  Run autogen only twice, once for the top
	level and once for grub-core.  Add Makefile.util.def and
	Makefile.core.def from extra modules to the appropriate autogen
	invocations.  If Makefile.common exists in an extra module, include
	it in both Makefile.util.am and grub-core/Makefile.core.am;
	similarly, include any Makefile.util.common file in Makefile.util.am
	and any Makefile.core.common file in grub-core/Makefile.core.am.
	* conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
	Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
	($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
	* grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.

	* gentpl.py (gvar_add): Turn GVARS into a set.
	(global_variable_initializers): Sort global variables on output.
	(vars_init): New function.
	(first_time): Likewise.
	(library): Ensure that non-global variable initialisations are
	emitted before the first time we emit code for a library block.
	Append to variables rather than setting them.  Only emit
	noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
	each conditional path.
	(program): installdir() emits an Autogen macro, so must be passed to
	var_add rather than gvar_add.
	(data): Likewise.
	(script): Likewise.
	(rules): New function, centralising handling for different target
	types.  Set up Guile association lists for first_time and vars_init,
	and send most output to a diversion so that variable initialisations
	can be emitted first.
	(module_rules): Use new rules function.
	(kernel_rules): Likewise.
	(image_rules): Likewise.
	(library_rules): Likewise.
	(program_rules): Likewise.
	(script_rules): Likewise.
	(data_rules): Likewise.

	* configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.

	* .bzrignore: Add contrib and grub-core/contrib.  Remove
	grub-core/Makefile.gcry.am.

2010-09-24  Yves Blusseau  <blusseau@zetam.org>

	* grub-core/lib/LzFind.c: Add missing include.
	* grub-core/lib/LzmaEnc.c: Likewise.
	* grub-core/script/lexer.c: Likewise.
	* grub-core/script/yylex.l: Likewise.
	* util/grub-macho2img.c: Likewise.
	* util/grub-menulst2cfg.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c
	* util/grub-mkrelpath.c: Likewise.
	* util/resolve.c: Likewise.

2010-09-24  BVK Chaitanya  <bvk.groups@gmail.com>

	* Makefile.util.def (example_unit_test): Add
	grub-core/gnulib/libgnu.a.

2010-09-23  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.

2010-09-23  Vladimir Serbinenko  <phcoder@gmail.com>

	Support xz compression on yeeloong.

	* Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
	* configure.ac: Check for LZMA.
	* grub-core/Makefile.core.def (xz_decompress): New target.
	(none_decompress): Likewise.
	* grub-core/boot/decompressor/minilib.c: New file.
	* grub-core/boot/decompressor/none.c: Likewise.
	* grub-core/boot/decompressor/xz.c: Likewise.
	* grub-core/kern/mips/cache.S: Change to noreorder nomacro.
	* grub-core/kern/mips/cache_flush.S: Likewise.
	* grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
	* grub-core/kern/mips/startup.S: Move first stage to ...
	* grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
	nomacro.
	* grub-core/kern/mips/startup.S: Change to noreorder nomacro.
	* grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
	* grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
	Allocate statically.
	* grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
	Allocate statically or use scratch. Don't check CRC32.
	* grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
	Allocate statically. Don't check CRC32.
	* include/grub/decompressor.h: New file.
	* include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
	Removed.
	(GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
	(GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
	(GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
	(GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
	(GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
	* util/grub-mkimage.c (grub_compression_t): New type.
	(PLATFORM_FLAGS_DECOMPRESSORS): New flag.
	(image_target_desc): New field default_compression.
	(image_targets): Adjust yeeloong targets.
	(compress_kernel_xz) [HAVE_LIBLZMA]: New function.
	(compress_kernel): New parameter comp.
	(generate_image): Likewise. Handle new compression case.
	(options): New option --compression
	(help): Likewise.
	(main): Handle new option.

2010-09-22  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.

2010-09-22  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
	typo in __i386__ conditional.

2010-09-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
	include.

2010-09-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement EFI and ACPI multiboot2 extensions.

	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
	new tags as supported.
	(acpiv2_size): New function.
	(grub_multiboot_get_mbi_size): Take new tags into account.
	(grub_multiboot_make_mbi): Add new tags.
	* include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.

2010-09-21  Aleš Nesrsta <starous@volny.cz>

	* grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
	Added missing configuration of USB device.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/normal/menu_entry.c (run): Make sure we always return
	a value.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
	NumberOfPages is UINT64 according to the UEFI specification, not
	UINTN.  Fix printf format.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
	`err' to grub_usb_err_t.
	Reported and tested by: KESHAV P.R.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
	tpart non-const, so that we can assign to it.  (Since this is a
	typedef, the constness refers to the pointer rather than what it
	points to.)

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* conf/Makefile.common (CPPFLAGS_GNULIB): Add
	$(top_srcdir)/grub-core/gnulib as well as
	$(top_builddir)/grub-core/gnulib.
	Reported by: KESHAV P.R.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Fix the bootloader ID option to be
	consistently --bootloader-id, not --bootloader_id.
	Reported by: KESHAV P.R.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
	check hash checksum." consistently translatable.

2010-09-21  Yves Blusseau  <blusseau@zetam.org>

	* conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
	$(top_builddir).

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
	(GRUB_MOD_INIT): Register sha1sum command.
	(GRUB_MOD_FINI): Unregister sha1sum command.

2010-09-21  Yves Blusseau  <blusseau@zetam.org>

	Keep boot and grub directory names in sync with utils scripts

	* configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
	* config.h.in: Add previous macros.
	* include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
	* util/grub-install.in: Use $bootdir and $grubdir variables.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
	convert partition names to disk names if the new `convert' parameter
	is set.
	(grub_util_biosdisk_get_grub_dev): If opening the disk device
	returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
	disk in its own right.  This can happen with Xen disk images.

2010-09-21  Yves Blusseau  <blusseau@zetam.org>

	* util/grub-editenv.c: Update strings to avoid warnings when generating
	grub.pot file.
	* util/grub-setup.c: Likewise.

2010-09-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Change version to 1.99~beta0.

2010-09-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
	Add BADRAM.
	* grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
	Likewise.
	* include/multiboot.h: Resynced with specification.
	* include/multiboot2.h: Likewise.

2010-09-21  Colin Watson  <cjwatson@ubuntu.com>

	Fix po directory handling.

	* configure.ac: Create po/Makefile.in rather than po/Makefile.
	* grub-core/gnulib/Makefile.am: Import gettext module.
	* m4/gnulib-cache.m4: Likewise.
	* m4/gnulib-comp.m4: Likewise.
	* m4/gettext.m4: New file, from gnulib.
	* m4/glibc2.m4: Likewise.
	* m4/iconv.m4: Likewise.
	* m4/intdiv0.m4: Likewise.
	* m4/intl.m4: Likewise.
	* m4/intldir.m4: Likewise.
	* m4/intlmacosx.m4: Likewise.
	* m4/intmax.m4: Likewise.
	* m4/inttypes-pri.m4: Likewise.
	* m4/lcmessage.m4: Likewise.
	* m4/lib-ld.m4: Likewise.
	* m4/lib-link.m4: Likewise.
	* m4/lib-prefix.m4: Likewise.
	* m4/lock.m4: Likewise.
	* m4/nls.m4: Likewise.
	* m4/po.m4: Likewise.
	* m4/printf-posix.m4: Likewise.
	* m4/progtest.m4: Likewise.
	* m4/threadlib.m4: Likewise.
	* m4/uintmax_t.m4: Likewise.
	* m4/visibility.m4: Likewise.
	* po/Makefile.am: Remove.
	* po/Makefile.in.in: New file, from gettext.
	($(DOMAIN).pot-update): Support POTFILES-shell.
	* po/Makevars: New file.
	* po/POTFILES-shell: Rename to ...
	* po/POTFILES-shell.in: ... this.  Update.
	* po/POTFILES: Rename to ...
	* po/POTFILES.in: ... this.  Update.
	* po/Rules-quot: New file, from gettext.
	* po/boldquot.sed: Likewise.
	* po/en@boldquot.header: Likewise.
	* po/en@quot.header: Likewise.
	* po/insert-header.sin: Likewise.
	* po/quot.sed: Likewise.
	* po/remove-potcdate.sin: Likewise.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/20_linux_xen.in: Use submenus.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Support submenus.

	* grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
	parameter submenu. All users updated.
	* grub-core/normal/main.c (free_menu): Rename to ...
	(grub_normal_free_menu): ... this. Made global.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
	if requested.
	* grub-core/normal/menu_entry.c (screen): New field submenu.
	(make_screen): Set submenu.
	(run): Open new context if requested.
	* include/grub/menu.h (grub_menu_entry): New field submenu.
	* include/grub/normal.h (grub_normal_free_menu): New proto.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Menu entries extractor.

	* grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
	variants.
	(GRUB_MOD_INIT): Register new variants.
	(GRUB_MOD_FINI): Unregister new variants.
	* grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
	into grub_cmd_legacy_source.
	(grub_cmd_legacy_source): Implement extractor variants.
	(GRUB_MOD_INIT): Register new variants.
	(GRUB_MOD_FINI): Unregister new variants.
	* grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
	as an extractor.
	* grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
	search as an extractor.
	* grub-core/commands/test.c (GRUB_MOD_INIT): Declare
	test as an extractor.
	* grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
	as an extractor.
	* grub-core/normal/context.c (grub_env_context_open): Reorganised.
	(grub_env_new_context): New function.
	(grub_env_context_open): Likewise.
	(grub_env_extractor_open): Likewise.
	(grub_env_extractor_close): Likewise.
	* grub-core/script/execute.c (grub_script_execute_cmdline): Handle
	grub_extractor_level.
	* include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
	* include/grub/env.h (grub_env_extractor_open): New proto.
	(grub_env_extractor_close): Likewise.
	* include/grub/normal.h (grub_extractor_level): New external variable.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Make cutmem accept a region specification.
	Suggested by: Samuel Thibault

	* grub-core/mmap/mmap.c (parsemem): New function.
	(grub_cmd_cutmem): Handle new arguments.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	New command cutmem.

	* grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
	(GRUB_MOD_INIT): Register new command.
	(GRUB_MOD_FINI): Unregister new command.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Support some annoying BSD and Minix subpartitions.

	* Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
	Properly handle concatenation.
	* grub-core/kern/device.c (grub_device_iterate): Likewise.
	* grub-core/normal/completion.c (iterate_partition): Likewise.
	* grub-core/kern/disk.c (grub_disk_open): Make disk->name not
	contain partition. All users updated.
	* grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
	struct.
	(grub_openbsdlabel_partition_map): Likewise.
	(bsdlabel_partition_map_iterate): Rename to ..
	(iterate_real): ... this. New arguments sector, freebsd and pmap.
	(bsdlabel_partition_map_iterate): New function.
	(netopenbsdlabel_partition_map_iterate): Likewise.
	(netbsdlabel_partition_map_iterate): Likewise.
	(openbsdlabel_partition_map_iterate): Likewise.
	(GRUB_MOD_INIT): Register new partmaps.
	(GRUB_MOD_FINI): Unregister new partmaps.
	* grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
	(grub_partition_msdos_iterate): ... this. All users updated.
	Don't support embedding other than in a minix partition.
	* include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
	proto.
	* include/grub/partition.h (grub_partition): New field msdostype.
	* util/grub-install.in: Handle openbsd and netbsd types being in
	part_bsd module.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Split mdraid.mod into mdraid09.mod and mdraid1x.mod.

	* Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
	* grub-core/Makefile.core.def (mdraid): Renamed to ...
	(mdraid09): ... this.
	(mdraid1x): New module.
	* grub-core/disk/mdraid_linux.c: Move 1.x parts ...
	* grub-core/disk/mdraid1x_linux.c: ...here. All users updated.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
	vsprintf.

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/efi/lsefimmap.c: Correct header.
	* NEWS: Update.

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-editenv.c (argp_parser): Don't pass translated strings
	as printf format strings; the translations might contain '%' which
	could cause a crash.
	(main): Likewise.
	* util/grub-fstest.c (argp_parser): Likewise.
	* util/grub-setup.c (argp_parser): Likewise.
	(main): Likewise.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Use argp in grub-fstest.

	* util/grub-fstest.c: Don't include getopt.h.
	Include argp.h.
	(root): New variable.
	(args_count): Likewise.
	(nparm): Likewise.
	(num_disks): Likewise.
	(images): Likewise.
	(cmd): Likewise.
	(debug_str): Likewise.
	(args): Likewise.
	(options): Transformed to argp.
	(usage): Removed.
	(main): Split argument parsing into ...
	(argp_parser): ... this. Changed to argp format.
	(argp): New variable.
	(main): Use argp_parse.

2010-09-20  Tristan Gingold  <gingold@free.fr>
2010-09-20  Robert Millan  <rmh.grub@aybabtu.com>
2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/efi/lsefimmap.c: New file.
	* grub-core/Makefile.core.def (lsefimmap): New module.
	* include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Pause the execution (10s max) if any errors are displayed so the user
	has a chance to see them.

	* grub-core/kern/err.c (grub_err_printed_errors): New variable.
	(grub_print_error): Increment grub_err_printed_errors.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
	execution if any errors were displayed.
	(show_menu): Remove old code for pause.
	* grub-core/normal/menu_entry.c (run): Likewise.
	* grub-core/normal/term.c (grub_normal_char_counter): Removed. All
	users updated.
	(grub_normal_get_char_counter): Likewise.
	* include/grub/err.h (grub_err_printed_errors): New external variable.
	* include/grub/normal.h (grub_normal_get_char_counter): Removed.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Support multiboot VBE info.

	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
	Take VBE info into account.
	(fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
	(retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
	Call fill_vbe_info when appropriate.
	(grub_multiboot_make_mbi): Account for the size occupied by VBE info.
	* grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
	as supported.
	(grub_multiboot_get_mbi_size): Take new tags into account.
	(fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
	(retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
	Call fill_vbe_tag when appropriate.
	(grub_multiboot_make_mbi): Properly align tags.
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
	function.
	* include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
	proto.
	* include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Suport manual terminal geometry specification.

	* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
	Save state in grub_ofconsole_terminfo_output.
	(grub_ofconsole_term): Use grub_terminfo_getwh.
	(grub_ofconsole_getwh): Removed.
	* grub-core/term/serial.c (grub_serial_getwh): Removed.
	(grub_serial_term): Use grub_terminfo_getwh.
	* grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
	(options): New struct.
	(OPTION_*): New enum.
	(grub_cmd_terminfo): Transform into extcmd and handle new parameters.
	* include/grub/terminfo.h (grub_terminfo_output_state): New fields
	width and height.
	(grub_terminfo_getwh): New proto.
	* grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle legacy "terminal" command.

	* grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
	and FLAG_TERMINAL.
	(legacy_commands): Add terminal and title.
	(grub_legacy_parse): Handle terminal. Simplify title handling.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
	parameters overflow.

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
	widthspec.h.

	* docs/grub.texi (Shell-like scripting): Document `!'.
	(Network): Simplify using new i386-pc-pxe format.  Mention
	grub-mknetdir.

	* NEWS: Update.

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.am (SUBDIRS): Restore "."; it's important to force
	ordering, so that e.g. ascii.h is built before grub-core/font/font.c
	when needed.

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/commands/efi/lsefisystab.c: Correct header.
	* grub-core/commands/efi/lssal.c: Likewise.
	* grub-core/commands/testload.c: Likewise.

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in: Add explicit root argument to --set to
	prevent the UUID being interpreted as an argument to --set (matches
	previous change to prepare_grub_to_access_device).

2010-09-20  Colin Watson  <cjwatson@ubuntu.com>

	* kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
	on FreeBSD.  Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
	the verbosity of later #ifs.
	(find_partition_start): Define this function on FreeBSD too.
	(device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
	function.
	(grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
	on FreeBSD.

2010-09-20  Yves Blusseau  <blusseau@zetam.org>

	* util/grub-editenv.c: Use argp instead of getopt.

2010-09-20  Yves Blusseau  <blusseau@zetam.org>

	* util/grub-setup.c: Use argp instead of getopt.

2010-09-20  Yves Blusseau  <blusseau@zetam.org>

	Use gnulib-tool to create gnulib source files.

	* Add gnulib files generated by gnulib-tool in build-aux, m4 and
	grub-core/gnulib directories
	* .bzignore: Add **/.deps and autogenerated gnulib files
	* configure.ac: Assign auxiliary directory to build-aux, add invocation
	of gnulib macros, add grub-core/gnulib/Makefile
	* Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
	include m4 directory to aclocal.
	* Makefile.util.def: Remove direct compilation of gnulib source files
	and use the new grub-core/gnulib/libgnu.a.
	* build-aux/config.rpath: move config.rpath from top directory to
	build-aux
	* conf/Makefile.common: Remove the macro _GL_UNUSED already defined
	in gnulib headers
	* conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
	* grub-core/Makefile.core.def: Remove unnecessary extra_dist
	* grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
	header.
	* grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
	string.

2010-09-20  Yves Blusseau  <blusseau@zetam.org>

	* .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
	grub-core/genmod.sh and grub-core/gensyminfo.sh

2010-09-20  BVK Chaitanya  <bvk.groups@gmail.com>

	Add a test for echo command options.

	* tests/grub_cmd_echo.in: New test.
	* Makefile.util.def: Rules for new test.

2010-09-20  Szymon Janc <szymon@janc.net.pl>

	Remove crc.mod and move crc command to hashsum.mod.
	Remove lib/crc.c - users updated to use gcrypt implementation.

	* grub-core/commands/crc.c: Removed.
	* grub-core/Makefile.core.def (crc): Module removed.
	* grub-core/commands/hashsum.c (aliases[]): Add crc alias.
	* grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
	* grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
	* grub-core/lib/crc.c: Removed.
	* include/grub/lib/crc.h: Removed.
	* Makefile.util.def (crc): Remove lib/crc.c
	* grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
	* util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
	* Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
	* Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
	* Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
	* grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.

2010-09-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.

2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Split config.h for util and core.

	* acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
	(ADDR32): Likewise.
	(DATA32): Likewise.
	(BSS_START_SYMBOL): Likewise.
	(END_SYMBOL): Likewise.
	(NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
	(grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
	* config.h.in: New file.
	* configure.ac: Use config-util.h as config define file.
	Rename MACHINE into GRUB_MACHINE. All users updated.
	(NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
	updated.
	(NESTED_FUNC_ATTR): Likewise.
	Substitue new variables.
	(COND_HAVE_ASM_USCORE): New conditional.
	* grub-core/Makefile.am (ASM_PREFIX): New variable.
	(kernel_syms.lst): Use ASM_PREFIX.
	* grub-core/kern/emu/console.c: Include config-util.h.
	* grub-core/kern/emu/misc.c: Likewise.
	* grub-core/kern/emu/mm.c: Likewise.
	* include/grub/emu/misc.h: Likewise.
	* include/grub/libgcc.h: Likewise.

2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
	constants usage.
	* grub-core/kern/emu/console.c (grub_ncurses_getkey):
	Fix GRUB_TERM_KEY_* constants usage.
	* grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.

2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
	print pointer.
	* grub-core/bus/usb/uhci.c: Remove empty define.
	(grub_uhci_check_transfer): Add missing cast.
	* grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
	print pointer.
	* grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
	PRIuGRUB_SIZE.
	* include/grub/types.h (PRIuGRUB_SIZE): New definition.

2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (legacycfg): Add
	lib/i386/pc/vesa_modes_table.c on emu.

2010-09-19  BVK Chaitanya  <bvk.groups@gmail.com>

	Reduce number of temporary files generated by build system.

	* grub-core/gencmdlist.sh: Removed.
	* grub-core/genfslist.sh: Removed.
	* grub-core/genhandlerlist.sh: Removed.
	* grub-core/genmodsrc.sh: Removed.
	* grub-core/genpartmaplist.sh: Removed.
	* grub-core/genparttoollist.sh: Removed.
	* grub-core/gentermiinallist.sh: Removed.
	* grub-core/genvideolist.sh: Removed.

	* grub-core/genmod.sh.in: New file.
	* grub-core/gensyminfo.sh.in: New file.

	* conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
	* conf/Makefile.extra-dist: Update with new files.
	* gentpl.py: Remove rules related to unnecessary temporary files.
	* grub-core/Makefile.am (syminfo.lst): New replacement for def-*
	and und-* files.
	* grub-core/Makefile.core.def: New rules for gensyminfo.sh and
	genmod.sh scripts.
	* grub-core/bus/usb/uhci.c: Remove empty #define.
	* grub-core/genmoddep.awk: Updated with new syminfo format.
	* util/bash-completion.d/Makefile.am: Add config.log to
	CLEANFILES.

2010-09-19  Yves Blusseau  <blusseau@zetam.org>

	* Makefile.util.def: Add forgotten $(LIBINTL) library.

2010-09-19  BVK Chaitanya  <bvk.groups@gmail.com>

	* util/grub-mkconfig.in: Check the config script for syntax errors
	before saving.

2010-09-19  Colin Watson  <cjwatson@ubuntu.com>
2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-install): Use util/grub-install.in on all
	platforms.
	* util/grub-install.in: Add EFI and IEEE1275 support.
	* util/i386/efi/grub-install.in: Removed.
	* util/ieee1275/grub-install.in: Likewise.

2010-09-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/i386/cmostest.c (+parse_args): New function.
	(grub_cmd_cmosclean): Likewise.
	(GRUB_MOD_INIT): Register command cmosclean.
	* util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
	* util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.

2010-09-18  Carles Pina i Estany  <carles@pina.cat>
2010-09-18  Aleš Nesrsta <starous@volny.cz>
2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Add keyboard layouts support.

	* Makefile.util.def (grub-mklayout): New file.
	(grub-kbdcomp): New script.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
	Add keyboard_layouts.h.
	* grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
	commands/boot.c on yeeloong.
	(keylayouts): New module.
	* grub-core/bus/usb/ohci.c
	* grub-core/bus/usb/uhci.c
	* grub-core/bus/usb/usbhub.c (rescan): New variable.
	(grub_usb_add_hub): Poll interrupt pipe for device handling.
	(attach_root_port): Likewise.
	(poll_nonroot_hub): Likewise.
	(grub_usb_poll_devices): Likewise.
	(detach_device): Close transfer.
	* grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
	function.
	(grub_usb_bulk_setup_readwrite): Likewise.
	(grub_usb_bulk_finish_readwrite): Likewise.
	* grub-core/commands/keylayouts.c: New file.
	* grub-core/commands/keystatus.c (grub_getkeystatus): New function.
	* grub-core/commands/menuentry.c (hotkey_aliases): All several new
	aliases.
	* grub-core/term/at_keyboard.c: Restructured to use keylayouts and
	support scancode 2.
	* grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
	* include/grub/keyboard_layouts.h: New file.
	* util/grub-mklayout.c: New file.
	* util/grub-kbdcomp.in: Likewise.

2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify memory types.

	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
	* grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
	types.
	* grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
	(grub_upper_mem): Likewise.
	* grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
	* include/grub/memory.h (grub_memory_type_t): New enum.
	All users updated.

2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (lsapm): New module.
	* grub-core/commands/i386/pc/lsapm.c: New file.
	* grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
	* grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
	Likewise.
	* include/grub/i386/pc/apm.h: New file.
	* include/multiboot.h (multiboot_apm_info): New struct.

2010-09-18  Vladimir Serbinenko  <phcoder@gmail.com>

	GRUB-legacy configuration file support.

	* Makefile.util.def (grub-menulst2cfg): New util.
	* docs/man/grub-menulst2cfg.h2m: New file.
	* grub-core/Makefile.core.def (legacycfg): New module.
	* grub-core/commands/legacycfg.c: New file.
	* grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
	(grub_normal_add_menu_entry): ... this.
	* grub-core/commands/password.c (grub_cmd_password): Split main part to ...
	(grub_normal_set_password): ...this.
	* grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
	* grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
	* grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
	* grub-core/lib/legacy_parse.c: New file.
	* grub-core/normal/auth.c (grub_cmd_authenticate): New command.
	* include/grub/i386/pc/vesa_modes_table.h: New file.
	* include/grub/legacy_parse.h: Likewise.
	* include/grub/normal.h (grub_normal_add_menu_entry): New proto.
	* util/grub-menulst2cfg.c: New file.

2010-09-17  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Initialise node.

2010-09-17  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Fix devmapper memory pool
	leak.
	Reported and based on patch by: Modestas Vainius.

2010-09-17  Colin Watson  <cjwatson@ubuntu.com>

	Fix DM-RAID probing with recent versions of device-mapper udev
	rules.

	* grub-core/kern/emu/hostdisk.c (read_device_map): Don't
	canonicalise device paths under /dev/mapper/.
	(convert_system_partition_to_system_disk): Compare the
	uncanonicalised path to /dev/mapper/ rather than the canonicalised
	path, since device nodes under /dev/mapper/ are often symlinks.

2010-09-17  Yves Blusseau  <blusseau@zetam.org>

	* .bzrignore: *.d removed (old rule), add *.image and symlist.h.

2010-09-16  Yves Blusseau  <blusseau@zetam.org>

	* configure.ac: Avoid some annoying error messages if freetype-config
	program is not found.

2010-09-16  Colin Watson  <cjwatson@ubuntu.com>

	Support RAID on virtio devices, and others.

	* grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
	Rename to ...
	[__MINGW32__] (grub_find_device): ... this.
	[! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
	[! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this.  Use a
	reasonable default if dir is NULL.
	[! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
	...
	[! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
	(grub_guess_root_device): Update callers.
	* include/grub/emu/getroot.h (grub_find_device): Add prototype.

	* util/raid.c (grub_util_getdiskname): Remove.
	(grub_util_raid_getmembers): Use grub_find_device rather than
	grub_util_getdiskname.

2010-09-16  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (serial): Remove obsolete comment about GRUB
	needing to be compiled with serial support.
	(ls): Indicate that multiple files are accepted.
	* grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
	indicate that multiple files are accepted.

2010-09-16  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
	libgrub_a_init.c, and util/bash-completion.d/grub.

2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-setup.c (setup): Fix incorrect container semantics.

2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
	misusage.
	Reported by: J. Nick Terry

2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Move embedding routines to partmap sources files.

	* grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
	[GRUB_UTIL]: New variable.
	(gpt_partition_map_iterate): Set part.parent.
	(gpt_partition_map_embed) [GRUB_UTIL]: New function.
	(grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
	* grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
	New function.
	(grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
	* include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
	(grub_partition_map) [GRUB_UTIL]: New field embed.
	* util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
	(setup): Use ->embed.

2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
	function.
	* include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
	* util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.

2010-09-15  Yves Blusseau  <blusseau@zetam.org>

	Add function to get completions from usage.

	* util/bash-completion.d/grub-completion.bash.in: Add function to get
	completions from usage. Use LC_ALL=C to get options properly.

2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/basename-lgpl.c: Imported.
	* grub-core/gnulib/basename.c: Likewise.
	* grub-core/gnulib/dirname-lgpl.c: Likewise.
	* grub-core/gnulib/dirname.c: Likewise.
	* grub-core/gnulib/dirname.h: Likewise.
	* grub-core/gnulib/stripslash.c: Likewise.

2010-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/gnulib/error.c: Resynced.
	* grub-core/gnulib/getopt.c: Likewise.
	* grub-core/gnulib/getopt_int.h: Likewise.
	* grub-core/gnulib/regex.h: Likewise.
	* grub-core/gnulib/regex_internal.c: Likewise.
	* grub-core/gnulib/regex_internal.h: Likewise.

2010-09-15  Szymon Janc <szymon@janc.net.pl>

	* grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
	CRC calculations and validity checks.
	* grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
	calculations.

2010-09-15  Szymon Janc <szymon@janc.net.pl>

	* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix incorrect echo options handling.
	Reported by: Yves Blusseau.

	* include/grub/command.h (grub_command_flags_t): New flags
	GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
	* grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
	* grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
	users updated.
	(GRUB_COMMAND_FLAG_MENU): Likewise.
	(GRUB_COMMAND_FLAG_BOTH): Likewise.
	(GRUB_COMMAND_FLAG_TITLE): Removed.
	(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
	(GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
	(GRUB_COMMAND_FLAG_DYNCMD): Likewise.
	(GRUB_COMMAND_FLAG_BLOCKS): Likewise.
	(grub_command_flags_t): New enum. All users updated.

2010-09-14  Seth Goldberg <seth.goldberg@oracle.com>

	Fix solaris compilation.

	* grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
	(grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
	(grub-emu-list): Likewise.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove deprecated root command.

	* grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
	updated.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/i386/pc/grub-setup.c: Merge this ...
	* util/sparc64/ieee1275/grub-setup.c:  ... and this ...
	* util/grub-setup.c: ... into this.
	* include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
	New struct.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
	possible.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
	allocate p.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
	explicit root argument to set to prevent UUID to be interpreted as
	argument to set.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't export grub_gate_a20.

	* grub-core/kern/i386/pc/init.c: Remove leftovers.
	* grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
	to ...
	(grub_gate_a20): ... this. All users updated.
	* include/grub/i386/pc/init.h: Removed. All users updated.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Create euro.pf2 which supports most European languages.

	* Makefile.am (grubdata_DATA): Add euro.pf2.
	(euro.pf2): New target.
	(CLEANFILES): Add euro.pf2.

2010-09-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Disable emu-usb by default to prevent inadvertent
	device takeover.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Disable usbserial on grub-emu since our libusb code isn't good enough
	yet.

	* grub-core/Makefile.core.def (usbserial_common): Disable on emu.
	(usbserial_pl2303): Likewise.
	(usbserial_ftdi): Likewise.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/disk.h (grub_disk): Remove has_partitions.
	All users updated.
	* disk/loopback.c (grub_loopback): Remove has_partitions.
	All users updated.
	(options): Remove partitions. All users updated.
	* util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
	* util/i386/pc/grub-setup.c (setup): copy partition table only when
	actual partition table is found.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove readability checks (too many false negatives).

	* util/grub-install.in: Remove readability checks.
	* util/grub-mkconfig.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
	way.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable acpi shutdown on all ACPI platforms.

	* grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
	on coreboo, multiboot and EFI.
	* grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
	(grub_acpi_halt): Likewise.
	* grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
	(grub_cmd_halt): Don't call grub_acpi_halt directly.
	* grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
	* grub-core/lib/i386/halt.c (grub_halt)
	[GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
	context.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/video/efi_gop.c: Fix over-80-chars line.
	* grub-core/video/efi_uga.c: Likewise.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Filter devaliases and never open same device twice.

	* grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
	(last_ihandle): Likewise.
	(ofdisk_hash_ent): New member shortest.
	(ofdisk_hash_add): Add canonical path too.
	(scan): New function.
	(grub_ofdisk_iterate): Iterate over hashed entries.
	(compute_dev_path): Don't add :0.
	(grub_ofdisk_open): Don't really open the disk.
	(grub_ofdisk_close): Avoid closing unrelated disk.
	(grub_ofdisk_read): Implement reopen logic.
	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
	New function.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
	New proto.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix sparc64.

	* configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
	* grub-core/Makefile.core.def (kernel): Make ldflags just use the
	right address. Add sparc64_ieee1275_ldflags.
	* grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
	* util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
	to grub_host_to_target_addr
	(load_image): Likewise.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/completion.c (complete_file): Handle device
	containing slash.
	Fix based on patch by Doug Nazar.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	grub-mknetdir script.

	* Makefile.util.def (grub-mknetdir): New module.
	* tests/util/grub-shell.in: Support boot=net
	* util/grub-mknetdir.in: New file.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	videoinfo on non-vbe.

	* grub-core/Makefile.core.def (vbeinfo): Removed.
	(vbetest): Removed.
	(videoinfo): New module.
	* grub-core/commands/i386/pc/vbeinfo.c: Removed.
	* grub-core/commands/i386/pc/vbetest.c: Removed.
	* grub-core/commands/videoinfo.c: New file.
	* grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
	specification.
	(grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
	as vbetest.
	(GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
	(GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
	* grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
	mode_number. New parameter mode. All users updated.
	(grub_video_gop_iterate): New function.
	(grub_video_efi_gop): New member iterate.
	* grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
	(grub_vbe_set_video_mode): Remove setting useless fields.
	(vbe2videoinfo): New function.
	(grub_video_vbe_iterate): Likewise.
	(grub_video_vbe_setup): Use vbe2videoinfo.
	(grub_video_vbe_print_adapter_specific_info): New function.
	(grub_video_vbe_adapter): New fields iterate and
	print_adapter_specific_info.
	* include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
	All users updated.
	(grub_video_mode_info): New field mode_number.
	(grub_video_adapter): New fields iterate and
	print_adapter_specific_info.

2010-09-13  Tristan Gingold  <gingold@free.fr>
2010-09-13  Robert Millan  <rmh.grub@aybabtu.com>
2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/efi/lsefisystab.c: New file.
	* grub-core/commands/efi/lssal.c: Likewise.
	* grub-core/Makefile.core.def (lsacpi): New module.
	(lsefisystab): Likewise.
	* include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
	(GRUB_EFI_HCDP_TABLE_GUID): Likewise.
	(grub_efi_sal_system_table): New struct.
	(grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
	(grub_efi_sal_system_table_memory_descriptor): Likewise.
	(grub_efi_sal_system_table_platform_features): Likewise.
	(grub_efi_sal_system_table_translation_register_descriptor): Likewise.
	(grub_efi_sal_system_table_purge_translation_coherence): Likewise.
	(grub_efi_sal_system_table_ap_wakeup): Likewise.
	* include/grub/types.h (PRIuGRUB_UINT64_T): New definition.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Support explicit user claim that a device is BIOS-visible.

	* grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
	Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
	* grub-core/kern/emu/hostdisk.c
	(convert_system_partition_to_system_disk): Support mdX.
	(find_system_device): New parameter add. All users updated.
	(grub_util_biosdisk_is_present): New function.
	* include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
	proto.

2010-09-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Search hints support.

	* commands/search.c (FUNC_NAME): New arguments hints and nhints.
	All users updated.

2010-09-13  Yves Blusseau  <blusseau@zetam.org>

	Bash completion script for util commands

	* Makefile.am:  Add util/bash-completion.d directory
	* configure.ac: Likewise.
	* util/bash-completion.d/Makefile.am: New file.
	* util/bash-completion.d/grub-completion.bash.in: Likewise.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
	(print_backlog): set backlog_ucs4 and backlog_glyphs.
	Reported by: Yves Blusseau.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/misc.c (grub_normal_print_device_info): Show
	partition size and offset.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/wildcard.c (make_regex): Escape brackets.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
	(grub_xvasprintf): Likewise.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
	args ending with NULL.

2010-09-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
	pointer.

2010-09-11  Szymon Janc <szymon@janc.net.pl>

	* grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.

2010-09-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Shutdown using ACPI.

	* grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
	* grub-core/commands/acpihalt.c: New file.
	* grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
	* include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
	(grub_acpi_halt): New proto.
	(GRUB_ACPI_SLP_EN): New const.
	(GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
	(GRUB_ACPI_OPCODE_*): New enum.
	(GRUB_ACPI_EXTOPCODE_*): Likewise.

2010-09-11  Tristan Gingold  <gingold@free.fr>
2010-09-11  Robert Millan  <rmh.grub@aybabtu.com>
2010-09-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/lsacpi.c: New file.
	* grub-core/Makefile.core.def (lsacpi): New module.
	* include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
	(GRUB_ACPI_MADT_SIGNATURE): Likewise.
	(grub_acpi_madt_entry_header): New struct.
	(grub_acpi_madt): Likewise.
	(grub_acpi_madt_entry_interrupt_override): Likewise.
	(grub_acpi_madt_entry_sapic): Likewise.
	(grub_acpi_madt_entry_lsapic): Likewise.
	(grub_acpi_madt_entry_platform_int_source): Likewise.
	* include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
	(PRIuGRUB_UINT32_T): Likewise.
	(PRIxGRUB_UINT64_T): Likewise.

2010-09-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement loading palette on ieee1275_fb.

	* grub-core/video/ieee1275.c (stdout_ihandle): New variable.
	(have_setcolors): Likewise.
	(grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
	(grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
	(grub_video_ieee1275_set_palette): Implement.

2010-09-11  Vladimir Serbinenko  <phcoder@gmail.com>
2010-09-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in (grub_partition): New variable.
	Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
	* util/i386/pc/grub-setup.c (setup): Don't touch prefix.
	Fixes a bug reported by Yves Blusseau.

2010-09-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix emu on mipsel.

	* conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
	=grub_cpu_flush_cache on all mips and not only yeeloong.
	* configure.ac (COND_mips): New conditional.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
	platforms.
	* grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
	* grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
	[GRUB_LINKER_HAVE_INIT]: New function.
	(grub_emu_post_init): Likewise.
	* grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
	* grub-core/kern/emu/main.c: Use grub_emu_post_init.
	* include/grub/cache.h (_mips): Include mips/cache.h.
	* include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
	LVM and RAID prototypes.
	* include/grub/emu/misc.h (grub_emu_post_init): New proto.
	* include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
	function.

2010-09-10  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Don't try to verify core.img until after
	running grub-mkimage to create it.

2010-09-10  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_hurd.in: Add misc readability checks.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.

2010-09-10  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: ${imgext} won't be defined here until the
	install branch is merged.  For the meantime, only verify core.img on
	i386-pc and sparc64-ieee1275 platforms.

2010-09-10  Robert Millan  <rmh@gnu.org>

	Solaris support in grub_find_zpool_from_dir().  Thanks
	Seth Goldberg for referring to getextmntent() facility.

	* configure.ac: Check for getextmntent(), `sys/mnttab.h' and
	`sys/mkdev.h'.
	* grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
	`<sys/mnttab.h>'.
	[HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
	[HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
	method for finding zpool name.

2010-09-10  Colin Watson  <cjwatson@ubuntu.com>

	grub-fstest needs the host and hostfs modules while other utilities
	actively require those modules to be absent, so grub-fstest needs
	its own initialisation and finalisation code.

	* Makefile.am (grub_fstest.pp): New target.
	(grub_fstest_init.lst): Likewise.
	(grub_fstest_init.c): Likewise.
	* Makefile.util.def (grub-fstest): Add grub_fstest_init.c.

2010-09-10  Robert Millan  <rmh@gnu.org>

	* configure.ac: Check for `struct statfs.f_fstypename' and
	`struct statfs.f_mntfromname'.

	* grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
	kFreeBSD-specific code.

2010-09-10  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
	on ZFS.  Now non-main filesystems are supported as / too.

2010-09-09  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
	and grub-core/disk/host.c to ...
	(grub-fstest): ... here.  Having the host disk implementation
	present confuses grub-probe and other utility programs.

	* util/grub-mkconfig.in: Only verify readability of grub.cfg.new
	when writing to a file, not when writing to stdout.

2010-09-09  BVK Chaitanya  <bvk.groups@gmail.com>

	* tests/partmap_test.in: New test for partitions.
	* Makefile.util.def: Rules for new test.

2010-09-09  Robert Millan  <rmh@gnu.org>

	* util/grub-probe.c (probe): Fix a pair of unhandled error
	conditions.

2010-09-09  Robert Millan  <rmh@gnu.org>

	Basic Btrfs support (detection and UUID).

	* grub-core/fs/btrfs.c: New file.
	* Makefile.util.def (library): Register btrfs.c.
	* grub-core/Makefile.core.def: Likewise.

2010-09-08  Robert Millan  <rmh@gnu.org>

	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
	with (optional) parameters to specify device and relative path.
	* util/grub-install.in: Use is_path_readable_by_grub() to
	verify readability of a few critical files.
	* util/grub-mkconfig.in: Use is_path_readable_by_grub() to
	verify readability of grub.cfg.new.

2010-09-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Split minix.mod into minix.mod and minix2.mod.

	* Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
	* grub-core/Makefile.core.def (minix2): New module.
	* grub-core/fs/minix.c: Use definitions instead of runtime version
	checking.
	* grub-core/fs/minix2.c: New file.

2010-09-08  Yves Blusseau  <blusseau@zetam.org>

	Add new --boot-directory option to replace --root-directory

	* util/grub-install.in: Add new --boot-directory option
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.

2010-09-08  Yves Blusseau  <blusseau@zetam.org>

        * util/grub-mkconfig.in: Use new variable.

2010-09-08  Yves Blusseau  <blusseau@zetam.org>

	* configure.ac: Define some useful variables.

2010-09-08  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
	* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
	Use terminfo and don't use cursor-on/cursor-off unless it's known
	to work.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
	GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.

2010-09-08  Colin Watson  <cjwatson@ubuntu.com>

	* grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
	starts with "(,", fill the drive containing the loaded image in
	between those two characters, but expect that a full partition
	specification including partition map names will follow.

2010-09-08  Robert Millan  <rmh@gnu.org>

	* configure.ac: Remove `--enable-grub-fstest' option.
	* Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.

	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
	`grub-fstest' instead of `grub-probe' for readability verification.
	* util/grub-probe.c (probe): Remove readability verification kludge.

2010-09-08  Robert Millan  <rmh@gnu.org>

	* util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
	initializing `GRUB_FS'.

2010-09-08  BVK Chaitanya  <bvk.groups@gmail.com>

	Not command (!) support to GRUB script.

	* tests/grub_script_not.in: New test.
	* Makefile.util.def: Rules for new test.

	* grub-core/script/execute.c (grub_script_execute_cmdline): Handle
	! command as a special case.
	* grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.

2010-09-07  BVK Chaitanya  <bvk.groups@gmail.com>

	* grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
	grub_free.

2010-09-07  BVK Chaitanya  <bvk.groups@gmail.com>

	* docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.

2010-09-07  BVK Chaitanya  <bvk.groups@gmail.com>

	* docs/grub.texi (Shell-like scripting): Documentation for break,
	continue, shift and return commands.

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

	Rename CD-ROM to cd on BIOS.

	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
	"cd".
	(grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
	* util/grub-probe.c (main): Likewise.
	* util/i386/pc/grub-setup.c (main): Likewise.
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
	Reported and debugged by: alexxy

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
	diagnostic info.

2010-09-05  Jo Shields <directhex@apebox.org>

	* util/grub.d/30_os-prober.in: Add missing classes.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Theme file format): Document new position format.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Theme file format): Replace Box_slice_names.png with
	a table. Use @code instead of @verbatim.

2010-09-05  Colin D Bennett  <colin@gibibit.com>

	Gfxmenu documentation.

	* docs/grub.texi (Theme file format): New chapter.

2010-09-05  Szymon Janc <szymon@janc.net.pl>

	* grub-core/Makefile.core.def (xzio): New module.
	* grub-core/io/xzio.c: New file.
	* grub-core/lib/xzembed/xz.h: New file (from xembed).
	* grub-core/lib/xzembed/xz_config.h: Likewise.
	* grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
	* grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
	* grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
	* grub-core/lib/xzembed/xz_lzma2.h: Likewise.
	* grub-core/lib/xzembed/xz_private.h: Likewise.
	* grub-core/lib/xzembed/xz_stream.h: Likewise.
	* include/grub/file.h (grub_file_filter_id): New compression filter
	GRUB_FILE_FILTER_XZIO.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
	* grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
	size.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
	GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Uncompressed checksum support.

	* grub-core/commands/hashsum.c (options): Add option --uncompress.
	(check_list): New parameter uncompress.
	(grub_cmd_hashsum): Handle --uncompress.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Reintroduce testload.

	* grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
	from here ...
	* grub-core/commands/testload.c (grub_cmd_testload): ... here.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/Makefile.core.def (testload): New module.

2010-09-05  Szymon Janc <szymon@janc.net.pl>

	* grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
	(uint8_t): New type.
	(uint16_t): Likewise.
	(uint32_t): Likewise.
	(uint64_t): Likewise.

2010-09-05  Szymon Janc <szymon@janc.net.pl>

	* include/grub/crypto.h (GRUB_MD_CRC32): New definition.

2010-09-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
	Made static.
	(grub_gzfile_open): Removed. All users updated.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/kern/file.c (grub_file_filters_all): New variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_open): Handle filters.
	* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
	* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
	* include/grub/file.h (grub_file_filter_id_t): New type.
	(grub_file_filter_t): Likewise.
	(grub_file_filters_all): New extern variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_filter_register): New inline function.
	(grub_file_filter_unregister): Likewise.
	(grub_file_filter_disable): Likewise.
	(grub_file_filter_disable_compression): Likewise.
	* include/grub/gzio.h: Removed.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	Filename expansion support for wildcards in GRUB script.

	* tests/grub_script_expansion.in: New test.
	* Makefile.util.def: Rule for new test.

	* grub-core/commands/wildcard.c: New file, implements filename
	expansion support for GRUB script.
	* grub-core/Makefile.core.def: Rule update for regexp.mod.
	* grub-core/script/argv.c: Cosmetic changes.
	* grub-core/script/execute.c (grub_script_arglist_to_argv):
	Refactored to perform wildcard expansion on arguments.
	* include/grub/script_sh.h (grub_script_wildcard_translator): New
	struct.

	* tests/util/grub-shell.in: Fix quoting for read input.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	Support for updating environment variables with matched substrings
	of regexp.

	* tests/grub_cmd_regexp.in: New test.
	* Makefile.util.def: Rule for new test.

	* grub-core/commands/regexp.c: New option -s to update environment
	variables with regexp matches.

2010-09-04  Szymon Janc <szymon@janc.net.pl>

	* include/grub/file.h (grub_file): New member not_easly_seekable.
	(grub_file_seekable): New inline function.
	* grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
	easily seekable.
	(grub_gzio_open): Set not_easly_seekable.
	* grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
	* grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	Support for options to appear multiple times on cmdline.

	* include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
	* grub-core/commands/extcmd.c: Support for repeatable option.
	* grub-core/lib/arg.c (grub_arg_list_alloc): New function for
	repeatable option support.

	Refactor menuentry into a regular command.

	* grub-core/commands/menuentry.c: New file, menuentry command
	implementation.
	* grub-core/Makefile.core.def: Rule update for normal.mod.
	* grub-core/normal/main.c: Moved menuentry creation to
	grub-core/commands/menuentry.c.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
	(grub_menu_execute_entry_real): Removed.
	* grub-core/script/execute.c (grub_script_execute_sourcecode): New
	function.
	(grub_script_execute_menuentry): Removed.
	* grub-core/script/parser.y (menuentry): Removed.
	* grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
	* grub-core/script/yylex.l (menuentry): Removed.
	* include/grub/menu.h (grub_menu_init): New prototype.
	(grub_menu_fini): New prototype.
	* include/grub/normal.h (grub_normal_add_menu_entry): Removed.
	* include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
	(grub_script_execute_sourcecode): New prototype.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	"return" command for GRUB script functions.

	* tests/grub_script_return.in: New test.
	* Makefile.util.def: Rules for new test.

	* grub-core/script/execute.c (grub_script_return): New function.
	* grub-core/script/main.c: Register/unregister return commaond.
	* include/grub/script_sh.h (grub_script_return): New prototype.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	"setparams" command to update positional parameters.

	* tests/grub_script_setparams.in: New test.
	* Makefile.util.def: Rules for new test.

	* grub-core/script/argv.c (grub_script_argv_make): New function.
	* grub-core/script/execute.c (replace_scope): New function.
	(grub_script_setparams): New function.
	* grub-core/script/lexer.c: Remove unused variables.
	* grub-core/script/main.c: Register/unregister setparams command.
	* include/grub/script_sh.h (grub_script_argv_make): New prototype.
	(grub_script_setparams): New prototype.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	* grub-core/normal/completion.c (grub_normal_do_completion): Fix
	grub_free order.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	Support for passing block of commands as an argument to extcmds.

	* Makefile.util.def: Rules for new test.
	* tests/grub_script_blockarg.in: New test.
	* grub-core/tests/test_blockarg.c: New file, block argument
	command used in the test.

	* include/grub/extcmd.h (grub_extcmd_context): New struct.
	(grub_register_extcmd_prio): New function prototype.
	(grub_extcmd_dispatcher): New function prototype.
	* include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
	type.
	* include/grub/script_sh.h (struct grub_script): New members
	`children', `next_siblings' and `refcnt' for block arguments and
	reference counting.
	(GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
	(grub_script_arg): New member `script' for block argument.
	(grub_script_argv): New member `script' for block argument.
	(grub_parser_param): New member `scripts' for block argument.
	(grub_script_mem_free): New extern function prototype.
	(grub_script_ref): New function prototype.
	(grub_script_unref): New function prototype.

	* grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
	extcmd form to support block arguments.
	* grub-core/script/argv.c: Block arguments support.
	* grub-core/script/execute.c: Likewise.
	* grub-core/script/lexer.c: Likewise.
	* grub-core/script/main.c: Likewise.
	* grub-core/script/script.c: Likewise.
	* grub-core/script/parser.y: Likewise.  New `block' and `block0'
	non-terminals.

	* grub-core/commands/acpi.c: Update extcmd implementations with
	grub_extcmd_context_t.
	* grub-core/commands/cat.c: Likewise.
	* grub-core/commands/echo.c: Likewise.
	* grub-core/commands/extcmd.c: Likewise.
	* grub-core/commands/hashsum.c: Likewise.
	* grub-core/commands/hdparm.c: Likewise.
	* grub-core/commands/help.c: Likewise.
	* grub-core/commands/hexdump.c: Likewise.
	* grub-core/commands/i386/cpuid.c: Likewise.
	* grub-core/commands/i386/pc/drivemap.c: Likewise.
	* grub-core/commands/i386/pc/halt.c: Likewise.
	* grub-core/commands/i386/pc/sendkey.c: Likewise.
	* grub-core/commands/iorw.c: Likewise.
	* grub-core/commands/keystatus.c: Likewise.
	* grub-core/commands/loadenv.c: Likewise.
	* grub-core/commands/ls.c: Likewise.
	* grub-core/commands/lspci.c: Likewise.
	* grub-core/commands/memrw.c: Likewise.
	* grub-core/commands/probe.c: Likewise.
	* grub-core/commands/search_wrap.c: Likewise.
	* grub-core/commands/setpci.c: Likewise.
	* grub-core/commands/sleep.c: Likewise.
	* grub-core/disk/loopback.c: Likewise.
	* grub-core/hello/hello.c: Likewise.
	* grub-core/loader/i386/bsd.c: Likewise.
	* grub-core/loader/xnu.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* grub-core/term/serial.c: Likewise.
	* grub-core/tests/lib/functional_test.c: Likewise.

2010-09-04  BVK Chaitanya  <bvk.groups@gmail.com>

	Multi-line quoted strings support.

	* grub-core/script/lexer.c (append_newline): Removed.
	(grub_script_lexer_yywrap): Refactored.
	(grub_script_lexer_init): Refactored.
	* grub-core/script/yylex.l (yywrap): New function.
	(grub_lexer_resplit): New function.
	(grub_lexer_unput): New function.
	* include/grub/script_sh.h (grub_lexer_param): New members, unput
	and resplit.
	* tests/grub_script_echo1.in: Added few more testcases.

2010-09-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c: Don't add abort alias in utils.
	Reported by: echoline.

2010-09-03  BVK Chaitanya  <bvk.groups@gmail.com>

	Add missing files into "make dist" tarball for other platforms.

	* gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
	* conf/Makefile.common (dist_noinst_DATA): New variable.
	* conf/Makefile.extra-dist: Added missing make dist files.
	* grub-core/Makefile.core.def: Likewise.

2010-09-03  Vladimir Serbinenko  <phcoder@gmail.com>

	Compress grub_prefix.

	* grub-core/boot/i386/pc/lnxboot.S: Use
	GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
	* grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
	* include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
	GRUB_MACHINE_PREFIX_END. All users updated.
	(GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
	(GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
	+ 0x40.
	(GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
	* util/grub-mkimage.c (image_target_desc): Change data_end to
	prefix_end. All users updated.

2010-09-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
	value.
	(grub_openbsd_boot): Likewise.
	(grub_netbsd_boot): Likewise.
	* grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
	(grub_xnu_boot): Likewise.

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

	* configure.ac: Clean LIBS variable after tests.

2010-09-02  Colin Watson  <cjwatson@ubuntu.com>

	* INSTALL: Document that libdevmapper needs to be 1.02.34 or later.

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

	* configure.ac: Check for dm_log_with_errno_init in libdevmapper and
	echo if libdevmapper will be used.

2010-09-02  Ian Turner  <Ian.Turner@deshaw.com>

	* grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
	constant for the same file.

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

	* grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.

2010-09-02  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
	grub-core/*.pp.

2010-09-02  Colin Watson  <cjwatson@ubuntu.com>

	Zero %ebp and %edi when entering Linux's 32-bit entry point, as
	required by the boot protocol.

	* include/grub/i386/relocator.h (struct grub_relocator32_state): Add
	ebp and edi members.
	* grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
	state.ebp and state.edi.
	* grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
	%ebp and %edi according to grub_relocator32_ebp and
	grub_relocator32_edi respectively.
	* grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
	and state.edi.

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

	Add i386-pc-pxe image target.

	* util/grub-mkimage.c (image_target_desc): New enum value
	IMAGE_I386_PC_PXE.
	(image_targets): New target i386-pc-pxe.
	(generate_image): Handle i386-pc-pxe image.

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

	Fix grub_pxe_scan.

	* grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
	(grub_pxe_scan): Fix types and pxe_rm_entry computation.
	All users updated.
	* include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
	(grub_pxe_pxenv): Correct type.

2010-09-01  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: Document most of the important changes since 1.98.

2010-09-01  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in (usage): Tidy up usage output (and hence
	generated manual page) a little.

2010-09-01  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi: Add myself as an author.

2010-09-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (libgrub.a): Add missing sunpc.
	Reported by: Seth Goldberg.

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Interrupt wrapping and code simplifications.

	* Makefile.util.def (grub-mkrescue): Use x86 tg instead of
	x86_noieee1275 which are functionaly equivalent in this case.
	(grub-install): Make source on each platform explicit. Enable on
	all noemu.
	* gentpl.py (x86_efi_pc): Removed group.
	(x86_noefi): Likewise.
	(i386_noefi): Likewise.
	(x86_noieee1275): Likewise.
	(i386_noieee1275): Likewise.
	(i386_noefi_noieee1275): Likewise.
	(i386_pc_qemu_coreboot): Likewise.
	(i386_coreboot_multiboot): Likewise.
	(i386_pc_coreboot_multiboot_qemu): Likewise.
	(x86_noefi_mips): Likewise.
	(noieee1275): Likewise.
	(ieee1275_mips): Likewise.
	(noemu_noieee1275): Likewise.
	(cmos): New group.
	(usb): Likewise.
	(videoinkernel): Likewise.
	(videomodules): Likewise.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
	include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
	include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
	include/grub/loader.h, include/grub/msdos_partition.h,
	include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
	include/grub/machine/console.h, include/grub/machine/vga.h,
	include/grub/machine/vbe.h, include/grub/machine/init.h,
	include/grub/machine/kernel.h, include/grub/cpu/time.h,
	include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
	(KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
	(KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
	* grub-core/Makefile.core.def (kernel): Explicit the source for
	startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
	Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
	Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
	Use videoinkernel tag.
	(usb): Enable on all usb.
	(usbserial_common): Likewise.
	(usbserial_pl2303): Likewise.
	(usbserial_ftdi): Likewise.
	(uhci): Enable on all x86.
	(ohci): Enable on all pci.
	(cmostest): Enable on all CMOS.
	(acpi): Include commands/acpi.c on all platforms.
	(halt): Add relevant lib/*/halt.c.
	(hdparm): Enable on all pci.
	(lspci): Likewise.
	(usbtest): Enable on all usb.
	(ata): Enable on all pci.
	(ata_pthru): Likewise.
	(usbms): Enable on all usb.
	(usb_keyboard): Likewise.
	(font): Use tag videomodules.
	(bufio): Likewise.
	(datetime): Use tag cmos. Enable on all noemu.
	(mmap): Use tags common and x86.
	(gfxterm): Use tag videomodules.
	(bitmap): Likewise.
	(bitmap_scale): Likewise.
	(video_fb): Likewise.
	(video): Likewise.
	* grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
	adjust padding accordingly. All users updated.
	(grub_ohci_transaction): Fix bad format specification.
	(GRUB_MOD_INIT): Add asserts for struct size.
	* grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
	(grub_alloc_td): Likewise.
	(grub_free_queue): Likewise.
	(grub_uhci_transfer): Likewise.
	(grub_uhci_transaction): Fix bad format specification.
	* grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
	(grub_usb_bulk_readwrite): Likewise.
	* grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
	* grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
	Made static.
	* grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
	Made static.
	* grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
	* grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
	Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
	Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
	Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_check_int13_extensions): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
	Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_cdinfo_int13_extensions): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_diskinfo_int13_extensions): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_diskinfo_standard): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_diskinfo_standard): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_num_floppies): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_num_floppies): ... here.
	Transformed into C. Made static.
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
	New function.
	* grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
	* grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
	* grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/ieee1275/init.c: Removed.
	* grub-core/kern/i386/misc.S: Likewise.
	* grub-core/kern/i386/pc/startup.S (grub_get_memsize):
	Splitted from here ...
	* grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
	Moved from here...
	* grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
	Moved from here...
	* grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
	Removed (replaced by C version).
	* grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
	Moved from here...
	* grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S
	(grub_vbe_bios_getset_dac_palette_width):Moved from here...
	* grub-core/video/i386/pc/vbe.c
	(grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
	pxe_rm_entry as third argument.
	(grub_bios_interrupt): New function.
	* grub-core/kern/i386/qemu/mmap.c: Remove useless include.
	* grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
	of calling grub_stop.
	* grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
	* grub-core/lib/efi/halt.c (grub_halt): ...here.
	* grub-core/kern/emu/main.c (grub_halt): Moved from here ...
	* grub-core/lib/emu/halt.c (grub_halt): ... here.
	* grub-core/lib/i386/halt.c: Moved from here ...
	* grub-core/lib/i386/halt.c: ... here.
	* grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
	* grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
	* grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
	grub_stop_floppy.
	* grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
	* include/grub/i386/coreboot/init.h: Removed.
	* include/grub/i386/multiboot/init.h: Likewise.
	* include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
	* include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
	* include/grub/i386/pc/int.h: New file.
	* include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
	(grub_pxe_scan): Removed.
	(grub_pxe_call): Update prototype.
	* include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
	prototypes.
	* include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
	* include/grub/i386/qemu/init.h: Removed.
	* include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
	noreturn.
	(grub_halt): Likewise.
	* include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
	(grub_reboot): Likewise.
	* grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
	* include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
	* grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.

2010-08-30  Robert Millan  <rmh@gnu.org>

	* NEWS: Document addition of ZFS support in `grub-install' and
	`grub-mkconfig'.

2010-08-30  BVK Chaitanya  <bvk.groups@gmail.com>

	* conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
	dprintf output.

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove leftover embedding of font objects.

	* include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
	* util/grub-install.in (font): Removed.
	* util/grub-mkimage.c (generate_image): Remove font support. All users
	updated.

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove leftover embedding of font objects.

	* include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
	* util/grub-install.in (font): Removed.
	* util/grub-mkimage.c (generate_image): Remove font support. All users
	updated.

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Network): Fix reference to pxe_blksize.
	Reported by: Ian Turner

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
	timeout to avoid indefinite boot stalling.

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
	(grub_env_write_color_highlight): Likewise.

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (print_more): Return to normal and not
	to standard state after printing "---MORE---".

2010-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
	Mask out the bit 0x80 since it has other meaning that specifiing color.

2010-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	New relocator. Allows for more kernel support and more straightforward
	loader writing.

	* Makefile.am (BOOTTARGET): New variable.
	(QEMU32): Likewise.
	(linux.init.x86_64): New target.
	(linux.init.i386): Likewise.
	(multiboot.elf): Likewise.
	(kfreebsd.elf): Likewise.
	(kfreebsd.aout): Likewise.
	(pc-chainloader.elf): Likewise.
	(pc-chainloader.bin): Likewise.
	(ntldr.elf): Likewise.
	(ntldr.bin): Likewise.
	(multiboot2.elf): Likewise.
	(kfreebsd.init.x86_64): Likewise.
	(kfreebsd.init.i386): Likewise.
	(knetbsd.init.i386): Likewise.
	(kopenbsd.init.i386): Likewise.
	(knetbsd.init.x86_64): Likewise.
	(kopenbsd.init.x86_64): Likewise.
	(linux-initramfs.i386): Likewise.
	(linux-initramfs.x86_64): Likewise.
	(kfreebsd-mfsroot.i386.img): Likewise.
	(knetbsd.image.i386): Likewise.
	(kopenbsd.image.i386): Likewise.
	(kopenbsd.image.x86_64): Likewise.
	(knetbsd.miniroot-image.i386.img): Likewise.
	(kfreebsd-mfsroot.x86_64.img): Likewise.
	(knetbsd.image.x86_64): Likewise.
	(knetbsd.miniroot-image.x86_64.img): Likewise.
	(kfreebsd-mfsroot.i386.gz): Likewise.
	(bootcheck-kfreebsd-i386): Likewise.
	(kfreebsd-mfsroot.x86_64.gz): Likewise.
	(bootcheck-kfreebsd-x86_64): Likewise.
	(knetbsd.miniroot-image.i386.gz): Likewise.
	(bootcheck-knetbsd-i386): Likewise.
	(bootcheck-kopenbsd-i386): Likewise.
	(bootcheck-kopenbsd-x86_64): Likewise.
	(knetbsd.miniroot-image.x86_64.gz): Likewise.
	(bootcheck-knetbsd-x86_64): Likewise.
	(bootcheck-linux-i386): Likewise.
	(bootcheck-linux-x86_64): Likewise.
	(bootcheck-linux16-i386): Likewise.
	(bootcheck-linux16-x86_64): Likewise.
	(bootcheck-multiboot): Likewise.
	(bootcheck-multiboot2): Likewise.
	(bootcheck-kfreebsd-aout): Likewise.
	(bootcheck-pc-chainloader): Likewise.
	(bootcheck-ntldr): Likewise.
	(CLEANFILES): Add new targets.
	(BOOTCHECKS): New variable.
	(.PHONY): Add bootchecks.
	(SUCCESSFUL_BOOT_STRING): New variable.
	(BOOTCHECK_TIMEOUT): Likewise.
	(bootcheck): New target
	* Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
	* configure.ac: Correct efiemu excuse.
	* docs/grub.texi (Supported kernels): New chapter.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
	include/grub/mm_private.h. Simplify inclusion of
	include/grub/boot.h, include/grub/loader.h
	and include/grub/msdos_partition.h
	(KERNEL_HEADER_FILES) [i386_coreboot]:
	Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
	(KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
	(KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
	(KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
	include/grub/machine/loader.h.
	(KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
	* grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
	extra_dist.
	(pci.mod): Enable on i386-multiboot.
	(acpi.mod): Enable on i386-multiboot and i386-coreboot.
	(efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
	i386-qemu.
	(relocator.mod): Rewritten.
	(aout.mod): Enable on all x86.
	(bsd.mod): Likewise.
	(ntldr.mod): New module.
	(linux.mod): Use loader/i386/linux.c on all x86.
	(xnu.mod): Enable on all x86.
	(vga_text.mod): disable on EFI and QEMU.
	* grub-core/efiemu/i386/coredetect.c: Remove useless include.
	* grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
	* grub-core/efiemu/loadcore.c: Likewise.
	* grub-core/efiemu/main.c: Likewise.
	(grub_efiemu_exit_boot_services): Removed.
	(grub_efiemu_finish_boot_services): Likewise.
	* grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
	function.
	* grub-core/efiemu/i386/nocfgtables.c: New file.
	* grub-core/kern/dl.c (grub_dl_unload_all): Removed.
	* grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
	(grub_efi_finish_boot_services): Moved from here ...
	* grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
	Fille finish memory map and related data.
	(finish_mmap_buf): New variable.
	(grub_efi_uintn_t finish_mmap_size): Likewise.
	(grub_efi_uintn_t finish_key): Likewise.
	(grub_efi_uintn_t finish_desc_size): Likewise.
	(grub_efi_uint32_t finish_desc_version): Likewise.
	(grub_efi_is_finished): Likewise.
	(grub_efi_get_memory_map): Use saved memory map if EFI is already
	finished.
	* grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
	(grub_elf64_phdr_iterate): Likewise.
	* grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
	(grub_os_area_size): Likewise.
	(grub_machine_init): Don't reserve os area.
	* grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
	* grub-core/kern/i386/ieee1275/startup.S: Likewise.
	* grub-core/kern/i386/loader.S: Removed.
	* grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
	(grub_os_area_size): Likewise.
	(grub_machine_init): Don't reserve os area.
	* grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
	Don't call grub_dl_unload_all.
	Don't include loader.S.
	* grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
	Declare the memory after _end as available.
	* grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
	* include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
	(GRUB_MM_ALLOC_MAGIC): Moved from here...
	* include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
	* grub-core/kern/mm.c (grub_mm_header): Moved from here...
	* include/grub/mm_private.h (grub_mm_header): ... here.
	* grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
	* include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
	* grub-core/kern/mm.c (grub_mm_region): Moved from here ...
	(grub_mm_region): ..here. Removed addr. Added pre_size.
	All users updated.
	* grub-core/kern/mm.c (base): Renamed to ...
	(grub_mm_base): ... this. Made global.
	(grub_real_malloc): Alloc from end of region.
	(grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
	* grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
	* grub-core/kern/powerpc/cache_flush.S: ... here.
	* grub-core/lib/efi/relocator.c: New file.
	* grub-core/lib/i386/relocator.c: Rewritten.
	* grub-core/lib/i386/relocator16.S: New file.
	* grub-core/lib/i386/relocator32.S: Likewise.
	* grub-core/lib/i386/relocator64.S: Likewise.
	* grub-core/lib/i386/relocator_asm.S: Rewritten.
	* grub-core/lib/i386/relocator_common.S: New file.
	* grub-core/lib/ieee1275/relocator.c: Likewise.
	* grub-core/lib/mips/relocator.c: Rewritten.
	* grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
	stylistic adjustments.
	* grub-core/lib/powerpc/relocator.c: New file.
	* grub-core/lib/powerpc/relocator_asm.S: Likewise.
	* grub-core/lib/relocator.c: Rewritten.
	* grub-core/lib/x86_64/relocator_asm.S: New file.
	* grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
	* grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
	(bsd_tag): New struct.
	(tags): New variable.
	(tags_last): Likewise.
	(netbsd_module): New struct.
	(netbsd_mods): New variable.
	(netbsd_mods_last): Likewise.
	(openbsd_opts): New parameter "serial".
	(OPENBSD_SERIAL_ARG): New definition.
	(netbsd_opts): New parameter "serial".
	(NETBSD_SERIAL_ARG): New definition.
	(grub_freebsd_add_meta): Reorganised into ...
	(grub_bsd_add_meta): ...this. All users updated.
	(grub_freebsd_add_mmap): Reorganised into ...
	(generate_e820_mmap):  ...this...
	(grub_bsd_add_mmap): ...and this.  All users updated.
	(grub_freebsd_list_modules): Use tags.
	(grub_netbsd_add_meta_module): New function.
	(grub_netbsd_list_modules): Likewise.
	(grub_freebsd_boot): Use relocator and finish EFI.
	(grub_openbsd_boot): Likewise.
	(grub_netbsd_setup_video): New function.
	(grub_netbsd_add_modules): Likewise.
	(grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
	and finish EFI.
	(grub_bsd_unload): Unload tags.
	(grub_bsd_load_aout): Use relocator.
	(grub_bsd_elf32_size_hook): New function.
	(grub_bsd_elf32_hook): Use relocator.
	(grub_bsd_elf64_size_hook): New function.
	(grub_bsd_elf64_hook): Use relocator.
	(grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
	(grub_bsd_load): Zero-out openbsd_ramdisk.
	(grub_bsd_load): Use relocator.
	(grub_cmd_openbsd): Support serial.
	(grub_cmd_netbsd): Support modules.
	(grub_cmd_freebsd_module): Use relocator.
	(grub_netbsd_module_load): New function.
	(grub_cmd_netbsd_module): Likewise.
	(grub_cmd_openbsd_ramdisk): Likewise.
	(GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
	kopenbsd_ramdisk.
	(GRUB_MOD_FINI): Unregister new commands.
	* grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
	(grub_freebsd_load_elfmodule_obj): Use relocator.
	(grub_freebsd_load_elfmodule): Likewise.
	(grub_freebsd_load_elf_meta): Likewise.
	(grub_netbsd_load_elf_meta): New function.
	(grub_openbsd_find_ramdisk): Likewise.
	* grub-core/loader/i386/bsd_helper.S: Removed.
	* grub-core/loader/i386/bsd_pagetable.c: Support relocator.
	* grub-core/loader/i386/bsd_trampoline.S: Removed.
	* grub-core/loader/i386/efi/linux.c: Likewise.
	* grub-core/loader/i386/ieee1275/linux.c: Likewise.
	* grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
	(DEFAULT_VIDEO_MODE): Likewise.
	(real_mode_target): New variable.
	(prot_mode_target): Likewise.
	(initrd_mem_target): Likewise.
	(relocator): Likewise.
	(efi_mmap_buf): Likewise.
	(efi_mmap_size): Likewise.
	(find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
	(free_pages): Use relocator.
	(allocate_pages): Account for efi_mmap and use relocator. Return error.
	(grub_linux_setup_video): Return error.
	(grub_linux_trampoline_start): Removed.
	(grub_linux_trampoline_end): Likewise.
	(grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
	andd video parameters depending on firmware.
	[GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
	[GRUB_MACHINE_EFI]: Pass EFI parameters.
	(grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
	(grub_cmd_initrd): Use relocator.
	* grub-core/loader/i386/linux_trampoline.S: Removed.
	* grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
	(elf_sec_entsize): Likewise.
	(elf_sec_shstrndx): Likewise.
	(elf_sections): Likewise.
	(grub_multiboot_load): Use relocator.
	(grub_multiboot_get_mbi_size): Account for sections.
	(grub_multiboot_make_mbi): Use relocator and support sections.
	(grub_multiboot_add_elfsyms): New function.
	(grub_multiboot_free_mbi): Free sections.
	* grub-core/loader/i386/pc/linux.c (relocator): New variable.
	(grub_linux_real_target): Likewise.
	(grub_linux_real_chunk): Likewise.
	(grub_linux16_prot_size): Likewise.
	(grub_linux16_boot): Use relocator.
	(grub_linux_unload): Unload relocator.
	(grub_cmd_linux): Use relocator.
	(grub_cmd_initrd): Likewise.
	* grub-core/loader/i386/pc/ntldr.c: New file.
	* grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
	Don't try to guess CPU frequency.
	(grub_xnu_set_video): Stretch bitmap.
	(grub_xnu_boot): Use relocator.
	* grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
	(grub_linux_unload): Free relocator.
	(grub_linux_load32): Use relocator.
	(grub_linux_load64): Likewise.
	(grub_cmd_initrd): Likewise.
	* grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
	(grub_multiboot_unload): Unload relocator.
	(grub_cmd_multiboot): Use relocator.
	(grub_cmd_module): Likewise.
	* grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
	Use relocator and support sections.
	* grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
	(elf_sec_entsize): Likewise.
	(elf_sec_shstrndx): Likewise.
	(elf_sections): Likewise.
	(grub_multiboot_load): Use relocator.
	(grub_multiboot_get_mbi_size): Account for sections.
	(grub_multiboot_make_mbi): Use relocator and support sections.
	(grub_multiboot_add_elfsyms): New function.
	* grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
	* grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
	* grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
	Prototype changed. All users updated.
	(grub_xnu_align_heap): Simplified.
	(grub_xnu_writetree_toheap): Likewise.
	(grub_xnu_unload): Unload relocator.
	(grub_cmd_xnu_kernel): Use relocator.
	(grub_cmd_xnu_kernel64): Likewise.
	(grub_xnu_register_memory): Simplified.
	* grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
	* grub-core/term/efi/console.c (grub_console_putchar): Abort if
	EFI is finished.
	(grub_console_checkkey): Likewise.
	(grub_console_getkey): Likewise.
	(grub_console_getwh): Likewise.
	(grub_console_getxy): Likewise.
	(grub_console_gotoxy): Likewise.
	(grub_console_cls): Likewise.
	(grub_console_setcolorstate): Likewise.
	(grub_console_setcursor): Likewise.
	* grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
	* grub-core/tests/boot/kbsd.init-i386.S: New file.
	* grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
	* grub-core/tests/boot/kbsd.spec.txt: Likewise.
	* grub-core/tests/boot/kernel-8086.S: Likewise.
	* grub-core/tests/boot/kernel-i386.S: Likewise.
	* grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
	* grub-core/tests/boot/kfreebsd.cfg: Likewise.
	* grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
	* grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
	* grub-core/tests/boot/knetbsd.cfg: Likewise.
	* grub-core/tests/boot/kopenbsd.cfg: Likewise.
	* grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
	* grub-core/tests/boot/linux.cfg: Likewise.
	* grub-core/tests/boot/linux.init-i386.S: Likewise.
	* grub-core/tests/boot/linux.init-x86_64.S: Likewise.
	* grub-core/tests/boot/linux16.cfg: Likewise.
	* grub-core/tests/boot/multiboot.cfg: Likewise.
	* grub-core/tests/boot/multiboot2.cfg: Likewise.
	* grub-core/tests/boot/ntldr.cfg: Likewise.
	* grub-core/tests/boot/pc-chainloader.cfg: Likewise.
	* include/grub/aout.h (grub_aout_load): Make load_addr a void *.
	* include/grub/autoefi.h (grub_autoefi_finish_boot_services):
	New definition.
	* include/grub/dl.h (grub_dl_unload_all): Removed.
	* include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
	(grub_efi_finish_boot_services): Change prototype.
	(grub_efi_is_finished): New variable.
	* include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
	Changed prototype.
	(grub_efiemu_finish_boot_services): Removed.
	(grub_machine_efiemu_init_tables): New prototype.
	* include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
	(grub_elf64_phdr_iterate): Likewise.
	* include/grub/i386/bsd.h: Include relocator.h.
	(freebsd_tag_header): New struct.
	(grub_openbsd_bios_mmap): Removed.
	(grub_unix_real_boot): Removed.
	(grub_freebsd_load_elfmodule32): Changed prototype.
	(grub_freebsd_load_elfmodule_obj64): Likewise.
	(grub_freebsd_load_elf_meta32): Likewise.
	(grub_freebsd_load_elf_meta64): Likewise.
	(grub_freebsd_add_meta): Removed.
	(grub_netbsd_load_elf_meta32): New prototype.
	(grub_netbsd_load_elf_meta64): Likewise.
	(grub_bsd_add_meta): Likewise.
	(grub_openbsd_ramdisk_descriptor): New struct.
	(grub_openbsd_find_ramdisk32): New prototype.
	(grub_openbsd_find_ramdisk64): Likewise.
	* include/grub/i386/coreboot/loader.h: Removed.
	* include/grub/i386/efi/loader.h: Likewise.
	* include/grub/i386/ieee1275/loader.h: Likewise.
	* include/grub/i386/linux.h (linux_kernel_header): Change void *
	to grub_uint32_t.
	* include/grub/i386/loader.h: Removed.
	* include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
	value.
	(GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
	(grub_phys_addr_t): New type.
	(grub_vtop): New inline function.
	(grub_map_memory): Likewise.
	(grub_unmap_memory): Likewise.
	* include/grub/i386/multiboot/loader.h: Removed.
	* include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
	(NETBSD_BTINFO_CONSOLE): New definition.
	(NETBSD_BTINFO_SYMTAB): Likewise.
	(NETBSD_BTINFO_MODULES): Likewise.
	(NETBSD_BTINFO_FRAMEBUF): Likewise.
	(grub_netbsd_bootinfo): New struct.
	(grub_netbsd_btinfo_common): Use explicit bitsize.
	(grub_netbsd_btinfo_mmap_entry): Removed.
	(GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
	(grub_netbsd_btinfo_bootdisk): New struct.
	(grub_netbsd_btinfo_symtab): Likewise.
	(grub_netbsd_btinfo_serial): Likewise.
	(grub_netbsd_btinfo_modules): Likewise.
	(grub_netbsd_btinfo_framebuf): Likewise.
	(GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
	* include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
	Likewise.
	(grub_openbsd_bootargs): Use explicit bitsize.
	(grub_openbsd_bootarg_console): New struct.
	(GRUB_OPENBSD_COM_MAJOR): New definition.
	(GRUB_OPENBSD_VGA_MAJOR): Likewise.
	* include/grub/i386/pc/efiemu.h: Removed.
	* include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
	* include/grub/i386/qemu/loader.h: Removed.
	* include/grub/i386/relocator.h: Rewritten.
	* include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
	* include/grub/mips/memory.h: New file.
	* include/grub/mips/multiboot.h: Rewritten.
	* include/grub/mips/relocator.h: Rewritten.
	* include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
	(grub_vtop): New function.
	(grub_map_memory): Likewise.
	(grub_unmap_memory): Likewise.
	* include/grub/misc.h (ALIGN_DOWN): New definition.
	* include/grub/mm.h (grub_mm_check_real): New proto.
	(GRUB_MM_CHECK): New definition.
	* include/grub/mm_private.h: New file.
	* include/grub/multiboot.h (grub_multiboot_relocator): New variable.
	(grub_multiboot_get_mbi_size): Removed.
	(grub_multiboot_make_mbi): Change prottype.
	(grub_multiboot_set_accepts_video): New proto.
	(grub_multiboot_add_elfsyms): Likewise.
	(grub_multiboot_payload_eip): New variable.
	* include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
	New prototype.
	* include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
	New definition.
	(GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
	(GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
	* include/grub/powerpc/ieee1275/loader.h: Removed.
	* include/grub/powerpc/memory.h: New file.
	* include/grub/powerpc/relocator.h: Likewise.
	* include/grub/relocator.h: Likewise.
	* include/grub/relocator_private.h: Likewise.
	* include/grub/sparc64/ieee1275/loader.h: Removed.
	* include/grub/x86_64/memory.h: New file.
	* include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
	(grub_xnu_heap_malloc): Likewise.
	(grub_xnu_heap_real_start): Removed.
	(grub_xnu_heap_start): Likewise.
	(grub_xnu_relocator): New variable.
	(grub_xnu_heap_target_start): Likewise.
	* tests/util/grub-shell.in: Support non-pc.
	* util/grub-mkimage.c (image_targets): Fix multiboot target.

2010-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
	on malloc error.
	(grub_bidi_logical_to_visual): Check that malloc succeded.
	* grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
	puts.
	(grub_xputs_normal): Likewise.

2010-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
	extra_dist.

2010-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/efiemu/runtime/efiemu.sh: Removed.

2010-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.util.def (grub-ofpathname): Add missing ldadd.

2010-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
	dprintf.

2010-08-29  BVK Chaitanya  <bvk.groups@gmail.com>

	* Makefile.util.def: Use ldadd instead of ldflags for libraries.

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/term.c (print_more): Fix a memory leak.
	(grub_puts_terminal): Revert to dumb puts if memory allocation fails.
	(grub_xputs_normal): Likewise.

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
	the begining of the string

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/script/script.c (grub_script_parse): Free parsed on
	failure.

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/completion.c (grub_normal_do_completion): Free argv
	on failure.

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
	return.

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
	(scroll_up): Fix a memory leak.

2010-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
	errors.

2010-08-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle USB pendrives exposed as floppies.

	* grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
	floppy.
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
	Check for partitions on all devices.

2010-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
	(readkey): Likewise.

2010-08-25  BVK Chaitanya  <bvk.groups@gmail.com>

	Multiple variable names support to "export" command.

	* normal/context.c (grub_cmd_export): "export" command supports
	multiple variable names.

2010-08-23  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/30_os-prober.in: Fix conversion from grub-probe
	--target=drive output to Mach device name.

2010-08-23  BVK Chaitanya  <bvk.groups@gmail.com>

	New Automake based build system for GRUB.

	* ABOUT-NLS: New file.
	* Makefile.am: New file. GRUB host utils' rules that doesn't fit
	in Makefile.util.def file.
	* Makefile.util.def: New file.  Autogen build definitions file for
	GRUB host utils.
	* conf/Makefile.common: New file.  Common variables for GRUB host
	utils and target modules.
	* conf/Makefile.extra-dist: New file.  Extra files for make dist.
	* docs/Makefile.am: New file.  Automake file for docs.
	* gentpl.py: New file.  Python script to generate Autogen
	template.
	* grub-core/Makefile.am: New file.  GRUB target modules' rules
	that doesn't fit in Makefile.core.def file.
	* grub-core/Makefile.core.def: New file.  Autogen build
	definitions file for GRUB target modules.
	* grub-core/lib/setjmp.S: New file.  Wrapper for target_cpu
	specific setjmp.S file.
	* po/Makefile.am: New file.

	* .bzrignore: New ignores.
	* INSTALL: New requirements, without Ruby.
	* acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
	* autogen.sh: Updated to invoke autogen as necessary.
	* configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
	and defines for Automake conditionals.
	* geninit.sh: Refactoring.

	* include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
	necessary.
	* include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
	New prototype.

	* include/grub/test.h: Fix functional test modules' naming.
	* grub-core/tests/example_functional_test.c: Fix test module name.

	* util/misc.c: Hosted versions' of grub functions for libgrub.a
	* tests/lib/unit_test.c: Remove hosted versions of grub functions.
	* util/grub-editenv.c: Likewise.
	* util/grub-fstest.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mkimage.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/grub-script-check.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.

	* tests/util/grub-shell.in: Fix override directory path.
	* util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
	* util/import_gcry.py: Create Makefile.gcry.def file instead.

	* util/lvm.c: Update #includes.
	* util/raid.c: Likewise.
	* util/resolve.c: Likewise.
	* grub-core/bus/emu/pci.c: Likewise.
	* grub-core/lib/posix_wrap/stdlib.h: Likewise.
	* grub-core/lib/posix_wrap/string.h: Likewise.
	* grub-core/kern/emu/main.c: Likewise.

	* grub-core/gensymlist.sh: New file.  Script for generating kernel
	symbols file.
	* grub-core/genmoddep.awk: Support new kernel_syms.lst format.

	* grub-core/gentrigtables.c: Fix unused variable warnings.

	* Makefile.in: Removed.
	* conf/any-emu.rmk: Removed.
	* conf/common.rmk: Removed.
	* conf/i386-coreboot.rmk: Removed.
	* conf/i386-efi.rmk: Removed.
	* conf/i386-ieee1275.rmk: Removed.
	* conf/i386-multiboot.rmk: Removed.
	* conf/i386-pc.rmk: Removed.
	* conf/i386-qemu.rmk: Removed.
	* conf/i386.rmk: Removed.
	* conf/mips-yeeloong.rmk: Removed.
	* conf/mips.rmk: Removed.
	* conf/powerpc-ieee1275.rmk: Removed.
	* conf/sparc64-ieee1275.rmk: Removed.
	* conf/tests.rmk: Removed.
	* conf/x86-efi.rmk: Removed.
	* conf/x86_64-efi.rmk: Removed.
	* gendistlist.sh: Removed.
	* geninitheader.sh: Removed.
	* genkernsyms.sh.in: Removed.
	* genmk.rb: Removed.
	* gensymlist.sh.in: Removed.
	* mkinstalldirs: Removed.
	* boot: Moved ...
	* grub-core/boot: ... to here.
	* bus: Moved ...
	* grub-core/bus: ... to here.
	* commands: Moved ...
	* grub-core/commands: ... to here.
	* disk: Moved ...
	* grub-core/disk: ... to here.
	* efiemu: Moved ...
	* grub-core/efiemu: ... to here.
	* font: Moved ...
	* grub-core/font: ... to here.
	* fs: Moved ...
	* grub-core/fs: ... to here.
	* gencmdlist.sh: Moved ...
	* grub-core/gencmdlist.sh: ... to here.
	* genemuinit.sh: Moved ...
	* grub-core/genemuinit.sh: ... to here.
	* genemuinitheader.sh: Moved ...
	* grub-core/genemuinitheader.sh: ... to here.
	* genfslist.sh: Moved ...
	* grub-core/genfslist.sh: ... to here.
	* genhandlerlist.sh: Moved ...
	* grub-core/genhandlerlist.sh: ... to here.
	* genmoddep.awk: Moved ...
	* grub-core/genmoddep.awk: ... to here.
	* genmodsrc.sh: Moved ...
	* grub-core/genmodsrc.sh: ... to here.
	* genpartmaplist.sh: Moved ...
	* grub-core/genpartmaplist.sh: ... to here.
	* genparttoollist.sh: Moved ...
	* grub-core/genparttoollist.sh: ... to here.
	* genterminallist.sh: Moved ...
	* grub-core/genterminallist.sh: ... to here.
	* gentrigtables.c: Moved ...
	* grub-core/gentrigtables.c: ... to here.
	* genvideolist.sh: Moved ...
	* grub-core/genvideolist.sh: ... to here.
	* gettext: Moved ...
	* grub-core/gettext: ... to here.
	* gfxmenu: Moved ...
	* grub-core/gfxmenu: ... to here.
	* gnulib: Moved ...
	* grub-core/gnulib: ... to here.
	* hello: Moved ...
	* grub-core/hello: ... to here.
	* hook: Moved ...
	* grub-core/hook: ... to here.
	* io: Moved ...
	* grub-core/io: ... to here.
	* kern: Moved ...
	* grub-core/kern: ... to here.
	* lib: Moved ...
	* grub-core/lib: ... to here.
	* loader: Moved ...
	* grub-core/loader: ... to here.
	* mmap: Moved ...
	* grub-core/mmap: ... to here.
	* normal: Moved ...
	* grub-core/normal: ... to here.
	* partmap: Moved ...
	* grub-core/partmap: ... to here.
	* parttool: Moved ...
	* grub-core/parttool: ... to here.
	* script: Moved ...
	* grub-core/script: ... to here.
	* term: Moved ...
	* grub-core/term: ... to here
	* tests/example_functional_test.c: Moved ...
	* grub-core/tests/example_functional_test.c: ... to here.
	* tests/lib/functional_test.c: Moved ...
	* grub-core/tests/lib/functional_test.c: ... to here.
	* tests/lib/test.c: Moved ...
	* grub-core/tests/lib/test.c: ... to here.
	* video: Moved ...
	* grub-core/video: ... to here.

2010-08-23  BVK Chaitanya  <bvk.groups@gmail.com>

	Replace --enable-grub-emu-modules with grub-emu-lite.

	* kern/emu/cache.S: New file.  Wrapper for $target_cpu specific
	cache.S.

	* include/grub/emu/misc.h (grub_emu_init): New prototype.
	* kern/emu/full.c: New file. For grub-emu specific initialization.
	* kern/emu/lite.c: New file. For grub-emu-lite initialization.
	* kern/emu/main.c: Call initialization function grub_emu_init.

	* Makefile.in: Include grub-emu-lite in install.
	* commands/parttool.c: Use grub_no_autoload to differentiate
	between grub-emu and grub-emu-lite.
	* include/grub/misc.h: New variable grub_no_autoload.

	* conf/any-emu.rmk: New rules for grub-emu-lite.
	* configure.ac: Remove --enable-grub-emu-modules.
	* genmk.rb: Cleanup unnecessary rules.
	* include/grub/dl.h: Remove GRUB_NO_MODULES macro.

	* normal/main.c: Don't load list files on grub-emu-lite.
	* util/misc.c (grub_arch_sync_caches): Removed.

2010-08-23  Colin Watson  <cjwatson@ubuntu.com>

	* kern/mips/startup.S (grub_prefix): Update comment to refer to
	grub-mkimage rather than grub-mkelfimage.
	* kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.

2010-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
	a key after CapsLock or NumLock. It's just a qemu bug.

2010-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
	needed by libusb wrapper.

2010-08-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.

2010-08-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/multiboot.c (grub_cmd_module): Don't unzip module if
	--nounzip is passed.

2010-08-20  Vladimir Serbinenko  <phcoder@gmail.com>

	USB hotunplugging and USB serial support.

	* bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
	* bus/usb/uhci.c (grub_free_queue): Compute *actual.
	(grub_uhci_transfer): Respect timeout and set *actual.
	* bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
	non-standard length.
	(grub_usb_device_attach): Autoload modules.
	(GRUB_MOD_INIT): Set grub_term_poll_usb.
	(GRUB_MOD_FINI): Unset grub_term_poll_usb.
	* bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
	users updated.
	(grub_usb_add_hub): Fill nports and children.
	(attach_root_port): Receive hub instead of controller.
	All users updated. Fill hub->devices.
	(grub_usb_root_hub): Allocate hub->devices.
	(detach_device): New function.
	(poll_nonroot_hub): Fill children and detach devices.
	* bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
	actual arguments. All users updated.
	(grub_usb_bulk_read_extended): New function.
	* bus/usb/serial/common.c: New file.
	* bus/usb/serial/ftdi.c: Likewise.
	* bus/usb/serial/pl2303.c: Likewise.
	* commands/terminal.c (handle_command): Support wildcard.
	* commands/usbtest.c: Output "Unknown" instead of empty string.
	* conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
	(usbserial_common_mod_SOURCES): New variable.
	(usbserial_common_mod_CFLAGS): Likewise.
	(usbserial_common_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add usbserial_pl2303.mod.
	(usbserial_pl2303_mod_SOURCES): New variable.
	(usbserial_pl2303_mod_CFLAGS): Likewise.
	(usbserial_pl2303_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add usbserial_ftdi.mod.
	(usbserial_ftdi_mod_SOURCES): New variable.
	(usbserial_ftdi_mod_CFLAGS): Likewise.
	(usbserial_ftdi_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add serial.mod.
	(serial_mod_SOURCES): New variable.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/mips-yeeloong.rmk: Likewise.
	* conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
	* disk/usbms.c (first_available_slot): New variable.
	(grub_usbms_attach): Don't reuse free slots due to potential cache
	problems.
	* include/grub/serial.h: Moved to ..
	* include/grub/ns8250.h: ...this.
	* include/grub/serial.h: New file.
	* include/grub/term.h (grub_term_poll_usb): New variable.
	* include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
	readkey. All users updated.
	(grub_terminfo_output_state): Pass term to put.
	* include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
	(grub_usb_controller_dev): Add timeout and actual arguments to
	transfer. All users updated.
	(grub_usb_interface): New field detach_data.
	(grub_usb_device): New fields children and nports.
	(grub_usb_ep_type_t): New type.
	(grub_usb_get_ep_type): New function.
	(grub_usb_bulk_read_extended): Likewise.
	* include/grub/usbdesc.h (grub_usb_desc): New type.
	* include/grub/usbserial.h: New file.
	* include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
	* kern/term.c (grub_term_poll_usb): New variable.
	(grub_getkey): Call grub_term_poll_usb if set.
	(grub_checkkey): Likewise.
	(grub_getkeystatus): Likewise.
	* term/serial.c: Moved controller-specific parts to ...
	* term/ns8250.c: ... here.
	* term/serial.c: Mostly rewritten.
	* term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
	according to spec.

2010-08-20  Robert Millan  <rmh@gnu.org>

	Make kFreeBSD code more generic to support ext2fs as root, ufs as
	a separate module and maybe other interesting combinations.

	* util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
	(kfreebsd_entry): Use load_kfreebsd_module() to load modules.
	(kfreebsd_entry): Add generic filesystem module load routine.
	Map GRUB `ext2' to kFreeBSD `ext2fs'.

2010-08-20  Colin Watson  <cjwatson@ubuntu.com>

	* commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
	"numcenter" (I misunderstood the purpose of this entry).
	* docs/grub.texi (sendkey): Likewise.

2010-08-20  Colin Watson  <cjwatson@ubuntu.com>

	* commands/i386/pc/sendkey.c (options): Remove "keep" from all
	status flag options; simply omitting the option is equivalent and
	simpler.  Rename "wait" to "pause".  Rename "sysreq" to "sysrq".
	(keysym_table): Rename "num5numlock" to "numlock".
	(grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
	can uniformly say that only the last of multiple `sendkey'
	invocations has any effect.
	* docs/grub.texi (sendkey): New section.

2010-08-19  Colin Watson  <cjwatson@ubuntu.com>

	* commands/i386/pc/sendkey.c (options): Fix three typos.

2010-08-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Implement sendkey support.

	* commands/i386/pc/sendkey.c: New file.
	* conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
	(sendkey_mod_SOURCES): New variable.
	(sendkey_mod_CFLAGS): Likewise.
	(sendkey_mod_LDFLAGS): Likewise.

2010-08-18  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
	fix warnings from Autoconf.

2010-08-18  Colin Watson  <cjwatson@ubuntu.com>

	* acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
	to avoid false positives with some assemblers that output things
	like "someprefix_func" as part of their output.

2010-08-15  Robert Millan  <rmh@gnu.org>

	* kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
	errors.
	* kern/emu/getroot.c (find_root_device_from_libzfs): Handle
	grub_get_libzfs_handle() errors.

2010-08-14  Robert Millan  <rmh@gnu.org>

	* kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
	filesystem is not ZFS.

2010-08-12  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix for misspelled color names defaulting to black/black (bug
	reported by Doug Nazar)

	* include/grub/normal.h (grub_parse_color_name_pair): Add return
	status to prototype.
	* normal/color.c (grub_parse_color_name_pair): Return failure
	status.
	(grub_env_write_color_normal): Ignore bad color names.
	(grub_env_write_color_highlight): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Set default color names.

2010-08-12  BVK Chaitanya  <bvk.groups@gmail.com>

	"shift" command support to GRUB script.

	* include/grub/script_sh.h (grub_script_shift): New prototype.
	* script/execute.c (grub_script_shift): New function.
	* script/main.c (grub_script_init): Register shift command.
	(grub_script_fini): Unregister shift command.
	* util/grub-script-check.c (grub_script_cmd_shift): New function.

	* tests/grub_script_shift.in: New testcase.
	* conf/tests.rmk: Rules for new testcase.

2010-08-12  BVK Chaitanya  <bvk.groups@gmail.com>

	"continue" command support to GRUB script.

	* script/execute.c (grub_script_execute_cmdwhile): Continue support.
	(grub_script_break): Continue support.
	* script/main.c (grub_script_init): Register continue command.
	(grub_script_fini): Unregister continue command.

	* tests/grub_script_continue.in: New testcase.
	* conf/tests.rmk: Rules for new testcase.

2010-08-12  BVK Chaitanya  <bvk@dbook>

	"break" command support to GRUB script.

	* conf/common.rmk: Rule updates to grub-script-check.
	* include/grub/misc.h (grub_min): New function.
	* include/grub/script_sh.h (grub_script_init): New prototype.
	(grub_script_fini): New prototype.
	(grub_script_break): New prototype.
	* script/main.c (grub_script_init): New function.
	(grub_script_fini): New function.
	* script/execute.c (grub_script_break): New function.
	* normal/main.c: Calls to grub_script_{init,fini}.
	* util/grub-script-check.c (grub_script_break): New function.

	* tests/grub_script_break.in: New testcase.
	* conf/tests.rmk: Rules for new test case.

2010-08-12  BVK Chaitanya  <bvk.groups@gmail.com>

	Function parameters support to GRUB script.

	* script/yylex.l (VARIABLE): Regular expression update.
	* script/function.c (grub_script_function_call): Moved ...
	* script/execute.c (grub_script_function_call): ... to here.
	(grub_script_execute_arglist_to_argv): Removed.
	(grub_script_arglist_to_argv): New function.
	* script/argv.c: New file.
	(grub_script_argv_free): New function.
	(grub_script_argv_next): Likewise.
	(grub_script_argv_append): Likewise.
	(grub_script_argv_split_append): Likewise.
	* include/grub/script_sh.h (grub_script_argv): New struct.
	(grub_script_argv_free): New function.
	(grub_script_argv_next): Likewise.
	(grub_script_argv_append): Likewise.
	(grub_script_argv_split_append): Likewise.

	* conf/common.rmk (normal.mod): New source script/argv.c.

	* tests/grub_script_echo1.in: More tests.
	* tests/grub_script_vars1.in: Likewise.
	* tests/grub_script_functions.in: New test case.
	* conf/tests.rmk: Rules for new testcase.

2010-08-12  BVK Chaitanya  <bvk.groups@gmail.com>

	Remove grub_script_cmdblock struct.

	* include/grub/script_sh.h: Remove grub_script_cmdblock.
	* script/parser.y: Likewise.
	* script/execute.c: Rename cmdblock suffix to cmdlist.
	* script/script.c: Likewise.
	* util/grub-script-check.c: Likewise.

2010-08-11  Yves Blusseau  <blusseau@zetam.org>

	* .bzrignore: add grub-macho2img

2010-08-11  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.

2010-08-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove the dump of sm712 initialisation sequence.

	* include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
	* include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
	(GRUB_VGA_IO_MISC_WRITE): Likewise.
	(GRUB_VGA_CR_*): Added many registers.
	(GRUB_VGA_SR_*): Likewise.
	(GRUB_VGA_GR_*): Likewise.
	(grub_vga_write_arx): New function.
	(grub_video_hw_config): New struct.
	(grub_vga_set_geometry): New function.
	* kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
	GRUB_PCI_CLASS_SUBCLASS_VGA.
	* video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
	* video/sm712.c (grub_sm712_write_reg): New function
	(grub_sm712_read_reg): Likewise.
	(grub_sm712_sr_write): Likewise.
	(grub_sm712_gr_write): Likewise.
	(grub_sm712_cr_write): Likewise.
	(grub_sm712_write_arx): Likewise.
	(grub_sm712_cr_shadow_write): Likewise.
	(grub_sm712_write_dda_lookup): Likewise.
	(grub_video_sm712_setup): Initialise the video rather then
	blindly replay the dump.
	(main) [TEST]: Add a routine to be able to compile as standalone for
	tests.
	* video/sm712_init.c (sm712_init): Removed.
	(sm712_sr_seq1): New array.
	(sm712_sr_seq2): Likewise.

2010-08-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/vga.h: Add missing grub/pci.h include.

2010-08-10  Yves Blusseau  <blusseau@zetam.org>

	* util/grub-macho2img.c (main): fix typo

2010-08-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
	(grub_vga_gr_read): Likewise.
	(grub_vga_cr_write): Likewise.
	(grub_vga_cr_read): Likewise.
	(grub_vga_sr_write): Likewise.
	(grub_vga_sr_read): Likewise.
	(grub_vga_palette_read): Likewise.
	(grub_vga_palette_write): Likewise.
	* video/sm712.c (GRUB_SM712_REG_BASE): New definition.
	(grub_sm712_sr_read): New function.
	(grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
	* video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.

2010-08-09  Robert Millan  <rmh@gnu.org>

	* kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
	out unused variables on non-ZFS build.

2010-08-08  Robert Millan  <rmh@gnu.org>

	Fix path generation for sub-filesystems in ZFS.

	* kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
	missing slash.

2010-08-08  Robert Millan  <rmh@gnu.org>

	* util/grub-fstest.c (read_file, cmd_cmp): Improve error message.

2010-08-08  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_kfreebsd.in: When files required for ZFS do not
	exist, issue a proper error message (rely on `ls' for translated
	strings).

2010-08-08  Robert Millan  <rmh@gnu.org>

	Fix grub-probe invocation.

	* util/grub.d/10_kfreebsd.in: s/label/fs_label/g.

2010-08-04  Robert Millan  <rmh@gnu.org>

	* configure.ac: Remove checks for getfsstat() and getmntany().
	Add checks for `<sys/param.h>' and `<sys/mount.h>'.
	* kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
	[HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
	[HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
	function.
	(grub_find_zpool_from_dir): Use statfs() instead of indirect matching
	via find_mount_point_from_dir() and getfsstat() / getmntany().

2010-08-04  Robert Millan  <rmh@gnu.org>

	* include/grub/emu/misc.h (grub_find_mount_point_from_dir)
	(grub_find_zpool_from_mount_point): Merge into ...
	(grub_find_zpool_from_dir): ... this.
	* kern/emu/misc.c: Likewise.

	* kern/emu/misc.c
	(grub_make_system_path_relative_to_its_root): Replace
	grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
	with grub_find_zpool_from_dir().
	* kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.

2010-08-04  Robert Millan  <rmh@gnu.org>

	Support OpenSolaris in ZFS device resolution.

	* configure.ac: Check for getmntany().
	* kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
	[HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
	support.

2010-08-03  Robert Millan  <rmh@gnu.org>

	Fix grub-emu build.

	* include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
	* include/grub/emu/misc.h: ... here.

	* include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
	* include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.

	* util/misc.c: Remove `<grub/util/libzfs.h>'.
	[HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
	(grub_get_libzfs_handle): Move to ...
	* kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
	(grub_get_libzfs_handle): ... here.

2010-08-03  BVK Chaitanya  <bvk.groups@gmail.com>

	* script/execute.c (grub_script_execute_cmdline): Check for NULL
	as command name case.

2010-08-02  Colin Watson  <cjwatson@ubuntu.com>

	* disk/raid.c (insert_array): Select unique numbers for named arrays
	as well, for use as keys in the disk cache.

2010-08-01  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
	kFreeBSD device name, except on ZFS where the filesystem label is
	used.
	(kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
	`/boot/zfs/zpool.cache'.
	Set mountfrom kernel variable using ${kfreebsd_device}.

2010-08-01  Robert Millan  <rmh@gnu.org>

	Make it even harder to use uninitialized `libzfs_handle' (and
	make the interface a bit simpler).

	* include/grub/util/misc.h (grub_util_init_libzfs)
	(libzfs_handle): Remove.
	(grub_get_libzfs_handle): New prototype.

	* util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
	attribute.
	(grub_util_init_libzfs): Remove.
	(grub_get_libzfs_handle): New function.

	* kern/emu/getroot.c (find_root_device_from_libzfs): Use
	grub_get_libzfs_handle() to obtain a libzfs handle instead of
	accessing `libzfs_handle' directly.

2010-08-01  Robert Millan  <rmh@gnu.org>

	* include/grub/emu/misc.h (grub_find_mount_point_from_dir)
	(grub_find_zpool_from_mount_point): New function prototypes.

	* kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
	* kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.

	* kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
	* kern/emu/misc.c (grub_find_mount_point_from_dir): ... this.  Remove
	`static' attribute.

	* kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
	finding zpool from mount point into ...
	* kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.

	* kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
	requested path is part of a ZFS pool, use
	grub_find_zpool_from_mount_point() to detect its filesystem name,
	and generate a path with `/fsname@path' syntax.

2010-08-01  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/util/libzfs.h (libzfs_init): Set argument list to
	(void) rather than () so that this is a proper prototype.

2010-08-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* lib/arg.c (grub_arg_show_help): Add the necessary spacing.

2010-08-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
	[HAVE_LIBZFS && HAVE_LIBNVPAIR]

2010-08-01  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.

2010-08-01  Colin Watson  <cjwatson@ubuntu.com>

	* script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].

2010-08-01  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
	and GRUB_CMDLINE_XEN_DEFAULT.  Recommend setting
	GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
	disable gfxpayload.
	(Shell-like scripting): Add real content.
	(Serial terminal): Suggest `terminal_input serial; terminal_output
	serial' rather than putting the two commands on separate lines,
	since console input will be inoperative after the first command.
	(menuentry): Document --class, --users, and --hotkey options.
	(terminfo): Describe what `visually-ordered UTF-8' means (thanks,
	Vladimir Serbinenko).

2010-08-01  Vladimir Serbinenko  <phcoder@gmail.com>
2010-08-01  Colin Watson  <cjwatson@ubuntu.com>

	* kern/misc.c (grub_memset): Optimise to reduce cache stalls.

2010-08-01  Robert Millan  <rmh@gnu.org>

	* include/grub/emu/misc.h (grub_find_mount_point_from_dir)
	(grub_find_zpool_from_mount_point): New function prototypes.

	* kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
	* kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.

	* kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
	* kern/emu/misc.c (grub_find_mount_point_from_dir): ... this.  Remove
	`static' attribute.

	* kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
	finding zpool from mount point into ...
	* kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.

	* kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
	requested path is part of a ZFS pool, use
	grub_find_zpool_from_mount_point() to detect its filesystem name,
	and generate a path with `/fsname@path' syntax.

2010-08-01  Robert Millan  <rmh@gnu.org>

	Prevent accidental use of uninitialized libzfs_handle.

	* util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
	* kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
	* util/misc.c (grub_util_init_libzfs): Make this function idempotent.

2010-08-01  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
	util/grub.d/10_linux.in).  Fixes Debian bug #591093.

2010-08-01  Robert Millan  <rmh@gnu.org>

	* kern/emu/getroot.c: Include `<grub/util/misc.h>'.

2010-07-31  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_kfreebsd.in: Make module handling more generic.

2010-07-31  Robert Millan  <rmh@gnu.org>

	* kern/emu/misc.c: Add missing license header.

2010-07-31  Robert Millan  <rmh@gnu.org>

	* configure.ac: Check for `libzfs.h' and `libnvpair.h'.

	* include/grub/util/libnvpair.h: Include `<config.h>'.
	[HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
	declaring libnvpair prototypes ourselves.
	* include/grub/util/libzfs.h: Include `<config.h>'.
	[HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
	declaring libzfs prototypes ourselves.

	(libzfs_handle): Moved to ...
	* include/grub/util/misc.h (libzfs_handle): ... here.
	Include `<grub/util/libzfs.h>'.

2010-07-30  Robert Millan  <rmh@gnu.org>

	* include/grub/emu/misc.h: Add missing license header.

2010-07-30  Robert Millan  <rmh@gnu.org>

	Enable `grub-probe -t device' resolution on ZFS.

	* configure.ac: Check for getfsstat(), libzfs and libnvpair.
	* include/grub/util/libnvpair.h: New file.
	* include/grub/util/libzfs.h: New file.

	* kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
	`<grub/util/libnvpair.h>'.
	[HAVE_GETFSSTAT]: Include `<sys/mount.h>'.

	(find_mount_point_from_dir): New static function.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
	function.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
	find_root_device_from_libzfs() before ressorting to find_root_device().

	* include/grub/util/misc.h (grub_util_init_libzfs): New function
	prototype.
	* util/misc.c: Include `<grub/util/libzfs.h>'.
	(grub_util_init_libzfs): New function.
	[HAVE_LIBZFS] (libzfs_handle): New global variable.
	[HAVE_LIBZFS] (fini_libzfs): New static function.
	(grub_util_init_libzfs): New function.
	* util/grub-probe.c (main): Call grub_util_init_libzfs().

2010-07-30  Robert Millan  <rmh@gnu.org>

	* include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
	(xmalloc, xrealloc, xstrdup, xasprintf): Add
	`warn_unused_result' attribute.
	* include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
	(grub_xasprintf, grub_xvasprintf): Likewise.
	* include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.

2010-07-29  Robert Millan  <rmh@gnu.org>

	* util/grub-probe.c (PRINT_FS_LABEL): New enum value.
	(probe): Handle `PRINT_FS_LABEL'.
	(main): Handle `-t fs_label'.

2010-07-29  Robert Millan  <rmh@gnu.org>

	* configure.ac: Remove grub-mkisofs checks.

2010-07-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/ieee1275/grub-install.in: Don't use empty grub_device.
	Reported by: Lennart Sorensen.

2010-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/00_header.in: Remove compatibility with terminal.mod
	prior to terminal_input/terminal_output separation. It's been over 1.5
	years and those versions weren't widely deployed.

2010-07-22  Colin Watson  <cjwatson@ubuntu.com>

	* disk/raid.c (insert_array): Don't count named arrays when looking
	for unused array numbers.
	Reported and tested by: Michael Guntsche.

2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	* bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
	implementation of this so that grub-emu links again, with a note
	that this should support hotplugging in the future.

2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	* kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.

2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	* disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
	handle on failure.
	(grub_loopback_close): Remove empty function.
	(grub_loopback_dev): Remove close method.

2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	Disable EFI cursor when the EFI console becomes inactive.

	* term/efi/console.c (grub_efi_console_init): New function.
	(grub_efi_console_fini): New function.
	(grub_console_term_output): Register init and fini methods.

2010-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell-tester.in: Remove bashism and declare as
	sh script.

2010-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/loopback.c (grub_loopback): Replace filename with file.
	(delete_loopback): Handle new semantics.
	(grub_cmd_loopback): Likewise.
	(grub_loopback_iterate): Likewise.
	(grub_loopback_close): Likewise.

2010-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/i386/efi/grub-install.in: Revert to platform-specific behaviour
	with -p "".
	Reported by: Tito Keitel.

2010-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* docs/grub.texi (Naming convention): Document new naming convention.

2010-07-20  Vadim Solomin  <vadic052@gmail.com>
2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	Generate device.map in something closer to the old ordering.

	* util/deviceiter.c (struct device): New declaration.
	(compare_file_names): Rename to ...
	(compare_devices): ... this.  Sort by kernel name in preference to
	the stable by-id name, but keep the latter as a fallback comparison.
	Update header comment.
	(grub_util_iterate_devices) [__linux__]: Construct and sort an array
	of `struct device' rather than of plain file names.

2010-07-20  Thomas Frauendorfer  <Thomas.Frauendorfer@googlemail.com>

	* lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
	on i386.

2010-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/acpi.c (setup_common_tables): Use sizeof instead of
	hardcoding size.
	(setv1table): Likewise.

2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	* disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
	removing the homehost if present.
	* kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
	(grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
	removing the homehost if present.
	(grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
	if possible.
	* util/i386/pc/grub-setup.c (main): Handle md/* devices.

	* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
	parameter.  Set its pointer target to 0.
	* disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
	parameter.  Set its pointer target to 0 for 0.9 metadata, or to the
	`data_offset' value from the superblock for 1.x metadata.
	* disk/raid.c (grub_raid_read): Offset reads by the start sector of
	data on the device.
	(insert_array): Record the start sector of data on the device.
	(grub_raid_register): Pass start_sector parameters to
	grub_raid_list->detect and insert_array.
	* include/grub/raid.h (struct grub_raid_array): Add start_sector
	member.
	(struct grub_raid): Add start_sector parameter to `detect'.

	* disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
	__attribute__ ((packed)), leaving a comment.
	(grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
	(grub_mdraid_detect_09): ... here and ...
	(grub_mdraid_detect_1x): ... here.

2010-07-20  Peter Henn  <peter.henn@web.de>

	* disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
	chunk size and disk size, which are already given as sector counts
	as distinct from the 0.90 units.  Fetch the correct device number
	from the role table instead of using the table index.

2010-07-20  Felix Zielcke  <fzielcke@z-51.de>

	* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
	* disk/mdraid_linux.c (grub_raid_super_1x): New structure.
	(WriteMostly1): New macro.
	Set array->name to NULL for metadata format 0.90.  Add support for
	metadata 1.x.  Fix some comments.
	* disk/raid.c (): Add support for name based RAID arrays.  Fix a
	few comments.
	* util/getroot.c (grub_util_get_grub_dev): Add support for
	/dev/md/name style devices.

2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Ignore 20_linux_xen.

2010-07-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/import_unicode.py: Remove unnecessary imports.

2010-07-17  Aleš Nesrsta <starous@volny.cz>

	Hotplugging and USB hub support.

	* bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
	(grub_ohci): Likewise.
	(GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
	(GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
	(GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
	(GRUB_OHCI_CTRL_EDS): Likewise.
	(GRUB_OHCI_BULK_EDS): Likewise.
	(GRUB_OHCI_TDS): Likewise.
	(GRUB_OHCI_ED_ADDR_MASK): Likewise.
	(grub_ohci_ed_phys2virt): New function.
	(grub_ohci_virt_to_phys): Likewise.
	(grub_ohci_td_phys2virt): Likewise.
	(grub_ohci_td_virt2phys): Likewise.
	(grub_ohci_pci_iter): Allocate memory and don't wait for stable
	attachment.
	(grub_ohci_find_ed): New function.
	(grub_ohci_alloc_td): Likewise.
	(grub_ohci_free_td): Likewise.
	(grub_ohci_free_tds): Likewise.
	(grub_ohci_transfer): Use previously allocated memory.
	(grub_ohci_portstatus): Reset status changed bit.
	(grub_ohci_detect_dev): Supply status changed.
	(grub_ohci_fini_hw): Free memory.
	(grub_ohci_restore_hw): Reallocate memory.
	* bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
	Reset status change.
	(grub_uhci_detect_dev): Supply status_change.
	* bus/usb/usb.c (attach_hooks): New var.
	(grub_usb_device_attach): New function.
	(grub_usb_register_attach_hook_class): Likewise.
	(grub_usb_unregister_attach_hook_class): Likewise.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
	(grub_usb_add_hub): Reset connection changed bit.
	(attach_root_port): New function.
	(grub_usb_root_hub): Likewise.
	(poll_nonroot_hub): Likewise.
	(grub_usb_poll_devices): Likewise.
	* commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
	* disk/usbms.c (grub_usbms_open): Use device hooks.
	(grub_usbms_iterate) :Poll devices.
	(grub_usbms_finddevs): Split into ...
	(grub_usbms_attach): ... this ...
	(grub_usbms_attach): ... and this.
	* include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
	in detect_dev.
	(grub_usb_interface): New fields attached and detach_hook.
	(grub_usb_attach_hook_class): New type.
	(grub_usb_attach_desc): New struct.
	(grub_usb_register_attach_hook_class): New function.
	(grub_usb_unregister_attach_hook_class): Likewise.
	(grub_usb_poll_devices): Likewise.
	(grub_usb_device_attach): Likewise.
	* include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
	(GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.

2010-07-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
	* partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
	delta determination style. Works with most NetBSD partitions too.

2010-07-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
	* partmap/bsdlabel.c [GRUB_UTIL]: Likewise.

2010-07-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.

2010-07-14  Anton Blanchard  <anton@samba.org>

	* loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
	ET_DYN files.

2010-07-14  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.

2010-07-14  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* kern/partition.c (grub_partition_check_containment): New function to
	check that a partition is physically contained in a parent.  Since
	offsets are relative (and non-negative), this reduces to checking that
	the partition ends before its parent.
	(grub_partition_map_probe): Discard out-of-range sub-partitions.
	(grub_partition_iterate): Likewise.
	* include/grub/partition.h (grub_partition_map): Slightly more detailed
	comments.
	* partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
	partitions that start before their parent, and add debug printfs.

2010-07-13  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in (.SUFFIX): Spell correctly, as ...
	(.SUFFIXES): ... this.  Fixes bug where `make foo' (where foo is a
	bare module name without `.mod', e.g. `test') tried to invoke a
	Modula-2 compiler.

2010-07-13  Colin Watson  <cjwatson@ubuntu.com>

	* README: Point to the Info manual.

2010-07-13  Jiro SEKIBA <jir@unicus.jp>

	* fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
	2nd superblock position from partition size.

2010-07-10  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in (MAINTAINER_CLEANFILES): Remove
	unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
	unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
	outputs.

2010-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Restructure SCSI .id handling.
	Reported and tested by: Aleš Nesrsta.

	* disk/ata.c (grub_atapi_close): Removed. All users updated.
	(grub_atapi_dev): Changed .name to "ata". New field .id.
	* disk/usbms.c (grub_usbms_close): Removed. All users updated.
	(grub_usbms_dev): New field .id.
	* disk/scsi.c (grub_scsi_iterate): Generate name.
	(grub_scsi_open): Parse name.
	* include/grub/scsi.h (grub_make_scsi_id): New function.
	(grub_scsi_dev): Change iterate and open to number instead of naming
	busses. All users updated.
	(grub_scsi): Remove name. Add .bus.

2010-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/help.c (grub_cmd_help): Fix a typo.

2010-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
	Reported and tested by: Colin Watson.

2010-07-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
	in this context.

2010-07-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* tests/util/grub-shell.in: Remove bashisms and declare as sh script.

2010-07-07  Colin Watson  <cjwatson@ubuntu.com>

	* term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
	indentation.

2010-07-06  Colin Watson  <cjwatson@ubuntu.com>

	* conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
	and disk/raid6_recover.c.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.

2010-07-06  Colin Watson  <cjwatson@ubuntu.com>

	* term/gfxterm.c (repaint_schedulded): Rename to ...
	(repaint_scheduled): ... this.  Update all callers.
	(repaint_was_schedulded): Rename to ...
	(repaint_was_scheduled): ... this.  Update all callers.

2010-07-06  Colin Watson  <cjwatson@ubuntu.com>

	* util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
	which we expect to be handled by upper layers.

2010-07-06  BVK Chaitanya  <bvk.groups@gmail.com>

	* bus/usb/usbhub.c: #include time.h header.

2010-07-06  Colin Watson  <cjwatson@ubuntu.com>

	* fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
	entry_name also for entries without stat blocks (e.g. ".."); fixes
	corruption of the first entry in a directory.

2010-07-06  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
	after setting gfxterm as the active terminal.  GRUB_BACKGROUND
	doesn't work otherwise.

2010-07-05  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Features): Update list of supported file systems.
	(GNU/Linux): Update for GRUB 2.
	(Serial terminal): Remove mention of --disable-serial, which was a
	GRUB Legacy configure option.  Update instructions to use
	`terminal_input' and `terminal_output' rather than `terminal'.
	(Vendor power-on keys): Copy-edit.  Add cross-references to `Simple
	configuration' and `Installing GRUB using grub-install'.
	(Menu entry editor): Update for GRUB 2.
	(terminfo): Add vt100-color, ieee1275, and dumb terminal types.
	Document new -a, -u, and -v options.
	(initrd): New section.
	(initrd16): New section.
	(linux): New section.
	(linux16): New section.
	(search): The `var' argument to `--set' is optional.
	(GRUB only offers a rescue shell): Go into a little more detail on
	drive ordering.

2010-07-05  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.

2010-07-05  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
	unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.

2010-07-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/i386/pc/grub-setup.c (setup): Rename prefix to
	install_prefix, in line with install_dos_part and install_bsd_part.
	Add new prefix variable, which is copied to install_prefix after
	comparing core.img in memory with the one read from disk in the
	no-embedding case, and use that rather than overwriting
	install_prefix immediately when installing to a partition.
	Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
	Bicakci.

2010-07-04  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* configure.ac: Avoid == in test command, it's not portable.
	* util/grub.d/30_os-prober.in: Likewise.

2010-07-04  Colin Watson  <cjwatson@ubuntu.com>

	* kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.

2010-07-04  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/i386/pc/grub-setup.c (setup): Do not embed when there are
	multiple (top-level) partmaps.

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

	* util/i386/efi/grub-install.in: Don't use empty grub_device.
	Reported by: Tino Keitel.

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

	Bidi and diacritics support.

	* Makefile.in (widthspec.bin): New target.
	(widthspec.h): Likewise.
	(TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
	* autogen.sh: Generate unidata.c.
	* commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
	* commands/ls.c (grub_ls_list_devices): Likewise.
	(grub_ls_list_files): Likewise.
	* commands/minicmd.c (grub_mini_cmd_cat): Likewise.
	(grub_mini_cmd_lsmod): Likewise.
	* commands/read.c: Likewise.
	* kern/corecmd.c (grub_core_cmd_ls): Likewise.
	* kern/rescue_reader.c (grub_rescue_read_line): Likewise.
	* lib/arg.c (grub_arg_show_help): Likewise.
	* lib/crypto.c (grub_password_get): Likewise.
	* normal/auth.c (grub_username_get): Likewise.
	* normal/misc.c (grub_normal_print_device_info): Likewise.
	* commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
	* conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
	(gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
	(normal/charset.c_DEPENDENCIES): New variable.
	(normal_mod_SOURCES): Add normal/charset.c and unidata.c.
	(pkglib_MODULES): Remove charset.mod.
	(charset_mod_SOURCES): Removed.
	(charset_mod_CFLAGS): Likewise.
	(charset_mod_LDFLAGS): Likewise.
	(pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
	and term/tparm.c.
	* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	(kernel_img_HEADERS): Add terminfo.h.
	* font/font.c (ascii_glyph_lookup): Return NULL on failure.
	Fill ->font. Reverse ascii bitmaps.
	(grub_font_get_xheight): New function.
	* font/font.c (grub_font_get_string_width): Moved from here ...
	* gfxmenu/font.c (grub_font_get_string_width): ... here.
	* font/font.c (grub_font_draw_string): Moved from here ...
	* gfxmenu/font.c (grub_font_draw_string): ... here.
	* font/font.c (grub_font_dup_glyph): New function.
	(grub_font_blit_glyph): Likewise.
	(grub_font_blit_glyph_mirror): Likewise.
	(blit_comb): Likewise.
	(grub_font_construct_dry_run): Likewise.
	(grub_font_get_constructed_device_width): Likewise.
	(grub_font_construct_glyph): Likewise.
	* include/grub/charset.h (grub_ucs4_to_utf8): New proto.
	* include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
	* include/grub/charset.h (grub_utf8_to_ucs4): ... here.
	* include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
	(GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
	(GRUB_FONT_CODE_LEFT_JOINED): Likewise.
	(grub_font_get_xheight): New proto.
	(grub_font_get_constructed_device_width): Likewise.
	(grub_font_construct_glyph): Likewise.
	* include/grub/font.h (grub_font_get_string_width): Moved from here ...
	* include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
	* include/grub/font.h (grub_font_draw_string): Moved from here ...
	* include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
	* include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
	* include/grub/i386/pc/console.h (grub_console_putchar): ... here.
	* include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
	(grub_console_getcharwidth): Likewise.
	* include/grub/misc.h (grub_xputs): New proto.
	(grub_puts): Inlined.
	* include/grub/normal.h (grub_print_ucs4): Add margin specification.
	(grub_normal_get_line_counter): Removed.
	(grub_install_newline_hook): Likewise.
	(grub_normal_get_char_counter): New proto.
	(grub_normal_reset_more): Likewise.
	(grub_xputs_normal): Likewise.
	* include/grub/powerpc/ieee1275/console.h: Removed.
	* include/grub/sparc64/ieee1275/console.h: Likewise.
	* include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
	(GRUB_TERM_CODE_TYPE_ASCII): Likewise.
	(GRUB_TERM_CODE_TYPE_CP437): Likewise.
	(GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
	(GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
	(GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
	(grub_term_input): Pass reference to self. All users updated.
	(grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
	Pass reference to self. New fields normal_color, highlight_color and
	data. All users updated.
	(grub_putchar): Removed.
	(grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
	(grub_unicode_estimate_width): New function.
	(grub_term_getcharwidth): Add defaults.
	(GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
	(GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
	(GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
	(grub_cls): Remove EXPORT_FUNC.
	(grub_setcolorstate): Inline.
	(grub_newline_hook): Removed.
	* include/grub/terminfo.h: Rewritten. All users updated.
	* include/grub/unicode.h: New file.
	* include/grub/video.h (grub_video_signed_rect): New type.
	* kern/emu/console.c (grub_console_highlight_color): Removed.
	(grub_console_normal_color): Likewise.
	(grub_console_standard_color): Made static.
	(grub_ncurses_putchar): Remove mapping.
	(grub_ncurses_getcharwidth): Removed.
	(grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
	(grub_ncurses_setcolor): Removed.
	(grub_ncurses_getcolor): Likewise.
	* kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
	(grub_console_putchar): ... this.
	(grub_console_putchar): Handle argument difference.
	* kern/ieee1275/init.c (grub_machine_init): Split console_init into
	console_init_early and console_init_lately.
	* kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
	* kern/misc.c (grub_puts): Removed.
	(grub_vprintf): Store UTF-8 string instead of outputting it directly.
	(grub_vsnprintf_real): Remove str = NULL support.
	* kern/misc.c (grub_utf8_to_ucs4): Move from here ...
	* normal/charset.c (grub_utf8_to_ucs4): ... here.
	* kern/term.c (grub_putcode): Renamed to ...
	(grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
	(grub_putchar): Removed.
	(grub_xputs_dumb): New function.
	(grub_xputs): New variable.
	* lib/charset.c: Move from here ...
	* normal/charset.c: ... to here.
	(grub_ucs4_to_utf8): New function.
	(grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
	(join_types): New variable.
	(unpack_join): New function.
	(bidi_types): New variable.
	(unpack_bidi): New function.
	(get_bidi_type): Likewise.
	(get_join_type): Likewise.
	(is_mirrored): Likewise.
	(grub_unicode_get_comb_type): Likewise.
	(grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
	(is_type_after): Likewise.
	(grub_unicode_aglomerate_comb): Likewise.
	(bidi_line_wrap): Likewise.
	(grub_bidi_line_logical_to_visual): Likewise.
	(grub_bidi_logical_to_visual): Likewise.
	(grub_unicode_mirror_code): Likewise.
	(grub_unicode_shape_code): Likewise.
	* normal/cmdline.c (grub_cmdline_get): Reset more counter.
	Don't use grub_putchar.
	* normal/main.c (grub_normal_init_page): Use grub_putcode.
	(grub_normal_reader_init): Likewise.
	(grub_xputs_saved): New variable.
	(GRUB_MOD_INIT): Set grub_xputs.
	(GRUB_MOD_FINI): Restore grub_xputs.
	* normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
	(menu_init): Avoid printing gfxmenu error.
	(show_menu): Use grub_normal_get_char_counter.
	* normal/menu_entry.c (update_screen): Fix out-of-array.
	(complete): Avoid NULL dereferencing.
	* grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
	* normal/menu_text.c (print_spaces): Removed.
	(grub_print_ucs4): Likewise.
	(grub_print_message_indented): Use grub_print_ucs4.
	(print_message): Use grub_putcode.
	(print_entry): Hanlde diacritics.
	* normal/term.c (term_state): New type.
	(grub_more_lines): Removed.
	(term_states): New variable.
	(grub_normal_line_counter): Renamed to ..
	(grub_normal_char_counter): ...this. All users updated.
	(grub_normal_get_line_counter): Renamed to ...
	(grub_normal_get_char_counter): ... this.
	(grub_normal_reset_more): New function.
	(process_newline): Removed.
	(print_more): New function.
	(grub_install_newline_hook): Removed.
	(map_code): New function.
	(grub_puts_terminal): Use grub_print_ucs4.
	(putglyph): New function.
	(putcode_real): Likewise.
	(grub_putcode): Use putcode_real.
	(get_maxwidth): New function.
	(get_startwidth): Likewise.
	(print_ucs4_terminal): Likewise.
	(find_term_state): Likewise.
	(put_glyphs_terminal): Likewise.
	(print_backlog): Likewise.
	(print_ucs4_real): Likewise.
	(grub_print_ucs4): Likewise.
	(grub_xputs_normal): Likewise.
	* term/efi/console.c (grub_console_putchar): Output diacritics.
	(grub_console_getcharwidth): Removed.
	(grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
	* term/gfxterm.c (clear_char): Free chars.
	(scroll_up): Avoid leaking memory.
	(grub_gfxterm_putchar): Support diacritics.
	(grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
	* term/i386/pc/console.c (grub_console_term_output): Declare as
	GRUB_TERM_CODE_TYPE_VGA.
	* term/i386/pc/vga.c (grub_vga_term): Declare as
	GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
	* term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
	GRUB_TERM_CODE_TYPE_VGA.
	* term/i386/vga_common.c (map_char): Removed.
	(grub_console_putchar): Likewise.
	(grub_console_getcharwidth): Likewise.
	* term/ieee1275/ofconsole.c: Simplify using terminfo.
	(colors): Reordered to match terminfo.
	(grub_ofconsole_normal_color): Removed.
	(grub_ofconsole_writeesc): Likewise.
	(grub_ofconsole_highlight_color): Likewise.
	(grub_ofconsole_getcharwidth): Likewise.
	(grub_ofconsole_setcolorstate): Likewise.
	(grub_ofconsole_setcolor): Likewise.
	(grub_ofconsole_getcolor): Likewise.
	(grub_ofconsole_readkey): Renamed to ...
	(readkey): ... this. Remove escape sequence handling. Return -1 on no
	key.
	(grub_ofconsole_checkkey): Removed.
	(grub_ofconsole_getkey): Likewise.
	(grub_ofconsole_getxy): Likewise.
	(grub_ofconsole_gotoxy): Likewise.
	(grub_ofconsole_cls): Likewise.
	(grub_ofconsole_refresh): Likewise.
	(grub_ofconsole_terminfo_input): New struct.
	(grub_ofconsole_terminfo_output): Likewise.
	(grub_ofconsole_term_input): Use terminfo.
	(grub_ofconsole_term_output): Likewise.
	(grub_console_init): Split into ...
	(grub_console_init_early): ...this and ...
	(grub_console_init_lately): ...this. Use terminfo.
	(grub_ofconsole_putchar): Renamed to ...
	(put): ... this. Remove mapping.
	(grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
	* term/serial.c: Simplify using terminfo.
	(xpos): Removed.
	(ypos): Likewise.
	(keep_track): Likewise.
	(registered): Likewise.
	(input_buf): Likewise.
	(npending): Likewise.
	(serial_translate_key_sequence): Likewise.
	(fill_input_buf): Likewise.
	(grub_serial_checkkey): Likewise.
	(grub_serial_getkey): Likewise.
	(grub_serial_getxy): Likewise.
	(grub_serial_gotoxy): Likewise.
	(grub_serial_putchar): Likewise.
	(grub_serial_cls): Likewise.
	(grub_serial_setcolorstate): Likewise.
	(grub_serial_setcursor): Likewise.
	(serial_hw_init): Use serial_hw_fetch.
	(grub_serial_terminfo_input): New variable.
	(grub_serial_terminfo_output): Likewise.
	(grub_serial_term_input): Use terminfo.
	(grub_serial_term_output): Likewise.
	* term/terminfo.c (putstr): Use put.
	(grub_terminfo_all_free): New function
	(grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
	(grub_terminfo_output_register): New function.
	(grub_terminfo_output_unregister): Likewise.
	(grub_terminfo_getxy): Likewise.
	(grub_terminfo_readkey): Likewise.
	(grub_terminfo_checkkey): Likewise.
	(grub_terminfo_getkey): Likewise.
	(grub_terminfo_input_init): Likewise.
	(print_terminfo): Likewise.
	(grub_cmd_terminfo): Handle encoding.
	(grub_terminfo_gotoxy): Track position.
	(grub_terminfo_cls): Likewise.
	(grub_terminfo_putchar): Likewise.
	(grub_terminfo_setcolorstate): Handle colors
	(grub_terminfo_cursor_on): This ...
	(grub_terminfo_cursor_off): ... and this merged into ...
	(grub_terminfo_setcursor): ... this.
	* term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
	* unicode/ArabicShaping.txt: New file (imported from Unicode).
	* unicode/BidiMirroring.txt: Likewise.
	* unicode/UnicodeData.txt: Likewise.
	* unicode/COPYING: Likewise.
	* util/grub-editenv.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-fstest.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-mkdevicemap.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-probe.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/grub-script-check.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/i386/pc/grub-setup.c (grub_putchar): Removed.
	(grub_xputs_real): New function.
	(grub_xputs): New variable.
	* util/import_unicode.py: New file.
	* util/grub-mkfont.c (ft_errmsgs): New array.
	(grub_glyph_info): Make bitmap a pointer.
	(file_formats): New type WIDTH_SPEC.
	(grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
	(options): Add width-spec.
	(help): Likewise.
	(add_char): Renamed to ...
	(add_glyph): ... this.
	(add_glyph): Use index. Show freetype errors. Cut blank space at borders.
	(glyph_replace): New type.
	(subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
	(add_char): New function.
	(add_subst): Likewise.
	(process_cursive): Likewise.
	(add_font): Handle GSUB.
	(write_font_width_spec): New function.
	(main): Sort glyphs.
	* commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
	* normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
	* kern/term.c (grub_cls): Moved from here...
	* normal/term.c (grub_cls): ... here.

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
	suitable for using within the format argument of printf when
	converting grub_size_t.
	* disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
	"x" to convert grub_size_t arguments.

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

	* gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
	too long captions.
	(list_get_minimal_size): Take selection box into account.

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

	* font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
	NULL font.

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
	devices when iterating over /dev/disk/by-id; they will be handled
	later if appropriate, which they aren't always (e.g. LVM).

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/misc.h (grub_reboot): Declare as noreturn.
	* kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
	fails.
	(grub_halt): Likewise.
	* kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
	reset-all fails.
	(grub_halt): Don't return, even if all of shut-down, power-off, and
	poweroff fail.

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
	arguments, not three.

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (uses_abstraction): New function.
	* util/grub.d/10_linux.in: Use it to check for LVM, so that
	LVM-on-RAID is handled correctly.

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Changes from GRUB Legacy): New section.
	(Future): Fix typo.

2010-07-02  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
	grub.d/README accidentally ends up executable for one reason or
	another.  Ignore it.

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

	* partmap/gpt.c (MAX_SECTOR_LOG): New definition.
	(gpt_partition_map_iterate): Support non-512B sectors.

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

	* kern/efi/init.c (grub_efi_init): Disable watchdog.
	Tested by: Seth Goldberg.

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

	* loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
	Properly align mbi.
	Reported by: Seth Goldberg.

2010-07-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Avoid module duplication.

2010-07-01  Sean Finney  <seanius@seanius.net>

	* util/grub.d/10_linux.in: Don't use UUID for LVM root.

2010-07-01  Sean Finney  <seanius@seanius.net>

	* disk/lvm.c (grub_lvm_scan_device): Skip snapshots.

2010-07-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/lvm.c (grub_lvm_checkvalue): New function.
	(grub_lvm_check_flag): Likewise.

2010-07-01  Robert Millan  <rmh@gnu.org>

	* kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
	Support 'p' as partition separator on kernel of FreeBSD (used
	with GPT labels).
	(grub_util_biosdisk_get_grub_dev): Likewise.

2010-07-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Yeeloong firmware port.

	* boot/mips/yeeloong/fwstart.S: New file.
	* bus/cs5536.c (gpiodump): New const.
	(set_io_space): New function.
	(set_iod): Likewise.
	(set_p2d): Likewise.
	(grub_cs5536_init_geode): Likewise.
	* commands/mips/yeeloong/lsspd.c: New file.
	* conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
	(serial_mod_SOURCES): New variable.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
	term/terminfo.c and term/tparm.c.
	(pkglib_IMAGES): Add fwstart.img.
	(fwstart_img_SOURCES): New variable.
	(fwstart_img_CFLAGS): Likewise.
	(fwstart_img_ASFLAGS): Likewise.
	(fwstart_img_LDFLAGS): Likewise.
	(fwstart_img_FORMAT): Likewise.
	(pkglib_MODULES): Add lsspd.mod.
	(lsspd_mod_SOURCES): New variable.
	(lsspd_mod_CFLAGS): Likewise.
	(lsspd_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add halt.mod.
	(halt_mod_SOURCES): New variable.
	(halt_mod_CFLAGS): Likewise.
	(halt_mod_LDFLAGS): Likewise.
	* conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
	(serial_mod_SOURCES): Removed.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* disk/ata.c (check_device): New function.
	(grub_ata_device_initialize): Use check_device.
	(grub_ata_iterate): Recheck devices.
	(grub_ata_open): Likewise.
	(grub_atapi_iterate): Likewise.
	(grub_atapi_open): Likewise.
	* include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
	(GRUB_ATA_CH1_PORT1): Likewise.
	(GRUB_ATA_CH0_PORT2): Likewise.
	(GRUB_ATA_CH1_PORT2): Likewise.
	* include/grub/mips/loongson.h: New file.
	* include/grub/mips/yeeloong/ec.h: Likewise.
	* include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
	(GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
	(GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
	* include/grub/misc.h (grub_halt): Declare as noreturn.
	* include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
	(UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
	(UART_ENABLE_FIFO_TRIGGER1): New definition.
	(UART_ENABLE_DTRRTS): Likewise.
	(UART_ENABLE_MODEM): Removed.
	(UART_ENABLE_OUT2): New const.
	* include/grub/term.h (grub_term_register_input_active): New function.
	(grub_term_register_output_active): Likewise.
	* kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
	argument.
	* kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
	(init_pci): New function.
	(grub_machine_init): Execute platform init when firmware. Init serial.
	(grub_halt): Implement.
	(grub_exit): Likewise.
	(grub_reboot): Likewise.
	* term/serial.c (serial_hw_init): Update macros.
	[GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
	* util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
	(image_targets): New target mipsel-yeeloong-flash.
	(generate_image): Support IMAGE_YEELOONG_FLASH.
	* video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
	(grub_video_sm712_setup): Init card.
	(grub_video_sm712_set_palette): Removed.
	* video/sm712_init.c: New file.

2010-06-30  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in (install-local): Temporarily prepend $(builddir) to
	PATH when running help2man and then run it on the unadorned
	executable names, rather than passing $(builddir)/* paths to
	help2man.  This avoids the build directory ending up in generated
	manual pages.

2010-06-29  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
	to avoid accidents when debugging with 'sh -x'.
	* util/grub-mkrescue.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_netbsd.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/20_linux_xen.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2010-06-29  Colin Watson  <cjwatson@ubuntu.com>

	* commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
	last character in the buffer.
	Reported by: Vladimir Serbinenko.

2010-06-29  Robert Millan  <rmh@gnu.org>

	* docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
	(Command-line and menu entry commands): Document `badram' command.

2010-06-28  Robert Millan  <rmh@gnu.org>

	* util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
	* util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
	command using ${GRUB_BADRAM} as parameter.

2010-06-28  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Device map): New section.
	(Themes): New section (stub).
	* Makefile.in (docs/grub.info): The info documentation now builds
	without errors.  Make sure it stays that way.

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

	Use normal parser for menu entries.
	Reported by: Thomas Frauendorfer

	* include/grub/parser.h (grub_parser_execute): Don't export.
	* normal/menu.c (grub_menu_execute_entry_real): New function.
	(grub_menu_execute_entry): Use grub_menu_execute_entry_real.

2010-06-28  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Embedded configuration): New section (replacing
	old "Preset Menu" stub).
	(Images): New section.
	(configfile): Note that any menu entries defined in `file' are shown
	immediately.

2010-06-28  Josh Triplett  <josh@joshtriplett.org>

	* mmap/i386/pc/mmap_helper.S: Set CF on return.

2010-06-28  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Add --debug-image= option.

2010-06-28  Colin Watson  <cjwatson@ubuntu.com>

	Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
	possible on Linux.

	* util/deviceiter.c (check_device): Rename to ...
	(check_device_readable_unique): ... this.  Update all callers.
	Maintain and check a list of which devices (by canonicalized name)
	have already been seen.
	(clear_seen_devices): New function.
	(compare_file_names) [__linux__]: New function.
	(grub_util_iterate_devices): Clear the list of seen devices on exit
	and (just in case) on entry.
	(grub_util_iterate_devices) [__linux__]: Iterate over non-partition
	devices in /dev/disk/by-id/, in sorted order.  Remove DM-RAID
	seen-devices list, superseded by general code in check_device.

2010-06-28  Colin Watson  <cjwatson@ubuntu.com>

	* commands/cat.c (options): New variable.
	(grub_cmd_cat): Parse options.  If the --dos option is given, print
	DOS-style "\r\n" line endings as simple newlines (Debian bug
	#586358).
	(GRUB_MOD_INIT): Use extcmd.
	(GRUB_MOD_FINI): Likewise.
	* docs/grub.texi (cat): Document --dos.

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

	XEN with Linux grub-mkconfig support.

	* conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
	* util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
	GRUB_CMDLINE_XEN_DEFAULT.
	* util/grub.d/20_linux_xen.in: New file.

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

	Initialise VGA video on qemu ourselves.

	* boot/i386/qemu/boot.S: Don't call 0xc000.
	* conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
	(kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
	(kernel_img_HEADERS): Add pci.h.
	* conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
	* configure.ac: Force unifont on qemu and yeeloong.
	* include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
	(grub_vga_palette_write): Use correct register.
	* kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
	Call grub_qemu_init_cirrus.
	* kern/i386/qemu/init.c: New file.
	* term/i386/pc/vga_text.c (inc_y): Never read outside the screen.

	* commands/videotest.c (grub_cmd_videotest): Handle double buffering.

2010-06-26  Pavel Roskin  <proski@gnu.org>

	* util/grub.d/10_linux.in: Add support for initrd images on Fedora
	13.

2010-06-26  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Explain that
	GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
	set to `true' to disable their respective recovery entries, not
	merely set.

2010-06-26  Colin Watson  <cjwatson@ubuntu.com>

	Make the `source' command slightly faster.

	* normal/main.c (grub_normal_execute): Don't re-read list files when
	nested.

2010-06-23  Colin Watson  <cjwatson@ubuntu.com>

	* loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
	field position and mask size to red fields from mode_info, not
	green.
	* loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
	Remove redundant tag->common.framebuffer_type assignment.
	Reported by: Seth Goldberg.

2010-06-23  Colin Watson  <cjwatson@ubuntu.com>

	Sync up other versions of the Linux loader with Robert Millan's
	change of 2010-01-09, "Make loader output a bit more user-friendly".

	* loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
	grub_dprintf().
	(grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	* loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
	* loader/i386/pc/linux.c (grub_cmd_linux): Likewise.

2010-06-21  Colin Watson  <cjwatson@ubuntu.com>

	* kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
	larger than MEMORY_MAP_SIZE.

2010-06-21  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix parallel build.

	* conf/common.rmk: Add grub_script.tab.h as a grub-script-check
	dependency.
	* script/parser.y: #include grub_script.tab.h header.

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

	Support >3GiB and <16MiB RAM in i386-qemu.

	* kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
	(QEMU_CMOS_MEMSIZE2_LOW): Likewise.
	(grub_lower_mem): Removed.
	(grub_upper_mem): Likewise.
	(mem_size): Made static.
	(above_4g): New variable.
	(grub_machine_mmap_init): Detect small mem_size and above_4g.
	(grub_machine_mmap_iterate): Order in ascending order and add above_4g
	support.

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

	Cirrus 5446 and Bochs video cards support.

	* conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
	video_bochs.mod
	(video_cirrus_mod_SOURCES): New variable.
	(video_cirrus_mod_CFLAGS): Likewise.
	(video_cirrus_mod_LDFLAGS): Likewise.
	(video_bochs_mod_SOURCES): Likewise.
	(video_bochs_mod_CFLAGS): Likewise.
	(video_bochs_mod_LDFLAGS): Likewise.
	* include/grub/vga.h: New file.
	* include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
	(grub_video_fb_set_page_t): New type.
	(grub_video_fb_setup): New prototype.
	(grub_video_fb_swap_buffers): Likewise.
	(grub_video_fb_get_info_and_fini): Likewise.
	* term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
	(CRTC_DATA_PORT): Likewise.
	(CRTC_CURSOR): Likewise.
	(CRTC_CURSOR_ADDR_HIGH): Likewise.
	(CRTC_CURSOR_ADDR_LOW): Likewise.
	(CRTC_CURSOR_DISABLE): Likewise.
	(update_cursor): Use grub_vga_cr_write.
	(grub_vga_text_setcursor): Likewise.
	* video/bochs.c: New file.
	* video/fb/video_fb.c (render_target): Moved into framebuffer variable.
	(palette): Likewise.
	(palette_size): Likewise.
	(framebuffer): New variable.
	(grub_video_fb_init): Use 'framebuffer'.
	(grub_video_fb_fini): Likewise.
	(grub_video_fb_get_info): Likewise.
	(grub_video_fb_get_palette): Likewise.
	(grub_video_fb_set_palette): Likewise.
	(grub_video_fb_set_viewport): Likewise.
	(grub_video_fb_get_viewport): Likewise.
	(grub_video_fb_map_color): Likewise.
	(grub_video_fb_map_rgb): Likewise.
	(grub_video_fb_map_rgba): Likewise.
	(grub_video_fb_unmap_color): Likewise.
	(grub_video_fb_unmap_color_int): Likewise.
	(grub_video_fb_fill_rect): Likewise.
	(grub_video_fb_blit_bitmap): Likewise.
	(grub_video_fb_blit_render_target): Likewise.
	(grub_video_fb_scroll): Likewise.
	(grub_video_fb_create_render_target): Likewise.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	(grub_video_fb_set_active_render_target): Handle doublebuffering.
	(doublebuf_pageflipping_update_screen): New function.
	(doublebuf_pageflipping_init): Likewise.
	(grub_video_fb_setup): Likewise.
	(grub_video_fb_swap_buffers): Likewise.
	(grub_video_fb_get_info_and_fini): Likewise.
	* video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
	All users updated.
	(doublebuf_pageflipping_commit): Restructured into ...
	(doublebuf_pageflipping_set_page): ... this.
	(doublebuf_pageflipping_update_screen): Removed.
	(doublebuf_pageflipping_init): Likewise.
	(double_buffering_init): Likewise.
	(grub_video_vbe_setup): Use grub_video_fb_setup.
	(grub_video_vbe_swap_buffers): Removed.
	(grub_video_vbe_set_active_render_target): Likewise.
	(grub_video_vbe_get_active_render_target): Likewise.
	(grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
	(grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
	grub_video_fb_set_active_render_target and
	grub_video_fb_get_active_render_target.
	* video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
	(SEQUENCER_DATA_PORT): Likewise.
	(MAP_MASK_REGISTER): Likewise.
	(CRTC_ADDR_PORT): Likewise.
	(CRTC_DATA_PORT): Likewise.
	(START_ADDR_HIGH_REGISTER): Likewise.
	(START_ADDR_LOW_REGISTER): Likewise.
	(GRAPHICS_ADDR_PORT): Likewise.
	(GRAPHICS_DATA_PORT): Likewise.
	(READ_MAP_REGISTER): Likewise.
	(INPUT_STATUS1_REGISTER): Likewise.
	(INPUT_STATUS1_VERTR_BIT): Likewise.
	(get_map_mask): Use grub_vga_sr_read.
	(set_map_mask): Use grub_vga_sr_write.
	(set_read_map): Use grub_vga_gr_write.
	(set_start_address): Use grub_vga_cr_write.
	* video/sm712.c (framebuffer): Remove leftover fields.

2010-06-20  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX.  Stop
	setting GRUB_VIDEO_BACKEND.  Make it available as a user override
	instead.  Replace the gfxterm backend check with a check that
	${GRUB_PREFIX}/video.lst is non-empty.
	* util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
	again.
	(load_video): New generated function.  Call it before loading
	gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
	* util/grub.d/10_linux.in (linux_entry): Call load_video.
	* util/grub.d/30_os-prober.in (osx_entry): Likewise.
	* docs/grub.texi (Simple configuration): Document
	GRUB_VIDEO_BACKEND.

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

	Use video functions in linux and xnu loaders.

	* conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
	* conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
	* include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
	* loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
	loader/i386/pc/linux.c.
	(grub_linux_boot): Resynced with loader/i386/pc/linux.c.
	(find_line_len): Removed.
	(find_framebuf): Likewise.
	(grub_cmd_linux): Declare grub_linux_boot as possibly returning.
	* loader/i386/efi/xnu.c: Removed.
	* loader/i386/pc/xnu.c: Moved from here...
	* loader/i386/xnu.c: ...here.

	Enable priorities in video drivers.

	* include/grub/video.h (grub_video_adapter_prio_t): New type.
	(grub_video_adapter): New field prio.
	(grub_video_register): Respect prio when inserting.
	* video/efi_gop.c (grub_video_gop_adapter): Add prio.
	* video/efi_uga.c (grub_video_uga_adapter): Likewise.
	* video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
	* video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
	* video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
	* video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
	* video/sm712.c (grub_video_sm712_adapter): Likewise.

	Fix SDL driver ID.

	* include/grub/video.h (grub_video_driver_id_t): New value
	GRUB_VIDEO_DRIVER_SDL.
	* video/emu/sdl.c (grub_video_sdl_adapter): Add id.

2010-06-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
	argument to printf.
	* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.

2010-06-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/i386/pc/grub-setup.c (usage): Fix syntax error.
	* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.

2010-06-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
	directly, and recommend grub-install instead.
	* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.

2010-06-17  Colin Watson  <cjwatson@ubuntu.com>

	Fix i386-pc prefix handling with nested partitions (Debian bug
	#585068).  Note that the case where the core image is booted using
	multiboot and relocated from its original location still requires
	more work.

	* kern/i386/pc/init.c (make_install_device): If the prefix starts
	with "(,", fill the boot drive in between those two characters, but
	expect that a full partition specification including partition map
	names will follow.
	* util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
	specified, write a prefix without the drive name but including a
	full partition specification.

2010-06-16  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Ignore non-option arguments, for
	compatibility with older versions (before 2010-06-12) which did the
	same.  In particular, this makes it easier to ship an update-grub
	wrapper which is compatible with that used with GRUB Legacy (Debian
	bug #586056).

2010-06-14  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
	for manual page generation.

2010-06-14  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* po/POTFILES: Remove leftover commands/handler.c.

2010-06-14  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Remove vestige of old argument parsing that
	left this script non-functional.

2010-06-14  Colin Watson  <cjwatson@ubuntu.com>

	* docs/man/grub-emu.h2m: New file.

2010-06-13  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Commands): Document reduced command set in rescue
	mode.
	(cpuid): New section.

2010-06-13  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
	new partition naming style.
	* util/grub-install.in: Adapt sed subtitutions in grub-probe calls.

2010-06-12  BVK Chaitanya  <bvk.groups@gmail.com>

	Add "-o grub.iso" like cmdline options support.

	* util/grub-install.in: Improve cmdline option parsing.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/i386/efi/grub-install.in: Likewise.
	* util/ieee1275/grub-install.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2010-06-12  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Ignore 41_custom.

2010-06-12  Thomas Schmitt  <scdbackup@gmx.net>

	* util/grub-mkrescue.in: Pass unrecognized options to xorriso.

2010-06-12  Colin Watson  <cjwatson@ubuntu.com>

	Avoid false positives in fs.lst, partmap.lst, and video.lst due to
	prototype declarations.

	* genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
	generating fs, partmap, and video lists.
	* include/grub/fs.h (grub_fs_register): Omit prototype if
	GRUB_LST_GENERATOR is defined.
	* include/grub/partition.h (grub_partition_map_register): Likewise.
	* include/grub/video.h (grub_video_register): Likewise.

2010-06-12  Javier Martín <lordhabbit@gmail.com>

	* include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.

2010-06-12  Thomas Schmitt  <scdbackup@gmx.net>

	* util/grub-mkrescue.in: Support --xorriso argument.

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

	* util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
	Suggested by: Thomas Schmitt.

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

	* util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
	Suggested by: Thomas Schmitt.

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

	custom.cfg support.

	* conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
	* util/grub.d/41_custom.in: New file.

2010-06-12  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in (make_image): Remove sh module, which has
	been merged back into normal.

2010-06-11  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
	(GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).

2010-06-11  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
	when generating manual pages.
	* docs/man/grub-bin2h.h2m: New file.
	* docs/man/grub-editenv.h2m: New file.
	* docs/man/grub-fstest.h2m: New file.
	* docs/man/grub-install.h2m: New file.
	* docs/man/grub-macho2img.h2m: New file.
	* docs/man/grub-mkconfig.h2m: New file.
	* docs/man/grub-mkdevicemap.h2m: New file.
	* docs/man/grub-mkfont.h2m: New file.
	* docs/man/grub-mkimage.h2m: New file.
	* docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
	* docs/man/grub-mkrelpath.h2m: New file.
	* docs/man/grub-mkrescue.h2m: New file.
	* docs/man/grub-ofpathname.h2m: New file.
	* docs/man/grub-pe2elf.h2m: New file.
	* docs/man/grub-probe.h2m: New file.
	* docs/man/grub-reboot.h2m: New file.
	* docs/man/grub-script-check.h2m: New file.
	* docs/man/grub-set-default.h2m: New file.
	* docs/man/grub-setup.h2m: New file.

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

	Use FOR_* macros instead of *_iterate whenever possible.

	* commands/handler.c: Removed.
	* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
	* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
	* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
	(grub_probe_SOURCES): Remove kern/parser.c.
	(util/grub-script-check.c_DEPENDENCIES): Removed.
	(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
	and grub_script_check_init.c.
	(grub_script_check_init.lst): Removed.
	(grub_script_check_init.h): Likewise.
	(grub_script_check_init.c): Likewise.
	(pkglib_MODULES): Remove handler.mod and sh.mod.
	(handler_mod_SOURCES): Removed.
	(handler_mod_CFLAGS): Likewise.
	(handler_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Remove normal/handler.c.
	Add script/main.c, script/script.c, script/execute.c,
	script/function.c, script/lexer.c, grub_script.tab.c
	and grub_script.yy.c.
	* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
	* include/grub/command.h (grub_command_iterate): Removed.
	(FOR_COMMANDS): New macro.
	* include/grub/dl.h (grub_dl): New member next.
	(grub_dl_iterate): Removed.
	(grub_dl_head): New variable declaration.
	(FOR_DL_MODULES): New macro.
	* include/grub/fs.h: Include list.h.
	(grub_fs): Make next first element.
	(grub_fs_list): New variable declaration.
	(grub_fs_register): Make inline.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Removed.
	(FOR_FILESYSTEMS): New macro.
	* include/grub/handler.h: Removed.
	* include/grub/list.h (grub_list_hook_t): Removed.
	(grub_list_test_t): Likewise.
	(grub_list_pop): Likewise.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(FOR_LIST_ELEMENTS): New macro.
	* include/grub/parser.h (grub_parser_class): Removed.
	(grub_parser_register): Likewise.
	(grub_parser_unregister): Likewise.
	(grub_parser_get_current): Likewise.
	(grub_parser_set_current): Likewise.
	(grub_register_rescue_parser): Likewise.
	(grub_rescue_parse_line): New function.
	* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
	* include/grub/script_sh.h (grub_script_function_list): New variable
	declaration.
	(FOR_SCRIPT_FUNCTIONS): New macro.
	(grub_script_function_iterate): Removed.
	(grub_normal_parse_line): New prototype.
	* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
	(FOR_DISABLED_TERM_INPUTS): Likewise.
	(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
	(FOR_DISABLED_TERM_OUTPUTS): Likewise.
	* include/grub/video.h (grub_video_adapter): Move 'next' to first
	element.
	(grub_video_register): Inline.
	(grub_video_unregister): Likewise.
	(grub_video_adapter_list): New variable declaration.
	(grub_video_iterate): Removed.
	(FOR_VIDEO_ADAPTERS): New macro.
	* kern/dl.c (grub_dl_list): Removed. All users updated.
	(grub_dl_iterate): Removed.
	* kern/fs.c (grub_fs_list): Make global.
	(grub_fs_register): Removed.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Likewise.
	* kern/handler.c: Removed.
	* kern/list.c (grub_list_pop): Removed.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(grub_named_list_find): Use FOR_LIST_ELEMENTS.
	(grub_prio_list_insert): Don't use grub_list_insert.
	* kern/main.c (grub_register_rescue_parser): Don't call
	grub_register_rescue_parser.
	* kern/parser.c (grub_parser_class): Removed.
	(grub_parser_execute): Use grub_rescue_parse_line.
	* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
	(grub_rescue_parser): Removed.
	(grub_register_rescue_parser): Likewise.
	* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
	* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
	(grub_auth_check_authentication): Likewise.
	* normal/completion.c (iterate_command): Removed.
	(grub_normal_do_completion): Use FOR_COMMANDS.
	* normal/handler.c: Removed.
	* normal/main.c (read_config_file): Remove parser changing.
	(grub_normal_execute): Don't call read_handler_list.
	(grub_normal_read_line_real): Statically allocate prompt.
	(grub_cmdline_run): Use grub_normal_parse_line.
	(GRUB_MOD_FINI): Don't call free_handler_list.
	* normal/menu_entry.c (run): Likewise.
	* script/function.c (grub_script_function_list): Make global.
	(grub_script_function_iterate): Removed.
	* script/main.c (grub_normal_parse_line): Make global.
	(grub_sh_parser): Removed.
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* tests/lib/functional_test.c (grub_functional_test): Use
	FOR_LIST_ELEMENTS.
	* tests/lib/test.c (free_failures): Don't use grub_list_pop.
	(grub_test_run): Use FOR_LIST_ELEMENTS.
	* tests/lib/unit_test.c (main): Likewise.
	* util/deviceiter.c (grub_util_iterate_devices): Don't use
	grub_list_pop.
	* util/grub-fstest.c (grub_term_input_class): Removed.
	(grub_term_output_class): Likewise.
	* util/grub-probe.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
	* util/grub-script-check.c (main): Don't call grub_init_all and
	grub_fini_all.
	* video/video.c (grub_video_adapter_list): Make global.
	(grub_video_register): Removed.
	(grub_video_unregister): Likewise.
	(grub_video_iterate): Likewise.

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

	* docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
	reported by Henrique Ferreiro.

2010-06-09  Robert Millan  <rmh@gnu.org>

	* util/grub.d/10_linux.in: Prefer compressed images over non-compressed
	ones, when both are available.

2010-06-08  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Make --version uniform and avoid hard-coded program name.

	* util/grub-mkimage.c (main): Use `program_name' instead of
	hard-coded string.
	* util/i386/pc/grub-setup.c (main): Likewise.
	* util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
	* util/grub-install.in: Save the basename of $0 in $self, and use the
	latter in informational messages.  Use the same format for --version
	as the binary programs.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/i386/efi/grub-install.in: Likewise.
	* util/ieee1275/grub-install.in: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.

2010-06-08  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
	embedding area.  Use <= instead of == when checking for non-emptiness.

2010-06-08  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* configure.ac: Add `.' to the directories searched for unifont.

2010-06-08  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
	grub_script.yy.h.

2010-06-08  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (History): Expand to cover GRUB 2.
	(Serial terminal): Refer to `terminal_input' and `terminal_output'
	commands, not `terminal'.
	(serial): Likewise.
	(terminal_input): New section.
	(terminal_output): New section.
	(uppermem): New section (stub).
	(Obtaining and Building GRUB): Refer to Bazaar, not Subversion.

2010-06-08  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Security): Menu entries are unrestricted by
	default, not restricted to superusers as I had previously thought.
	Reword to account for this.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* kern/emu/misc.c (device_mapper_null_log): New function.
	(grub_device_mapper_supported): New function.
	* include/grub/emu/misc.h (grub_device_mapper_supported): Add
	prototype.
	* kern/emu/hostdisk.c (find_partition_start): Check whether
	device-mapper is supported before trying to use it.
	* util/deviceiter.c (grub_util_iterate_devices): Likewise.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Naming convention): Use GRUB 2 syntax.
	(File name syntax): Likewise.
	(help): --all is no longer supported in GRUB 2.  Be more precise
	about pattern matching.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* normal/completion.c (grub_normal_do_completion): When completing
	arguments to "set" and the current word contains an equals sign,
	skip to after the equals sign before starting completion.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Network): New section.
	(Device syntax): The network device is called `(pxe)' in GRUB 2, not
	`(nd)' as in GRUB Legacy.
	(pxe_unload): New section.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Troubleshooting): `echo' is not usually available
	in the rescue shell, so recommend using `set' instead.  Thanks,
	Jordan Uggla.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
	(password): New section.
	(password_pbkdf2): New section.
	(search): New section.
	(Security): New section.
	(Troubleshooting): New section, currently very incomplete.
	(Invoking grub-mkpasswd-pbkdf2): New section.
	(Internals): New section, currently very incomplete.

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Add some more quoting (of
	"${prev_saved_entry}" and "${boot_once}") needed to make savedefault
	work again.
	Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).

2010-06-07  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
	to `count', fixing variable shadowing that broke the -c option.

2010-06-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Quote values assigned to `saved_entry',
	in case they contain spaces.

2010-06-04  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
	"part_" to partmap module names, in line with grub-install.
	Reported by: Jindřich Makovička (Debian bug #584426).

2010-06-04  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkimage.c: Make target-related error messages slightly
	more helpful; -O talks about "format".  Explicitly point to the use
	of -O if no target is specified.
	Reported by: Didier Raboud (Debian bug #584415).

2010-06-03  Colin Watson  <cjwatson@ubuntu.com>

	* INSTALL: Document several build requirements for optional features
	(libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).

2010-06-02  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
	[__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
	(find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
	Thanks to Jordan Uggla for spotting this.

2010-06-02  Aleš Nesrsta <starous@volny.cz>

	Finally make USB usable.

	* bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
	(GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
	(GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
	(GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
	(GRUB_OHCI_FSMPS): Likewise.
	(GRUB_OHCI_PERIODIC_START): Likewise.
	(GRUB_OHCI_FRAME_INTERVAL): Likewise.
	(GRUB_OHCI_SET_PORT_ENABLE): Likewise.
	(GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
	(GRUB_OHCI_SET_PORT_RESET): Likewise.
	(GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
	(grub_ohci_transaction): Likewise.
	(grub_ohci_transfer): Improve condition detection algorithms.
	Handle toggle property. Program the transactions correctly.
	Improve error handling. Various important fixups.
	(grub_ohci_portstatus): Put register writes in right order.
	* bus/usb/uhci.c (grub_free_queue): Compute last_trans.
	(grub_uhci_transfer): Don't show "failed" message on success.
	* bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
	array.
	(grub_usb_device_initialize): Read first 8 bytes of descriptor to
	determine its size.
	* bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
	before initialization is completed. Use IN direction for empty
	transfers. Use last_trans and compute toggle.
	* include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
	(GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
	(GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
	(GRUB_USB_FEATURE_TEST_MODE): Likewise.
	* include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
	(grub_usb_device): Increase toggle to 256.
	(grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
	GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
	GRUB_USBMS_SUBCLASS_SFF8070.
	* include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
	(grub_scsi_inquiry): New member page and alloc_length.
	(grub_scsi_request_sense): New structure.
	(grub_scsi_request_sense_data): Likewise.
	(grub_scsi_read_capacity): New fields logical_block_addr, PMI and
	control.
	* disk/scsi.c (grub_scsi_request_sense): New function.
	(grub_scsi_test_unit_ready): Likewise.
	(grub_scsi_inquiry): Fill new fields.
	(grub_scsi_read_capacity): Likewise.
	(grub_scsi_read10): Add request sense at the end.
	(grub_scsi_read12): Likewise.
	(grub_scsi_write10): Likewise.
	(grub_scsi_write12): Likewise.
	(grub_scsi_open): Add Test Unit Ready.
	* disk/usbms.c (grub_usbms_finddevs): Check configcnt.
	Support additional subclasses. Con't clear halt yet. Activate the
	proper config. Calculate LUNs correctly.
	(grub_usbms_transfer): Various important fixups.

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

	* bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
	* bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
	(grub_ohci_fini_hw): New function.
	(grub_ohci_restore_hw): Likewise.
	(GRUB_MOD_INIT(ohci)): Register preboot hook.
	(GRUB_MOD_FINI(ohci)): Shutdown OHCI.
	* term/usb_keyboard.c: Remove include of grub/machine/console.h.

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

	Dedicated DMA allocations.

	* bus/pci.c (grub_memalign_dma32): New function
	(grub_dma_free): Likewise.
	(grub_dma_get_virt): Likewise.
	(grub_dma_get_phys): Likewise.
	* bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
	(grub_ohci_pci_iter): Use dma32_alloc.
	(grub_ohci_transfer): Likewise.
	* bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
	(grub_usb_bulk_readwrite): Likewise.
	* include/grub/pci.h: Add declarations.

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

	CS5536 support.

	* bus/cs5536.c: New file.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
	* conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
	(cs5536_mod_SOURCES): New variable.
	(cs5536_mod_CFLAGS): Likewise.
	(cs5536_mod_LDFLAGS): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
	machine/pci.h.
	(kernel_img_SOURCES): Add bus/cs5536.c.
	(pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
	usb_keyboard.mod.
	(usb_mod_SOURCES): New variable.
	(usb_mod_CFLAGS): New variable.
	(usb_mod_LDFLAGS): New variable.
	(usbtest_mod_SOURCES): New variable.
	(usbtest_mod_CFLAGS): New variable.
	(usbtest_mod_LDFLAGS): New variable.
	(ohci_mod_SOURCES): New variable.
	(ohci_mod_CFLAGS): New variable.
	(ohci_mod_LDFLAGS): New variable.
	(usbms_mod_SOURCES): New variable.
	(usbms_mod_CFLAGS): New variable.
	(usbms_mod_LDFLAGS): New variable.
	(usb_keyboard_mod_SOURCES): New variable.
	(usb_keyboard_mod_CFLAGS): New variable.
	(usb_keyboard_mod_LDFLAGS): New variable.
	* include/grub/smbus.h: New file.
	* include/grub/cs5536.h: New file.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Add safety check to make sure that
	${locale_dir} exists before trying to probe it.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
	per the GNU Coding Standards; this is now too obscure to be worth
	documenting.
	(QNX): Likewise.
	(chainloader): Remove cross-reference to `SCO UnixWare'.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Chain-loading): New section.
	(DOS/Windows): New section, borrowed from GRUB Legacy with details
	adjusted for GRUB 2.
	(SCO UnixWare): Likewise.
	(QNX): Likewise.
	(chainloader): Add reference to `Block list syntax'.
	(drivemap): New section.
	(parttool): New section.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
	the grub shell'.
	(Installation): Add reference to `Making a GRUB bootable CD-ROM'.
	(Installing GRUB using grub-install): Remove reference to the grub
	shell; mention `grub-mkimage' and `grub-setup' instead.
	(Invoking grub-install): Likewise.
	(Interface): Add reference to `Menu entry editor'.
	(serial): Remove `--device' option.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Configuration): New section, documenting
	configuration file generation using grub-mkconfig.  I've left a slot
	for documenting the full shell scripting format but have not yet
	started on writing that up.
	(Invoking grub-mkconfig): New section.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (direntry): Remove grub-terminfo reference.
	(GNU GRUB manual): Likewise.
	(General commands): Update description of `terminfo' for GRUB 2.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* commands/gptsync.c (grub_cmd_gptsync): Fix typos.
	(GRUB_MOD_INIT): Fix capitalisation.
	* docs/grub.texi (Command-line and menu entry commands): Document
	gettext and gptsync commands.

2010-06-02  Colin Watson  <cjwatson@ubuntu.com>

	* conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
	kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.

2010-06-01  Colin Watson  <cjwatson@ubuntu.com>

	Add btrfs probing support, currently only in the single-device case.

	* kern/emu/getroot.c (find_root_device_from_mountinfo): New
	function.
	(grub_guess_root_device): Call find_root_device_from_mountinfo
	before looking in /dev.

2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
	GRUB_DISK_SIZE_UNKNOWN.
	* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.

2010-05-31  Jiro SEKIBA <jir@unicus.jp>

	* include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
	* fs/nilfs.c: Support 2nd super block in case 1st one is accidently
	corrupted or not synced properly.

2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
	Reported by: Seth Goldberg.

2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
	addition of dest.
	Reported by: Seth Goldberg.

2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
	Reported by: Seth Goldberg.

2010-05-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
	64-bit address as signed on MIPS.

2010-05-28  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
	to the empty string.

2010-05-28  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix grub-emu issues on NetBSD, with gcc 4.1.3.

	* conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
	* include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
	* kern/misc.c (__enable_execute_stack): Disable on
	GRUB_MACHINE_EMU.

2010-05-28  Colin Watson  <cjwatson@ubuntu.com>

	Make grub-probe work with symbolic links under /dev/mapper as well
	as with real block devices.  The Linux world seems to be (at best)
	in transition here, and GRUB shouldn't get caught in the middle.

	* kern/emu/getroot.c (find_root_device): Follow symbolic links under
	/dev/mapper.

2010-05-27  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-script-check.c (main): Ensure defined behaviour on empty
	input files (in which case exit zero).

2010-05-27  Colin Watson  <cjwatson@ubuntu.com>

	* kern/emu/misc.c (canonicalize_file_name): realpath can still
	return NULL for various reasons even if it has a maximum-length
	buffer: for example, there might be a symlink loop, or the path
	might exceed PATH_MAX.  If this happens, return NULL.

2010-05-27  Robert Millan  <rmh@gnu.org>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
	partmap module to handle cross-partmap setups.
	Reported by Orestes Mas.  Gràcies!

2010-05-27  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in: Initialise override_dir rather than
	assuming that it's unset or empty in the environment.

2010-05-26  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
	variable index into p_index to suppress a warning with -Wshadow.

2010-05-25  BVK Chaitanya  <bvk.groups@gmail.com>

	* INSTALL: Added flex >= 2.5.35 requirement.

2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.

2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	cmostest support.

	* commands/i386/cmostest.c: New file.
	* conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
	(cmostest_mod_SOURCES): New variable.
	(cmostest_mod_CFLAGS): Likewise.
	(cmostest_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk: Likewise.
	* docs/grub.texi (Vendor power-on keys): New section.
	* util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
	GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
	and GRUB_BUTTON_CMOS_ADDRESS.
	* util/grub.d/00_header.in: Handle powering-on by separate button.

2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
	Removed drawing_scrollbar argument. All users updated
	Fixes #29792.
	Reported by Jo Shields

2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
	buffer since gfxterm handles double repaint.

2010-05-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
	* term/gfxterm.c (real_scroll): Likewise.

2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
	before calling BIOS.

2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i18n.h: Always enable grub_gettext.

2010-05-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
	partition naming style.

2010-05-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Fix handling of -o so that it works when
	not the first option.

2010-05-20  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrelpath.c (usage): Remove excess apostrophe.

2010-05-20  Colin Watson  <cjwatson@ubuntu.com>

	* util/misc.c: Move inclusion of <limits.h> to ...
	* kern/emu/misc.c: ... here.  Needed for canonicalize_file_name.

2010-05-20  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
	Fix merge error in NetBSD code.
	(find_partition_start) [__NetBSD__]: Likewise.

2010-05-19  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix grub-mkrescue usage unit testing.

	* tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.

2010-05-18  Christian Franke  <franke@computer.org>

	* util/grub.d/10_windows.in: Use path names instead of
	drive letters to prevent warning from Cygwin 1.7.
	Add drivemap command to menuentry if needed.

2010-05-18  Justus Winter  <4winter@informatik.uni-hamburg.de>

	* util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
	gnumach and gnumach.gz.

2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i18n.h (gettext): Inline instead of using #define.
	(grub_gettext): Likewise.
	(_): Likewise.

2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
	-DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
	* util/grub-mkimage.c (image_targets): Add i386-multiboot.
	(main): Add a slash after pkglibdirroot.

2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-install.in: Add missing "in" keyword.

2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Remove -O i386-pc duplication.
	Reported by: Seth Goldberg.

2010-05-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.

2010-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Check for Linux device-mapper support.

	* util/hostdisk.c (device_is_mapped): New function.
	(find_partition_start): New function, partly broken out from
	linux_find_partition and grub_util_biosdisk_get_grub_dev but with
	device-mapper support added.
	(linux_find_partition): Use find_partition_start.
	(convert_system_partition_to_system_disk): Add `st' argument.
	Support Linux /dev/mapper/* devices if device-mapper support is
	available; only DM-RAID devices are understood at present.
	(find_system_device): Add `st' argument.  Pass it to
	convert_system_partition_to_system_disk.
	(grub_util_biosdisk_get_grub_dev): Pass stat result to
	find_system_device and convert_system_partition_to_system_disk.  Use
	find_partition_start.

	* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
	kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
	* util/deviceiter.c [__linux__]: Define MINOR.
	(grub_util_iterate_devices): Add support for DM-RAID disk devices.
	* util/mkdevicemap.c (grub_putchar): New function.
	(grub_getkey): New function.
	(grub_refresh): New function.
	(main): Set debug=all if -v -v is used.

2010-05-18  Colin Watson  <cjwatson@ubuntu.com>

	Fix build with non-GNU libcs.

	* util/misc.c (canonicalize_file_name): Move to ...
	* kern/emu/misc.c (canonicalize_file_name): ... here.  Needed by
	grub_make_system_path_relative_to_its_root.

2010-05-18  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkrescue.in: Sync up with grub-install in terms of how
	we handle finding grub-mkimage.  Default to finding grub-mkimage in
	${bindir} with program_transform_name applied, and provide a
	--grub-mkimage option to override this.

2010-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove grub-mkisofs.

	* conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
	(grub_mkisofs_SOURCES): Removed.
	(grub_mkisofs_CFLAGS): Removed.
	* util/mkisofs/defaults.h: Removed.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/include/: Likewise.
	* util/mkisofs/include/fctldefs.h: Likewise.
	* util/mkisofs/include/mconfig.h: Likewise.
	* util/mkisofs/include/prototyp.h: Likewise.
	* util/mkisofs/include/statdefs.h: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/match.c: Likewise.
	* util/mkisofs/match.h: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/msdos_partition.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.

2010-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify grub-mkimage accross platforms.

	* Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
	* conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
	(grub_mkelfimage_SOURCES): Removed.
	(util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
	(util/grub-mkimage.c_DEPENDENCIES): .. this.
	(bin_UTILITIES): Add grub-mkimage.
	(grub_mkimage_SOURCES): New variable.
	(kernel_img_HEADERS): Remove machine/kernel.h.
	* conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	(kernel_img_HEADERS): Add machine/kernel.h.
	(kernel_img_FORMAT): Removed.
	(bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	(bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	* conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	* conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	(bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* configure.ac (machine_CFLAGS): Add "-DMACHINE".
	* include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
	(grub_pe32_optional_header): ... this.
	(grub_pe64_optional_header): ... and this. All users updated.
	(GRUB_PE32_PE32_MAGIC): Split into ..
	(GRUB_PE32_PE32_MAGIC): .. this.
	(GRUB_PE32_PE64_MAGIC): .. and this.
	(GRUB_PE32_SIGNATURE_SIZE): New definition.
	* include/grub/elf.h (PT_GNU_STACK): New definition.
	* include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
	* include/grub/i386/efi/kernel.h: Likewise.
	* include/grub/i386/kernel.h: Likewise.
	* include/grub/i386/pc/kernel.h: Likewise.
	* include/grub/i386/qemu/boot.h: Likewise.
	* include/grub/mips/kernel.h: Likewise.
	* include/grub/mips/qemu-mips/kernel.h: Likewise.
	* include/grub/powerpc/ieee1275/kernel.h: Likewise.
	* include/grub/powerpc/kernel.h: Likewise.
	* include/grub/sparc64/ieee1275/boot.h: Likewise.
	* include/grub/sparc64/ieee1275/kernel.h: Likewise.
	* include/grub/sparc64/kernel.h: Likewise.
	* include/grub/x86_64/efi/kernel.h: Likewise.
	* include/grub/x86_64/kernel.h: Likewise.
	* include/grub/offsets.h: New file.
	* include/grub/kernel.h (grub_module_info): Split into ...
	(grub_module_info32): ... this.
	(grub_module_info64): ... and this.
	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
	* include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
	(grub_boot_blocklist): Moved from here ...
	* include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
	* include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
	* include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
	* include/grub/types.h (grub_target_to_host16): Removed.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.
	(grub_host_to_target_addr): Likewise.

	Support grub-mkrescue for efi, coreboot and qemu.

	* conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
	* kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
	* util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
	* util/grub-mkrawimage.c: Moved from here ...
	* util/grub-mkimage.c: ... here. All users updated.
	(ALIGN_ADDR): Use image_target.
	(TARGET_NO_FIELD): New const.
	(image_target_desc): New type.
	(image_targets): New array.
	(grub_target_to_host64): Use image_target.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host16): Likewise.
	(grub_host_to_target64): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target_addr): Likewise.
	(generate_image): Handle multiimage.
	(main): Require -O parameter. All users updated.
	* util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
	util/efi/grub-mkimage.c
	* util/grub-mkrescue.in: Handle coreboot, efi and qemu.
	New option --rom-directory.
	Use xorriso.
	* util/i386/efi/grub-mkimage.c: Removed.
	* util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.
	* util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.

2010-05-17  BVK Chaitanya  <bvk.groups@gmail.com>

	Source tree is reorganized for emu build.

	* include/grub/util/console.h: Move from here...
	* include/grub/emu/console.h: ...to here.
	* include/grub/util/getroot.h: Move from here...
	* include/grub/emu/getroot.h: ...to here.
	* include/grub/util/hostdisk.h: Move from here...
	* include/grub/emu/hostdisk.h: ...to here.
	* util/console.c: Move from here...
	* kern/emu/console.c: ...to here.
	* util/getroot.c: Move from here...
	* kern/emu/getroot.c: ...to here.
	* util/grub-emu.c: Move from here...
	* kern/emu/main.c: ...to here.
	* util/hostdisk.c: Move from here...
	* kern/emu/hostdisk.c: ...to here.
	* util/hostfs.c: Move from here...
	* kern/emu/hostfs.c: ...to here.
	* util/mm.c: Move from here...
	* kern/emu/mm.c: ...to here.
	* util/pci.c: Move from here...
	* bus/emu/pci.c: ...to here.
	* util/sdl.c: Move from here...
	* video/emu/sdl.c: ...to here.
	* util/time.c: Move from here...
	* kern/emu/time.c: ...to here.
	* util/usb.c: Move from here...
	* bus/usb/emu/usb.c: ...to  here.

	* include/grub/emu/misc.h: New header for grub-emu functions.
	* kern/emu/misc.c: grub-emu functions separated from util/misc.c

	* conf/any-emu.rmk: Rule updates for above renames.
	* conf/common.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/i386-qemu.rmk: Likewise.
	* conf/mips.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86-efi.rmk: Likewise.

	* disk/lvm.h: #include updates for above renames.
	* util/grub-mkrelpath.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
	* kern/emu/console.c: Likewise.
	* kern/emu/getroot.c: Likewise.
	* kern/emu/hostdisk.c: Likewise.
	* kern/emu/main.c: Likewise. (was grub-emu.c earlier)

	* include/grub/dl.h: Remove grub_dl_{ref,unref}.
	* include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
	* kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
	* util/misc.c: Remove grub-emu functions.

2010-05-13  Vladimir Serbinenko  <phcoder@gmail.com>

	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-09  Vladimir Serbinenko  <phcoder@gmail.com>

	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-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* video/readers/jpeg.c: Indented.

2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Peter Hurley <No e-mail available> (tiny change)

	* 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  Vladimir Serbinenko  <phcoder@gmail.com>

	* 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  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
	error.

2010-05-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.

2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
	condition.

2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/mm.c (grub_real_malloc): Put magic and size assignment in common
	part.

2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/mm.c (grub_mm_init_region): Check for region size after aligning
	pointers.

2010-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.

2010-05-01  Christian Franke  <franke@computer.org>

	* 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  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/main.c (grub_load_config): Fix copy-pasted comment.
	Reported by: Seth Goldberg

2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/help.c (grub_cmd_help): Fix a typo.
	Reported by: Seth Goldberg

2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* 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  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
        extra == 0.

2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* 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  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/coreboot/init.c (grub_machine_init): Call
	grub_machine_mmap_init on qemu.

2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* boot/i386/qemu/boot.S: Add a missing .code16.

2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/parser.c (grub_parser_execute): Cope with read-only config.

2010-05-01  Vladimir Serbinenko  <phcoder@gmail.com>

	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  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix comment handling.

	* tests/grub_script_comments.in: New testcase.
	* conf/tests.rmk: Rules for new testcase.
	* script/yylex.l: Updated flex rules.

2010-04-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* docs/grub.texi (play): Document that zero pitches produce rests.
	* commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
	if argc is 1.

2010-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
	autogen issues.

2010-04-26  Christian Franke  <franke@computer.org>

	* 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-24  Christian Franke  <franke@computer.org>

	* Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
	(kernel_img_LDFLAGS): Remove -static-libgcc.

2010-04-24  Christian Franke  <franke@computer.org>

	* 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  Jiro SEKIBA <jir@unicus.jp>

	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-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
	is not supported.

2010-04-19  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Add grub-mkconfig support for NetBSD.

	* util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
	* util/grub-mkconfig.in: export new NetBSD specific variables.
	* po/POTFILES-shell: added 10_netbsd.in.
	* util/grub-mkconfig_lib.in: check for gettext binary, default to echo.

2010-04-19  BVK Chaitanya  <bvk.groups@gmail.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.

2010-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.

2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* 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  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub-mkconfig.in: Corrected two == equality tests.
	Set grub_prefix as in grub-install for NetBSD and OpenBSD.
	* configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
	expect a number appended to it.
	* acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
	expects a number appended to it.

2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* po/POTFILES: Renamed multiboot_loader.c to multiboot.c

2010-04-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/hostdisk.c (make_device_name): Change to new partition naming.

2010-04-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.

2010-04-17  Christian Franke  <franke@computer.org>

	* Makefile.in: Add missing localedir setting.

2010-04-14  Colin Watson  <cjwatson@ubuntu.com>

	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  BVK Chaitanya  <bvk.groups@gmail.com>

	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-13  BVK Chaitanya  <bvk.groups@gmail.com>

	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  Carles Pina i Estany  <carles@pina.cat>
2010-04-13  Colin Watson  <cjwatson@ubuntu.com>

	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.

2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.

2010-04-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Unify libgcc processing.

	* Makefile.in (kernel_img_LDFLAGS): New variable.
	* conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
	* conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
	overwriting.
	* conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
	overwriting. Remove -lgcc and -static-libgcc
	* conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
	* conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
	* conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
	(kernel_img_LDFLAGS): Append instead of overwriting.
	Remove -lgcc and -static-libgcc
	* conf/sparc64-ieee1275.rmk: Likewise.
	* include/grub/powerpc/libgcc.h: Move to ...
	* include/grub/libgcc.h: .. this.
	* include/grub/libgcc.h: Don't export most of the function on x86.
	(__bswapsi2): New export.
	(__bswapdi2): Likewise.
	* include/grub/mips/libgcc.h: Removed.
	* include/grub/sparc64/libgcc.h: Likewise.

2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
	disk_info_msg (conflicts with gettexting into languages with cases).

2010-04-10  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Add grub-probe support for NetBSD.

	* util/getroot.c (find_root_device): Convert block device to
	character device on NetBSD.
	* util/probe.c (probe): Require character device on NetBSD.
	* util/hostdisk.c: NetBSD specific headers.
	(configure_device_driver): new function to tune device driver
	parameters (currently only for NetBSD floppy driver).
	(grub_util_biosdisk_open): NetBSD specific code (get disk size
	via disklabel ioctl).
	(open_device): call configure_device_driver on NetBSD.
	(convert_system_partition_to_system_disk): NetBSD specific code.
	(device_is_wholedisk): Likewise.
	(grub_util_biosdisk_get_grub_dev): Likewise.
	(make_device_name): Fixed a typo in bsd_part_str.
	* configure.ac: check for opendisk() and getrawpartition() on
	NetBSD and set LIBUTIL.
	* Makefile.in: add LIBUTIL to LIBS.

2010-04-10  BVK Chaitanya  <bvk.groups@gmail.com>

	Documentation fix.

	* util/grub-script-check.c: Better help message.

2010-04-10  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix FreeBSD build.

	* configure.ac: Flex version check.
	* conf/common.rmk: Add -Wno-error to sh.mod.
	* script/yylex.l: Remove all #pragma.

2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/util/misc.h (canonicalise_file_name): Add missing
	prototype.
	Reported by: Seth Goldberg.

2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
	Rename "module" to "module2".
	Reported by: Seth Goldberg.

2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
	EXPORT_FUNC.
	Reported by: Seth Goldberg.

2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* lib/posix_wrap/locale.h: Add missing file.
	Reported by: Seth Goldberg.

2010-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	grub-emu module load support.

	* Makefile.in (TARGET_NO_MODULES): New variable. All users of
	NO_DYNAMIC_MODULES switched to this.
	(TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
	(CFLAGS): Likewise.
	* conf/any-emu.rmk: Generate symlist.
	(kernel_img_HEADERS): Add util/datetime.h.
	(kernel_img_HEADERS) [sdl]: Add sdl.h.
	(kernel_img_HEADERS) [libusb]: Add libusb.h.
	(kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
	kern/$(target_cpu)/cache.S.
	* configure.ac (grub-emu-modules): New option.
	* genmk.rb: Handle multiple source lists.
	* include/grub/sdl.h: New file.
	* include/grub/libusb.h: Likewise.
	* util/grub-emu.c (main): Hanle (host) root.
	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
	GRUB_ERR_UNKNOWN_DEVICE.
	* util/misc.c: Move mm functions to ...
	* util/mm.c: ... here. All users updated.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.in (RMKFILES): Search in srcdir and not current directory.
	(MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
	missing files.
	(maintainer-clean): Remove libgcrypt-grub.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/efi/console.c (grub_console_checkkey): Macroify key contants.

2010-04-09  EFI Coder <eficoder@hotmail.com>

	* normal/menu_text.c (print_message): Clean up the message and show
	the Fn information when on EFI
	* term/efi/console.c (grub_console_checkkey): Add F4 support.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/autofs.c (read_fs_list): New parameter 'prefix'.
	All users updated.
	* normal/crypto.c (read_crypto_list): Likewise.
	* normal/dyncmd.c (read_command_list): Likewise.
	* normal/term.c (read_terminal_list): Likewise.
	* normal/main.c (read_lists): Use explicit prefix.
	(read_lists_hook): Use read_lists.
	(grub_normal_execute): Likewise.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Fix incorrect path in coreboot part.
	Reported by: Thomas Schmitt.
	Add -no-emul-boot to grub-mkisofs parameters.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* font/font.c: Indented.

2010-04-09  BVK Chaitanya  <bvk.groups@gmail.com>

	Elif support to GRUB script (by Deepak Vankadaru).

	* tests/grub_script_if.in: New testcase.
	* conf/tests.rmk: Rule for new testcase.
	* script/parser.y: Grammar rules for elif.

2010-04-09  BVK Chaitanya  <bvk.groups@gmail.com>

	While and until loops support to GRUB script.

	* include/grub/script_sh.h (grub_script_cmdwhile): New struct.
	(grub_script_create_cmdwhile): New function prototype.
	(grub_script_execute_cmdwhile): New function prototype.
	* script/execute.c (grub_script_execute_cmdwhile): New function.
	* script/parser.y (command): New commands.
	(whilecmd): New grammar rule.
	(untilcmd): New grammar rule.
	* script/script.c (grub_script_create_cmdwhile): New function.
	* util/grub-script-check.c (grub_script_execute_cmdwhile): New
	function.

	* tests/grub_script_while1.in: New testcase.
	* conf/tests.rmk: Rule for new testcase.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
	as *.jpg.

2010-04-09  Mario Vazquez <mariovazq@gmail.com>

	GRUB_BACKGROUND support.

	* util/grub-mkconfig.in: Export GRUB_BACKGROUND.
	* util/grub.d/00_header.in: Parse GRUB_BACKGROUND.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Load fonts and modules for gfxmenu in grub-mkconfig.
	Idea by: Mario Vazquez

	* util/grub.d/00_header.in: Load pf2 and image modules.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	grub-mkconfig multiple terminal support.

	* util/grub-mkconfig.in: Handle multiple terminals correctly.
	* util/grub.d/00_header.in: Likewise.

2010-04-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.in: Specify files explicitly instead of using $< and $@ since
	we use cd $(srcdir).

2010-04-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/10_linux.in: Only use the first word of
	GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
	spaces in GRUB_DISTRIBUTOR.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.

2010-04-06  BVK Chaitanya  <bvk.groups@gmail.com>

	Fix unit testing framework for Qemu 0.12.

	* tests/util/grub-shell.in: Remove -serial stdio option.

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

	POSIX header file wrappers.

	* lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
	equivalents.
	* lib/posix_wrap/ctype.h: Likewise.
	* lib/posix_wrap/errno.h: Likewise.
	* lib/posix_wrap/langinfo.h: Likewise.
	* lib/posix_wrap/limits.h: Likewise.
	* lib/posix_wrap/localcharset.h: Likewise.
	* lib/posix_wrap/stdint.h: Likewise.
	* lib/posix_wrap/stdio.h: Likewise.
	* lib/posix_wrap/stdlib.h: Likewise.
	* lib/posix_wrap/string.h: Likewise.
	* lib/posix_wrap/sys/types.h: Likewise.
	* lib/posix_wrap/unistd.h: Likewise.
	* lib/posix_wrap/wchar.h: Likewise.
	* lib/posix_wrap/wctype.h: Likewise.
	* conf/common.rmk (grub_script.yy.c): Remove #include elimination.
	(grub_script.yy.h): Likewise.
	* script/yylex.l: Remove POSIX emulation #defines.
	* Makefile.in (POSIX_CFLAGS): New variable.
	(GNULIB_UTIL_CFLAGS): Likewise.

	Regexp support.

	* conf/common.rmk (pkglib_MODULES): Add regexp.mod.
	(regexp_mod_SOURCES): New variable.
	(regexp_mod_CFLAGS): Likewise.
	(regexp_mod_LDFLAGS): Likewise.
	* commands/regexp.c: New file.
	* gnulib/regcomp.c: New file. Imported from gnulib.
	* gnulib/regex.c: Likewise.
	* gnulib/regex_internal.c: Likewise.
	* gnulib/regex_internal.h: Likewise.
	* gnulib/regexec.c: Likewise.
	* gnulib/regex.h: Likewise.

2010-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
	unsupported video mode types.

2010-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).

2010-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
	* conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.

2010-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove unused grub_vga_get_font.

	* kern/i386/pc/startup.S (grub_vga_get_font): Removed.
	* include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.

2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* kern/misc.c: Disable the __enable_execute_stack hack for utilities.
	* include/grub/misc.h: Likewise.

2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub-install.in: Add `|| exit 1' to all grub-probe calls
	for which failure is fatal.

2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/grub-install.in: Use mkdir -p to create grub directory.
	* util/i386/efi/grub-install.in: Likewise.
	* util/ieee1275/grub-install.in: Likewise.

2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* Makefile.in (LEX): new variable.

2010-04-03  Grégoire Sutre  <gregoire.sutre@gmail.com>

	* util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
	`=' and added double quotes on operands of this equality test.

2010-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.in (uninstall): Remove a leftover debug echo.
	Reported by: Grégoire Sutre

2010-04-03  Vladimir Serbinenko  <phcoder@gmail.com>

	MIPS multiboot2 support.

	* conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
	(multiboot2_mod_SOURCES): New variable.
	(multiboot2_mod_CFLAGS): Likewise.
	(multiboot2_mod_LDFLAGS): Likewise.
	(multiboot2_mod_ASFLAGS): Likewise.
	* include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
	definition.
	(MULTIBOOT_ENTRY_REGISTER): Likewise.
	(MULTIBOOT_MBI_REGISTER): Likewise.
	(MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
	(MULTIBOOT_ELF32_MACHINE): Likewise.
	(MULTIBOOT_ELF64_MACHINE): Likewise.
	* include/grub/mips/multiboot.h: New file.
	* include/grub/video.h (grub_video_driver_id): New type
	GRUB_VIDEO_DRIVER_SM712.
	(grub_video_get_info_and_fini): Export.
	(grub_video_get_palette): Likewise.
	(grub_video_get_driver_id): Likewise.
	* include/multiboot2.h: Resynced with spec.
	* loader/i386/multiboot.c: Moved from here ...
	* loader/multiboot.c: ... here. All users updated.
	(grub_multiboot_boot): Use platform-specific macros.
	* loader/i386/multiboot_elfxx.c: Moved from here ...
	* loader/multiboot_elfxx.c: ... here. All users updated.
	(E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
	* loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
	* video/sm712.c (grub_video_sm712_adapter): Add missing id field.

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

	Import gnulib argp module.

	* gnulib/argp-ba.c: New file.
	* gnulib/argp-eexst.c: Likewise.
	* gnulib/argp-fmtstream.c: Likewise.
	* gnulib/argp-fmtstream.h: Likewise.
	* gnulib/argp-fs-xinl.c: Likewise.
	* gnulib/argp-help.c: Likewise.
	* gnulib/argp-namefrob.h: Likewise.
	* gnulib/argp-parse.c: Likewise.
	* gnulib/argp-pin.c: Likewise.
	* gnulib/argp-pv.c: Likewise.
	* gnulib/argp-pvh.c: Likewise.
	* gnulib/argp-version-etc.c: Likewise.
	* gnulib/argp-version-etc.h: Likewise.
	* gnulib/argp-xinl.c: Likewise.
	* gnulib/argp.h: Likewise.

2010-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/device.c (grub_device_iterate): Clear errors after failed
	opening device.

2010-03-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
	returned by firmware.

2010-03-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
	compilation on coreboot and qemu

2010-03-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/multiboot2.h: Resync with spec.

2010-03-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Multiboot2 tag support

	* conf/i386.rmk (multiboot2_mod_SOURCES): Replace
	loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
	Remove loader/multiboot_loader.c.
	* include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
	(grub_multiboot2_real_boot): Likewise.
	* include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
	(grub_get_multiboot_mmap_count): New proto.
	(grub_fill_multiboot_mmap): Likewise.
	(grub_multiboot_set_video_mode): Likewise.
	(grub_multiboot_set_console): Likewise.
	(grub_multiboot_load): Likewise.
	(grub_multiboot_load_elf): Likewise.
	(GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
	(GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
	* include/multiboot.h: Resynced with specification.
	* include/multiboot2.h: Resynced with specification.
	* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
	* loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
	* loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
	* include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
	users updated.
	* loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
	* loader/i386/multiboot.c (accepts_video): ... here. All users updated.
	* loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
	Removed.
	* loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
	Moved from here...
	* loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
	* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
	Moved from here...
	* loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
	* loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
	* loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
	All users updated.
	* loader/i386/multiboot_mbi2.c: New file.

2010-03-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Resync with gnulib.

	* Makefile.in (GNULIB_CFLAGS): New variable.
	* conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
	(grub_script_check_CFLAGS): New variable.
	* gnulib/alloca.h: Resync with gnulib.
	* gnulib/error.c: Likewise.
	* gnulib/error.h: Likewise.
	* gnulib/fnmatch.c: Likewise.
	* gnulib/fnmatch_loop.c: Likewise.
	* gnulib/getdelim.c: Likewise.
	* gnulib/getline.c: Likewise.
	* gnulib/getopt.c: Likewise.
	* gnulib/getopt1.c: Likewise.
	* gnulib/getopt_int.h: Likewise.
	* gnulib/gettext.h: Likewise.
	* gnulib/progname.c: Likewise.
	* gnulib/progname.h: Likewise.

2010-03-27  Grégoire Sutre  <gregoire.sutre@gmail.com>

	Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
	which is the case with --disabled-nls.

	* include/grub/i18n.h: Use (defined(ENABLE_NLS)
	&& ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
	* util/misc.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.

2010-03-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Simplify Apple CC support.

	* commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
	Add 0 byte at the end not to have a symbol with empty target.
	* mmap/i386/pc/mmap_helper.S: Likewise.
	* genmk.rb: Ignore errors 2030 and 2050.
	* kern/i386/pc/startup.S: Use LOCAL when possible.

2010-03-26  BVK Chaitanya  <bvk.groups@gmail.com>

	Testcase and the fix for final semicolon on cmdline.

	* tests/grub_script_final_semicolon.in: New testcase.
	* conf/tests.rmk: Rules for the new testcase.
	* script/parser.y: Grammar fix.

2010-03-26  BVK Chaitanya  <bvk@localhost>

	Blank lines testcase for GRUB script.

	* tests/grub_script_blanklines.in: New testcase.
	* conf/tests.rmk: Rules for the new testcase.

2010-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't use __FILE__.

	* genmk.rb: Add -DGRUB_FILE to all C targets.
	* fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
	* include/grub/list.h: Likewise.
	* include/grub/misc.h: Likewise.
	* include/grub/mm.h: Likewise.
	* include/grub/test.h: Likewise.
	* kern/mm.c: Likewise.
	* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.

2010-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Sunpc partitions support.

	* conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add part_sunpc.mod.
	(part_sunpc_mod_SOURCES): New variable.
	(part_sunpc_mod_CFLAGS): Likewise.
	(part_sunpc_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
	* partmap/sunpc.c: New file.

2010-03-26  BVK Chaitanya  <bvk@localhost>

	For loop support to GRUB script.

	* include/grub/script_sh.h (grub_script_cmdfor): New struct.
	(grub_script_create_cmdfor): New function prototype.
	(grub_script_execute_cmdfor): New function prototype.
	* script/execute.c (grub_script_execute_cmdfor): New function.
	* script/parser.y (command): New for command.
	(forcmd): New grammar rule.
	* script/script.c (grub_script_create_cmdfor): New function.
	* util/grub-script-check.c (grub_script_execute_cmdfor): New
	function.
	* tests/grub_script_for1.in: New testcase.
	* conf/tests.rmk: Rules for new testcase.

2010-03-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Nested partitions

	* commands/blocklist.c (grub_cmd_blocklist): Don't check whether
	'partition' is NULL, grub_partition_get_start already does that.
	* commands/loadenv.c (check_blocklists): Likewise.
	(write_blocklists): Likewise.
	* conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add part_bsd.mod.
	(part_bsd_mod_SOURCES): New variable.
	(part_bsd_mod_CFLAGS): Likewise.
	(part_bsd_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
	(grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* include/grub/bsdlabel.h: New file.
	* include/grub/partition.h (grub_partition_map): Remove 'probe' and
	'get_name'.
	(grub_partition): Add 'parent' and 'number'. Remove 'data'.
	(grub_partition_map_list): New variable.
	(grub_partition_map_register): Inline.
	(grub_partition_map_unregister): Likewise.
	(FOR_PARTITION_MAPS): New macro.
	(grub_partition_map_iterate): Removed.
	(grub_partition_get_start): Handle nested partitions.
	* include/grub/msdos_partition.h: Remove bsd-related entries.
	(grub_pc_partition): Remove.
	* kern/disk.c (grub_disk_close): Free partition data.
	(grub_disk_adjust_range): Handle nested partitions.
	* kern/partition.c (grub_partition_map_probe): New function.
	(grub_partition_probe): Parse name to number, handle subpartitions.
	(get_partmap): New function.
	(grub_partition_iterate): Handle subpartitions.
	(grub_partition_get_name): Likewise.
	* loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
	* loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
	* loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
	* partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
	Set 'number'.
	(acorn_partition_map_probe): Remove.
	(acorn_partition_map_get_name): Likewise.
	* partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
	Set 'number'.
	Set 'index' to 0 since there can be only one partition entry per sector.
	(amiga_partition_map_probe): Remove.
	(amiga_partition_map_get_name): Likewise.
	* partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
	Set 'number'.
	Set 'offset' and 'index' to real positions of partitions.
	(apple_partition_map_probe): Remove.
	(apple_partition_map_get_name): Likewise.
	* partmap/bsdlabel.c: New file.
	* partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
	Set 'number'.
	Allocate 'data' so it can be correctly freed.
	Set 'index' to offset inside sector.
	(gpt_partition_map_probe): Remove.
	(gpt_partition_map_get_name): Likewise.
	* partmap/msdos.c (grub_partition_parse): Remove.
	(pc_partition_map_iterate): Don't force raw access.
	Set 'number'.
	Make 'ext_offset' a local variable.
	(pc_partition_map_probe): Remove.
	(pc_partition_map_get_name): Remove.
	* partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
	Set 'number'.
	(sun_partition_map_probe): Remove.
	(sun_partition_map_get_name): Likewise.
	* parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
	(grub_pcpart_type): Likewise.
	* util/hostdisk.c (open_device): Handle new numbering scheme.
	(grub_util_biosdisk_get_grub_dev): Handle nested partitions.
	* util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
	* util/grub-probe.c (probe_partmap): Handle nested paritions.
	* util/grub-install.in: Insert all subpartition modules.
	* util/ieee1275/grub-install.in: Likewise.

2010-03-24  Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>

	* kern/dl.c (grub_dl_resolve_symbols): Improve error message
	grammar.

2010-03-24  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.

2010-03-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in: Copy .mo files from @datadir@/locale, to
	match where 'make install' puts them.
	* util/i386/efi/grub-install.in: Likewise.

2010-03-19  Colin Watson  <cjwatson@ubuntu.com>

	* .bzrignore: Add gentrigtables, grub-script-check,
	grub_script_check_init.c, grub_script_check_init.h, and
	trigtables.c.

2010-03-18  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/parser.c: Indented.

2010-03-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).

2010-03-17  Vladimir Serbinenko  <phcoder@gmail.com>

	* video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
	alpha_mask_size == 0 case.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Colin King  <colin.king@ubuntu.com>
2010-03-14  Colin Watson  <cjwatson@ubuntu.com>

	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.

2010-03-14  Colin Watson  <cjwatson@ubuntu.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Vladimir Serbinenko  <phcoder@gmail.com>

	* 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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	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  Thorsten Glaser <tg@mirbsd.org>

	* util/grub-mkrescue.in: Base ISO UUID on UTC.

2010-03-08  Matt Kraai  <kraai@ftbfs.org>

	* util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
	bug #559005).

2010-03-07  Vladimir Serbinenko  <phcoder@gmail.com>

	* genmoddep.awk: Output all missing symbols and not only first.

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

	* NEWS: Put the date of 1.98 release.

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

	* configure.ac: Update CPPFLAGS and not CFLAGS when checking for
	ft2build.h.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrescue.in: Use mktemp with explicit template.

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

	* loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.

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

	* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
	right pointer.

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-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/scsi.c (grub_scsi_iterate): Fix a memory leak.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Alias amd64 to x86_64.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* NEWS: mention multiboot on EFI.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/autofs.c (autoload_fs_module): Handle errors.

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  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  Christian Franke  <franke@computer.org>

	* util/grub-pe2elf.c: Add missing include "progname.h".

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/crypto.c (read_crypto_list): Fix a typo.
	Reported by: Seth Goldberg.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.in (DISTCLEANFILES): Add stamp-h1.
	Reported by: Seth Goldberg.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
	ascii.bitmaps.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* genmk.rb: Remove terminal*.lst in make clean.
	Reported by: Seth Goldberg.

2010-03-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/i386/efi/grub-install.in: Copy gettext files.

2010-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.

2010-03-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Update version to 1.98.

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-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  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-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  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  Joey Korkames  <joey+lists@kidfixit.com>

	* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
	duplicate declaration of `start'.

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-20  Carles Pina i Estany  <carles@pina.cat>

	* util/grub-mkrawimage.c (usage): Change string formatting to
	improve gettext.

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  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-18  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-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  Georgy Buranov <gburanov@gmail.com>

	* disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* gensymlist.sh.in: Use TARGET_CC instead of CC.

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  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  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-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  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
	escape sequence after \e.

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

	* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
	non-ASCII characters.

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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
	Reported by: Pavel Pisa.

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

	* io/gzio.c (grub_gzio_open): Use grub_zalloc.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
	opening and not after.

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

	* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
	constants.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.

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

	* kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.

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

	* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
	verbose dprintf.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrawimage.c (main): Call set_program_name.

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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.

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  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  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-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check for ft2build.h.

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

	* kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".

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

	* genkernsyms.sh.in: Use TARGET_CC.

2010-02-07  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: Update.

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

	* include/grub/multiboot2.h: Remove leftover file.
	* include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
	* include/grub/partition.h [GRUB_UTIL]: Likewise.

2010-02-07  Yves Blusseau  <blusseau@zetam.org>

	* gnulib/getdelim.c: add missing header (type ssize_t must be defined).

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.
	* 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  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/linux.c (grub_linux_setup_video): Handle error
	appropriately.

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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/err.h (grub_err_printf): Don't export.

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

	* include/grub/dl.h (grub_dl_register_symbol): Don't export.

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-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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/ls.c (grub_ls_list_files): Free pathname on exit.

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

	* fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.

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  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  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/10_hurd.in: Add --class information to menuentries.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
	disk devices.

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

	* kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
	error.

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  Torsten Landschoff   <torsten@debian.org>

	* kern/disk.c (grub_disk_read): Fix offset computation when reading
	last sectors.

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-01-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.

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-28  Christian Schmitt  <chris@ilovelinux.de>

        * util/ieee1275/grub-install.in: Fix nvsetenv arguments.

2010-01-28  BVK Chaitanya  <bvk.groups@gmail.com>

	* include/grub/script_sh.h (sourcecode): Add const qualifier.
	* util/grub-script-check.c (getline): Fix empty lines case.

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  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-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
	of the line.

2010-01-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/disk.c (grub_disk_read): Fix offset computation when reading
	last sectors.

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  Robert Millan  <rmh.grub@aybabtu.com>

	* util/hostfs.c: Include `<errno.h>'.
	(grub_hostfs_read): Handle errors from fseeko() and fread().

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  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  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
	memleak conditions.

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-26  Carles Pina i Estany  <carles@pina.cat>

	* util/bin2h.c (usage): Fix warning (space after backslash).

2010-01-26  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  Robert Millan  <rmh.grub@aybabtu.com>

	* util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
	does.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Reset LIBS after check for libgcc symbols.

2010-01-25  Colin Watson  <cjwatson@ubuntu.com>

	* util/hostdisk.c (open_device): Add trailing newline to debug
	message.

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-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  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/10_hurd.in: Add a recovery mode.

2010-01-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Check for libgcc symbols with -nostdlib.

2010-01-23  BVK Chaitanya  <bvk.groups@gmail.com>

	* acinclude.m4: Quote underquoted AC_DEFUN parameters.

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  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  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  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-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-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  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/misc.c (make_system_path_relative_to_its_root): Fix typo.

2010-01-21  Robert Millan  <rmh.grub@aybabtu.com>

	* po/POTFILES: Remove mkisofs-related files.  They have their own TLP
	domain now.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/mips.rmk (kernel_img_HEADERS): Add env_private.h

2010-01-20  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
	unnecessary calls.

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  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  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.
	* video/sm712.c (grub_video_sm712_setup): Likewise.
	* util/pci.c (grub_pci_make_address): Use byte-addressed configuration
	space.

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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.

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  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  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/00_header.in: Fix stupid mistake from last commit.

2010-01-20  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/00_header.in: Fix handling of locale_dir.

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  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  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  BVK Chaitanya  <bvk.groups@gmail.com>

	* include/grub/script_sh.h (sourcecode): Remove const qualifier to
	fix grub-script-check warning.

2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/font.h (grub_font_load): Fix prototype.

2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.

2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/x86_64/at_keyboard.h: New file.

2010-01-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/mips/linux.c: Include missing grub/i18n.h.

2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/menu.c (notify_execution_failure): Clarify error message.

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  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.

2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/mips/linux.c (grub_cmd_initrd)
	(GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.

2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/mips/yeeloong/init.c (grub_video_sm712_init)
	(grub_video_video_init, grub_video_bitmap_init)
	(grub_font_manager_init, grub_term_gfxterm_init)
	(grub_at_keyboard_init): New extern declarations.
	(grub_machine_init): Initialize gfxterm and at_keyboard.

	* kern/main.c (grub_main): Revert grub_printf delay kludge.

	* util/grub-install.in: Revert embed of `at_keyboard.mod' and
	`gfxterm.mod' into core image.

	* conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): Copy to ...

	* conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): ... here, and ...

	* conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): ... here.

	(kernel_img_SOURCES): Add files necessary for output (gfxterm)
	and input (at_keyboard) terminals in kernel.
	(kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.

	(pkglib_MODULES): Remove `pci.mod'.
	(pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
	(sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
	(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
	(at_keyboard_mod_LDFLAGS): Remove variables.

2010-01-11  Felix Zielcke <fzielcke@z-51.de>

	* po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.

2009-12-10  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/mips/libgcc.h: Only export symbols for functions
	that libgcc provides.

2009-12-02  Vladimir Serbinenko  <phcoder@gmail.com>

	MIPS support.

	* bus/bonito.c: New file.
	* bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
	GRUB_PCI_NUM_DEVICES.
	* term/i386/pc/serial.c: Move to ...
	* term/serial.c: ... here. All users updated.
	* util/i386/pc/grub-mkimage.c: Move to ...
	* util/grub-mkrawimage.c: ... here. All users updated.
	* term/i386/pc/at_keyboard.c: Move to ...
	* term/at_keyboard.c: ... here. All users updated.
	* conf/mips-qemu-mips.rmk: New file.
	* conf/mips-yeeloong.rmk: Likewise.
	* conf/mips.rmk: Likewise.
	* configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
	mipsel-qemu-mips.
	* disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
	to port addresses.
	(grub_ata_pciinit): Support CS5536.
	* font/font.c (grub_font_load): Use grub_file_t instead of filename.
	* font/font_cmd.c (loadfont_command): Open file before passing it to
	grub_font_load.
	(pseudo_file_read): New function.
	(pseudo_file_close): Likewise.
	(pseudo_fs): New structure.
	(load_font_module): New function.
	(GRUB_MOD_INIT(font_manager)): Load embedded font.
	* fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
	* genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
	* genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
	* include/grub/i386/at_keyboard.h: Split into ...
	* include/grub/at_keyboard.h: ... this ...
	* include/grub/i386/at_keyboard.h: ... and this.
	* include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
	New prototype.
	* include/grub/elfload.h (grub_elf32_size): New parameter. All users
	updated.
	(grub_elf64_size): Likewise.
	* include/grub/font.h (grub_font_load): Use grub_file_t instead of
	filename.
	* include/grub/i386/io.h (grub_port_t): New type. All users updated.
	* include/grub/i386/coreboot/serial.h: Rewritten.
	* include/grub/i386/ieee1275/serial.h: Include
	grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
	* include/grub/i386/pc/serial.h: Moved from here ...
	* include/grub/serial.h: ... to here. All users updated.
	* include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
	(GRUB_PCI_NUM_BUS): Likewise.
	(GRUB_PCI_NUM_DEVICES): Likewise.
	(grub_pci_device_map_range): Add missing volatile keyword.
	* include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
	* include/grub/mips/at_keyboard.h: New file.
        * include/grub/mips/cache.h: Likewise.
        * include/grub/mips/io.h: Likewise.
        * include/grub/mips/kernel.h: Likewise.
        * include/grub/mips/libgcc.h: Likewise.
        * include/grub/mips/pci.h: Likewise.
        * include/grub/mips/qemu-mips/boot.h: Likewise.
        * include/grub/mips/qemu-mips/kernel.h: Likewise.
        * include/grub/mips/qemu-mips/loader.h: Likewise.
        * include/grub/mips/qemu-mips/memory.h: Likewise.
        * include/grub/mips/qemu-mips/serial.h: Likewise.
        * include/grub/mips/qemu-mips/time.h: Likewise.
        * include/grub/mips/relocator.h: Likewise.
        * include/grub/mips/time.h: Likewise.
        * include/grub/mips/types.h: Likewise.
        * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
        * include/grub/mips/yeeloong/boot.h: Likewise.
        * include/grub/mips/yeeloong/kernel.h: Likewise.
        * include/grub/mips/yeeloong/loader.h: Likewise.
        * include/grub/mips/yeeloong/memory.h: Likewise.
        * include/grub/mips/yeeloong/pci.h: Likewise.
        * include/grub/mips/yeeloong/serial.h: Likewise.
        * include/grub/mips/yeeloong/time.h: Likewise.
	* kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
	* kern/elf.c (grub_elf32_size): New parameter. All users
	updated.
	(grub_elf64_size): Likewise.
	* kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
	Load modules before saying "Welcome to GRUB!".
	Call grub_refresh after saying "Welcome to GRUB!".
        * kern/mips/cache.S: New file.
        * kern/mips/cache_flush.S: Likewise.
        * kern/mips/dl.c: Likewise.
        * kern/mips/init.c: Likewise.
        * kern/mips/qemu-mips/init.c: Likewise.
        * kern/mips/startup.S: Likewise.
        * kern/mips/yeeloong/init.c: Likewise.
	* kern/term.c (grub_putcode): Handle NULL terminal.
	(grub_getcharwidth): Likewise.
	(grub_getkey): Likewise.
	(grub_checkkey): Likewise.
	(grub_getkeystatus): Likewise.
	(grub_getxy): Likewise.
	(grub_getwh): Likewise.
	(grub_gotoxy): Likewise.
	(grub_cls): Likewise.
	(grub_setcolorstate): Likewise.
	(grub_setcolor): Likewise.
	(grub_getcolor): Likewise.
	(grub_refresh): Likewise.
	* lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
	(write_jump): Add hatch nop.
	* lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
        * lib/mips/setjmp.S: New file.
        * loader/mips/linux.c: Likewise.
	* term/i386/pc/at_keyboard.c: Move from here ...
	* term/at_keyboard.c: ... to here.
	* term/i386/pc/serial.c: Moved from here ...
	* term/serial.c: ... to here. All users updated.
	(TEXT_HEIGHT): Set to 24 to fit linux terminal.
	(serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
	(serial_translate_key_sequence): Avoid deadlock.
	(grub_serial_getkey): Handle backspace.
	(grub_serial_putchar): Fix newline handling.
	* util/i386/pc/grub-mkimage.c: Move from here ...
	* util/grub-mkrawimage.c: ... to here. All users updated.
	(generate_image): New parameters 'font_path' and 'format'.
	Support embedding font.
	Use grub_host_to_target* instead of grub_cpu_to_le*.
	(generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
	(options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
	(options): New option "--font".
	(usage): Likewise.
	(main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
	(main): Handle "--font".
	* term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
	(grub_virtual_screen_setup): Set bg_color_display.
	(redraw_screen_rect): Use bg_color_display instead of incorrect
	bg_color.
	(grub_gfxterm_cls): Likewise.
	* util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
	Support embedding config file.
	(add_segments): Likewise.
	(options): New option "--config".
	(main): Handle "--config".
	* video/sm712.c: New file.

2010-01-18  Robert Millan  <rmh.grub@aybabtu.com>

	Fix parallel builds.

	* conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
	font.c depend on ascii.h).

2010-01-12  Carles Pina i Estany  <carles@pina.cat>

	* Makefile.in (DUSE_ASCII_FAILBACK): New macro.

2010-01-11  Carles Pina i Estany  <carles@pina.cat>

	* font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
	By default: disabled.
	* Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
	parameter.

2010-01-10  Carles Pina i Estany  <carles@pina.cat>

	* font/font.c: Update copyright years.
	* util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.

2010-01-10  Carles Pina i Estany  <carles@pina.cat>

	* font/font.c: Include `ascii.h'.
	(ASCII_BITMAP_SIZE): New macro.
	(ascii_font_glyph): Define.
	(ascii_glyph_lookup): New function.
	(grub_font_get_string_width): Change comment. If glyph not found, use
	ascii_glyph_lookup.
	(grub_font_get_glyph_with_fallback): If glyph not available returns
	ascii_glyph_lookup.
	* util/grub-mkfont.c (file_formats): New enum.
	(options): Add `ascii-bitmaps' new option.
	(usage): Add `asii-bitmaps' new option.
	(write_font_ascii_bitmap): New function.
	(write_font): Rename to ...
	(write_font_p2): ... this. Remove print_glyphs call.
	(main): Use file_format. Implement code for ranges if ascii-bitmaps is
	used. Call print_glyphs.
	* Makefile.in (pkgdata_DATA): Add `ascii.h'.

2010-01-14  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
	(grub_bin2h_SOURCES): New variable.
	* util/bin2h.c: New file.

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-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  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  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/bsd.h: Fix include pathes.

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  Robert Millan  <rmh.grub@aybabtu.com>

	* acinclude.m4: Remove `nop' assembly instruction; it's not
	implemented by all architectures.

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  BVK Chaitanya  <bvk.groups@gmail.com>

	Added new tool, grub-scrit-check to verify grub.cfg syntax.

	* util/grub-script-check.c: grub-script-check tool.
	* conf/common.rmk: Make rules for grub-script-check.

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  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-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  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  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-16  Grégoire Sutre <gregoire.sutre@gmail.com>

	* genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.

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  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-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  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  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-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  Carles Pina i Estany  <carles@pina.cat>

	* normal/cmdline.c (print_completion): Gettextizze.

2001-01-14  Carles Pina i Estany  <carles@pina.cat>

	* loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.

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  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-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-05  Jordan Uggla  <jordan.uggla@gmail.com>
2010-01-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Define a "savedefault" function for use
	in menu entries.
	* util/grub-mkconfig_lib.in (save_default_entry): Use it.

2010-01-05  Jordan Uggla  <jordan.uggla@gmail.com>
2010-01-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (save_default_entry): Only set
	saved_entry if boot_once is unset.
	* util/grub.d/00_header.in: Set boot_once to "true" if there was a
	previous saved entry (i.e. grub-reboot).

2009-12-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/30_os-prober.in: Call save_default_entry for hurd.

2009-12-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Use `set var=val' rather than plain
	`var=val'.
	* util/grub-mkconfig_lib.in (save_default_entry): Likewise.

2009-12-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-reboot.in: Fix --version output.
	* util/grub-set-default.in: Likewise.

2009-12-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Silently ignore zero-sized environment
	blocks.

2009-12-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Quote the value assigned to `default',
	in case it contains spaces.

2009-12-08  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/30_os-prober.in: Fix merge error that moved a
	`save_default_entry' call from the macosx case to the linux case.

2009-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
2009-10-25  Colin Watson  <cjwatson@ubuntu.com>

	* normal/menu.c (grub_menu_execute_entry): Save selected entry title
	in `chosen' environment variable.
	* normal/menu_text.c (get_entry_number): Check if the variable
	matches the title of a menu entry.
	(run_menu): Pass menu to get_entry_number.

	* util/grub-reboot.in: New file.
	* util/grub-set-default.in: New file.
	* conf/common.rmk (grub-reboot): New utility.
	(grub-set-default): New utility.

	* util/grub-mkconfig_lib.in (save_default_entry): New function.
	* util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
	default to `${saved_entry}'.  If `${prev_saved_entry}' is non-empty,
	move it to `saved_entry' for the next boot.  Load environment on
	initialisation.
	* util/grub.d/10_kfreebsd.in: Call save_default_entry.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_linux.in (linux_entry): Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.

	* util/grub-install.in: Create environment block.
	* util/i386/efi/grub-install.in: Likewise.
	* util/ieee1275/grub-install.in: Likewise.
	* util/sparc64/ieee1275/grub-install.in: Likewise.

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  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
	Add loader/i386/multiboot_mbi.c.
	(multiboot2_mod_SOURCES): Likewise.
	* conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
	(multiboot2_mod_SOURCES): Likewise.
	* include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
	(grub_multiboot_make_mbi): Likewise.
	(grub_multiboot_free_mbi): Likewise.
	(grub_multiboot_init_mbi): Likewise.
	(grub_multiboot_add_module): Likewise.
	(grub_multiboot_set_bootdev): Likewise.
	* loader/i386/multiboot.c (mbi): Removed.
	(mbi_dest): Likewise.
	(alloc_mbi): New variable.
	(grub_multiboot_payload_size): Removed. All users updated.
	(grub_multiboot_pure_size): New variable.
	(grub_multiboot_boot): Use grub_multiboot_make_mbi.
	(grub_multiboot_unload): Use grub_multiboot_free_mbi.
	(grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
	(grub_fill_multiboot_mmap): Likewise.
	(grub_multiboot_get_bootdev): Likewise.
	(grub_multiboot): Use multiboot_mbi functions.
	* loader/i386/multiboot_mbi.c: New file.

2010-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
	it would result in module crash.

2010-01-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
	(grub_ofconsole_getwh): Split to ...
	(grub_ofconsole_getwh): ... this.
	(grub_ofconsole_dimensions): ...and this.
	(grub_ofconsole_init_output): Call grub_ofconsole_dimensions.

2010-01-13  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.

2010-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/pc/multiboot2.c: Removed stalled file.

2010-01-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
	Reported by: Grégoire Sutre

2010-01-11  Robert Millan  <rmh.grub@aybabtu.com>

	* util/misc.c (canonicalize_file_name): New function.
	(make_system_path_relative_to_its_root): Use canonicalize_file_name()
	instead of realpath().

2010-01-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-install.in (usage): Clarify meaning of --root-directory,
	and make it clearer that it's optional.  Based on confusion
	witnessed on IRC.

2010-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
	in premature implicit newline.

2010-01-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
	which resulted in garbled command line at the end of screen.

2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
	initialization with similar approach as with other Linux loaders.

2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>

	Fix i386-ieee1275 build.

	* loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
	and grub_term_height() for video_{width,height} initialization.

2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>

	Fix grub-emu build.

	* conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.

2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
2010-01-09  Robert Millan  <rmh.grub@aybabtu.com>

	Support for multiple terminals.

	* Makefile.in (pkglib_DATA): terminal.lst.
	(terminal.lst): New target.
	* commands/handler.c (grub_cmd_handler): Don't handle terminals.
	(GRUB_MOD_INIT(handler)): Likewise.
	(GRUB_MOD_FINI(handler)): Likewise.
	* commands/help.c (grub_cmd_help): Handle multiple terminals.
	* commands/keystatus.c (grub_cmd_keystatus): Likewise.
	* commands/sleep.c (do_print): Use grub_term_restore_pos.
	(grub_cmd_sleep): Use grub_term_save_pos.
	* commands/terminal.c: New file.
	* conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
	commands/terminal.c and lib/charset.c.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
	(pkglib_MODULES): Add terminal.mod.
	(terminal_mod_SOURCES): New variable.
	(terminal_mod_CFLAGS): Likewise.
	(terminal_mod_LDFLAGS): Likewise.
	* genhandlerlist.sh: Don't handle terminals.
	* genmk.rb: Generate terminal-*.lst.
	* genterminallist.sh: New file.
	* include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
	(grub_is_valid_utf8): Likewise.
	(grub_utf8_to_ucs4_alloc): Likewise.
	* include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
	(grub_menu_register_viewer): Changed argument.
	(grub_menu_try_text): New proto.
	(grub_gfxmenu_try_hook): New declaration.
	* include/grub/normal.h (grub_normal_exit_level): New declaration.
	(grub_menu_init_page): Additional argument term.
	(grub_normal_init_page): Likewise.
	(grub_cmdline_get): Arguments simplified.
	(grub_utf8_to_ucs4_alloc): Removed.
	(grub_print_ucs4): Additional argument term.
	(grub_getstringwidth): Likewise.
	(grub_print_message_indented): Likewise.
	(grub_menu_text_register_instances): New proto.
	(grub_show_menu): Likewise.
	(read_terminal_list): Likewise.
	(grub_set_more): Likewise.
	* include/grub/parser.h: Include handler.h.
	* include/grub/reader.h: Rewritten.
	* include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
	(GRUB_TERM_WIDTH): Changed to function.
	(GRUB_TERM_HEIGHT): Likewise.
	(GRUB_TERM_BORDER_WIDTH): Likewise.
	(GRUB_TERM_BORDER_HEIGHT): Likewise.
	(GRUB_TERM_NUM_ENTRIES): Likewise.
	(GRUB_TERM_ENTRY_WIDTH): Likewise.
	(GRUB_TERM_CURSOR_X): Likewise.
	(grub_term_input_class): Likewise.
	(grub_term_output_class): Likewise.
	(grub_term_outputs_disabled): New declaration.
	(grub_term_inputs_disabled): Likewise.
	(grub_term_outputs): Likewise.
	(grub_term_inputs): Likewise.
	(grub_term_register_input): Rewritten.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(FOR_ACTIVE_TERM_INPUTS): New macro.
	(FOR_DISABLED_TERM_INPUTS): Likewise.
	(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
	(FOR_DISABLED_TERM_OUTPUTS): Likewise.
	* include/grub/terminfo.h: Add oterm argument to all protypes.
	* kern/main.c (grub_main): Don't call grub_register_rescue_reader.
	Use grub_rescue_run.
	* kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
	All users updated.
	* kern/reader.c: Removed. All users updated.
	* kern/rescue_reader.c (grub_rescue_init): Removed.
	(grub_rescue_reader): Likewise.
	(grub_register_rescue_reader): Likewise.
	(grub_rescue_run): New function based on kern/reader.c.
	* kern/term.c: Adapted for multiterm.
	* lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
	(grub_is_valid_utf8): Likewise.
	(grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
	* loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
	right terminal.
	* loader/i386/linux.c (grub_linux_boot): Likewise.
	* normal/auth.c (grub_username_get): New function.
	(grub_auth_check_authentication): Use grub_username_get.
	* normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
	* normal/color.c: Adapt for multiterm.
	* normal/main.c (read_config_file): Don't use grub_reader_loop.
	(grub_normal_init_page): Additional argument term.
	(read_lists): Call read_terminal_lists.
	(grub_enter_normal_mode): Call grub_cmdline_run.
	Handle grub_normal_exit_level.
	(grub_cmd_normal): Make reentrant.
	(grub_cmd_normal_exit): New function.
	(grub_normal_reader_init): Additional argument nested. Handle multiterm.
	* normal/menu.c: Adapt for multiterm.
	* normal/menu_entry.c: Likewise.
	* normal/menu_text.c: Likewise.
	* normal/menu_viewer.c: Removed. All users updated.
	* normal/term.c: New file.
	* util/console.c: Change order of includes to workaround a bug in
	ncurses headers.
	* term/terminfo.c: New argument oterm on all exported functions.
	All users updated.
	* util/grub-editenv.c (grub_term_input_class): Removed.
	(grub_term_output_class): Likewise.

2010-01-09  Robert Millan  <rmh.grub@aybabtu.com>

	Make loader output a bit more user-friendly.

	* util/grub.d/10_hurd.in: Print message indicating that GNU Mach
	is being loaded.  Likewise for the Hurd.

	* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
	that kernel of FreeBSD ${version} is being loaded.

	* loader/i386/linux.c (grub_cmd_linux): Move debug info to
	grub_dprintf().
	(grub_cmd_initrd): Likewise.
	* util/grub.d/10_linux.in (linux_entry): Print message indicating
	that Linux ${version} is being loaded.  Likewise for initrd.

2010-01-09  Carles Pina i Estany  <carles@pina.cat>

	* gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.

2010-01-08  Carles Pina i Estany  <carles@pina.cat>

	* loader/efi/appleloader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/efi/chainloader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/xnu.c: Include `<grub/i18n.h>'.
	(grub_cpu_xnu_init): Gettextizze.
	* loader/multiboot_loader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
	(grub_linux_load64): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/xnu.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* po/POTFILES: Add `loader/efi/appleloader.c',
	`loader/efi/chainloader.c', `loader/i386/efi/linux.c',
	`loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
	`loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
	`loader/i386/xnu.c', `loader/multiboot_loader.c',
	`loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
	and `loader/xnu.c'.

2010-01-08  Robert Millan  <rmh.grub@aybabtu.com>

	* src/mkisofs.c: Remove `ifdef linux' portability kludge.

2010-01-08  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
	(SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
	* util/mkisofs/mkisofs.c (main): Readjust --version output.

2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>

	Reset Multiboot 2 support.  New loader implements the draft in
	/branches/multiboot2 and shares as much code as possible with the
	production Multiboot 1 implementation.

	* loader/ieee1275/multiboot2.c: Remove file.  Update all users.
	* loader/multiboot2.c: Likewise.
	* loader/i386/multiboot_helper.S: Likewise.
	* include/multiboot2.h: Replace with latest version from the draft
	in /branches/multiboot2.

	* conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
	`loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
	and `loader/multiboot2.c'.
	(pkglib_MODULES): Add `multiboot2.mod'.
	(multiboot2_mod_SOURCES): New variable.
	(multiboot2_mod_LDFLAGS): Likewise.
	(multiboot2_mod_CFLAGS): Likewise.  Define `GRUB_USE_MULTIBOOT2'.

	* conf/i386-pc.rmk: Likewise.

	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
	(multiboot_mod_SOURCES): Remove variable.
	(multiboot_mod_LDFLAGS): Likewise.
	(multiboot_mod_CFLAGS): Likewise.

	* include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
	`<multiboot2.h>' instead of `<multiboot.h>'.
	[GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
	(MULTIBOOT_HEADER_MAGIC): New macros.

	* loader/multiboot_loader.c (module_version_status): Remove variable.
	(find_multi_boot2_header): Remove function.
	(grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
	logic.  Always check for the Multiboot version we're compiling for.
	(grub_cmd_module_loader): Likewise.
	[GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
	command instead of `multiboot'.

2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>

	* include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
	* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here.  Update
	all users.

2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>
2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix breakage introduced with previous commit.

	* normal/dyncmd.c (read_command_list): Avoid unregistering kernel
	commands.
	* normal/handler.c (read_handler_list): Revert part of previous commit
	affecting this file.
	* normal/main.c (read_lists): Move read_handler_list() call back to ...
	(grub_normal_execute): ... here.

2010-01-07  Robert Millan  <rmh.grub@aybabtu.com>

	Merge prefix-redefinition-fix branch.

	* normal/autofs.c (read_fs_list): Make function capable of being
	run multiple times, gracefuly replacing the previous data
	structures.
	* normal/dyncmd.c (read_command_list): Likewise.
	* normal/handler.c (read_handler_list): Likewise.
	* normal/main.c (read_lists): New function.  Calls all the
	list reading functions.
	(grub_normal_execute): Use read_lists() instead of calling all
	list reading functions explicitly.  Register read_lists() as a
	variable hook attached to ${prefix}.

2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Merge crypto branch.

	* Makefile.in (pkglib_DATA):  Add crypto.lst.
	(crypto.lst): New target.
	* commands/hashsum.c: New file.
	* commands/password.c (check_password): Use grub_crypto_memcmp.
	* commands/password_pbkdf2.c: New file.
	* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
	* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
	normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
	(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
	-I$(srcdir)/lib/libgcrypt_wrap.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
	(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
	password_pbkdf2.mod.
	(crypto_mod_SOURCES): New variable.
	(crypto_mod_CFLAGS): Likewise.
	(crypto_mod_LDFLAGS): Likewise.
	(hashsum_mod_SOURCES): New variable.
	(hashsum_mod_CFLAGS): Likewise.
	(hashsum_mod_LDFLAGS): Likewise.
	(pbkdf2_mod_SOURCES): New variable.
	(pbkdf2_mod_CFLAGS): Likewise.
	(pbkdf2_mod_LDFLAGS): Likewise.
	(password_pbkdf2_mod_SOURCES): New variable.
	(password_pbkdf2_mod_CFLAGS): Likewise.
	(password_pbkdf2_mod_LDFLAGS): Likewise.
	(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
	(grub_mkpasswd_pbkdf2_SOURCES): New variable.
	(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
	Include conf/gcry.rmk.
	* include/grub/auth.h: Rewritten.
	* include/grub/crypto.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
	* include/grub/normal.h (read_crypto_list): New prototype.
	* lib/crypto.c: New file.
	* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
	* lib/pbkdf2.c: Likewise.
	* normal/auth.c (grub_auth_strcmp): Removed.
	(grub_iswordseparator): Likewise.
	(grub_auth_strword): Likewise.
	(is_authenticated): Use grub_strword.
	(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
	and grub_strword. Pass entered password to authentication callback.
	* normal/crypto.c: New file.
	* normal/main.c: Call read_crypto_list.
	* util/grub-mkpasswd-pbkdf2.c: New file.
	* util/import_gcry.py: Generate crypto.lst. Add hash blocklen.

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

	Fix descent and ascent calculation.

	* util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
	(options): New option "asce".
	(usage): Likewise.
	(add_char): Ignore invalid glyphs for descent calculation.
	Calculate ascent from actual content.
	(print_glyphs): Use 'asce'.
	(write_font): Likewise. Allow ascent override.
	(main): Handle "asce" option.

2010-01-06  Carles Pina i Estany  <carles@pina.cat>

	* kern/err.c: Include `<grub/i18n.h>'.
	(grub_print_error): Add full stop. Gettextizze.
	* loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
	(grub_bsd_load_elf): Capitalise ELF.
	(grub_cmd_freebsd_loadenv): Add `s' in error string.
	(grub_cmd_freebsd_module): Likewise.
	(grub_cmd_freebsd_module_elf): Likewise.
	* loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.

2010-01-06  Carles Pina i Estany  <carles@pina.cat>

	* commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
	* commands/search_file.c (HELP_MESSAGE): New macro.
	* commands/search_label.c (HELP_MESSAGE): Likewise.
	* commands/search_uuid.c (HELP_MESSAGE): Likewise.
	* po/POTFILES: Add `commands/search_file.c',
	`commands/search_label.c', `commands_uuid.c'. Remove duplicate
	`commands/search.c'.

2010-01-05  Robert Millan  <rmh.grub@aybabtu.com>

	* config.rpath: Update from Gnulib.

2010-01-05  Yves Blusseau  <blusseau@zetam.org>

	* commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.

2010-01-05  Yves Blusseau  <yves.blusseau@zetam.org>

	* util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.

2010-01-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/mkisofs/write.c (padblock_write): Switch size and nmemb
	arguments to fread so that we get a return value in bytes, rather
	than something that will normally be rounded down to 0.
	Adjust error handling to avoid producing garbage when size_t is not
	the same size as long long.

2010-01-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/mkisofs/write.c (padblock_write): Check return value of
	fread.

2010-01-05  Robert Millan  <rmh.grub@aybabtu.com>

	Remove grub-mkfloppy.  Images produced by grub-mkrescue are valid
	floppy images now.

	* util/i386/pc/grub-mkfloppy.in: Remove.  Update all users.

2010-01-04  Robert Millan  <rmh.grub@aybabtu.com>

	* disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
	instead of manual alignment.
	* kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
	verbose).  Avoid attempts to read past end of the device
	(grub_disk_adjust_range() guarantees that we can read `size' bytes,
	but GRUB_DISK_CACHE_SIZE may exceed that).

2010-01-04  Robert Millan  <rmh.grub@aybabtu.com>

	* commands/crc.c (grub_cmd_crc): Abort on read errors.
	* fs/iso9660.c (grub_iso9660_read): Check for read error and pass
	it to upper layer.

2010-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
	New constant.
	(grub_efi_piwg_device_path): New structure
	(grub_efi_piwg_device_path_t): New type.
	* loader/efi/appleloader.c (piwg_full_device_path): New structure.
	(devpath_1): Transform to a structure. All users updated.
	(devpath_2): Likewise.
	(devpath_3): Likewise.
	(devpath_4): Likewise.
	(devpath_5): Likewise.

2010-01-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/efi/appleloader.c: Restored. Update all users.

2010-01-03  Robert Millan  <rmh.grub@aybabtu.com>

	* boot/i386/pc/diskboot.S: Fix inaccurate comment.

	* util/i386/pc/grub-setup.c: Include `<assert.h>'.
	(struct boot_blocklist): Move from here ...
	* include/grub/i386/pc/boot.h [ASM_FILE]
	(struct grub_boot_blocklist): ... to here.  Update all users.
	(setup): Only initialize `start' member of `first_block'
	structure.  Add assert() calls to verify the other members.

	* util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
	(generate_image): Fix broken blocklist length initialization.
	Add assert() call to verify blocklist `segment' field.

2010-01-03  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/efi/appleloader.c: Remove.  Update all users.

2010-01-03  Robert Millan  <rmh.grub@aybabtu.com>

	* boot/i386/pc/boot.S: Update copyright year.
	* boot/i386/pc/cdboot.S: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* bus/pci.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/test.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gencmdlist.sh: Likewise.
	* genmk.rb: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/i386/at_keyboard.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/i386/pci.h: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/ntfs.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/libgcc.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/multiboot2.h: Likewise.
	* io/gzio.c: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/main.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.
	* lib/hexdump.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* partmap/apple.c: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/hostfs.c: Likewise.
	* video/readers/png.c: Likewise.

2010-01-03  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/misc.h (GNUC_PREREQ): New macro.
	(ATTRIBUTE_ERROR): New macro.
	* include/grub/list.h (grub_bad_type_cast_real): Use
	ATTRIBUTE_ERROR.

2010-01-03  Carles Pina i Estany  <carles@pina.cat>

	* normal/menu_text.c (print_message): Change messages.

2010-01-03  Carles Pina i Estany  <carles@pina.cat>

	* normal/menu_entry.c (store_completion): Gettextizze.

2010-01-03  Carles Pina i Estany  <carles@pina.cat>

	* kern/env.c (grub_env_unset): Set the variable to "" if has hooks.

2010-01-03  Carles Pina i Estany  <carles@pina.cat>

	* po/POTFILES: Sort correctly.

2010-01-03  Carles Pina i Estany  <carles@pina.cat>

	* commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
	* commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
	* commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
	full stop.
	* commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
	summary. Gettextizze the strings.
	* commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
	* commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
	* disk/loopback.c (grub_arg_options): Capitalise first letter. Add
	full stop.
	(GRUB_MOD_INIT): Remove command name from summary.
	* hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
	summary.
	* loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
	* term/i386/pc/serial.c (options): Add full stops.
	(GRUB_MOD_INIT): Remove command name from the summary.

2010-01-03  Carles Pina i Estany  <carles@pina.cat>

	* commands/acpi.c: Gettextizze help strings and/or options. Include
	`grub/i18n.h' if needed.
	* commands/blocklist.c: Likewise.
	* commands/boot.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/configfile.c: Likewise.
	* commands/crc.c: Likewise.
	* commands/date.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/efi/fixvideo.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/gptsync.c: Likewise.
	* commands/halt.c: Likewise.
	* commands/handler.c: Likewise.
	* commands/hdparm.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/i386/cpuid.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/pxecmd.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/ieee1275/suspend.c: Likewise.
	* commands/keystatus.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/lsmmap.c: Likewise.
	* commands/lspci.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/minicmd.c: Likewise.
	* commands/parttool.c: Likewise.
	* commands/password.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/read.c: Likewise.
	* commands/reboot.c: Likewise.
	* commands/search.c: Likewise.
	* commands/sleep.c: Likewise.
	* commands/test.c: Likewise.
	* commands/true.c: Likewise.
	* commands/usbtest.c: Likewise.
	* commands/videotest.c: Likewise.
	* commands/xnu_uuid.c: Likewise.
	* disk/loopback.c: Likewise.
	* hello/hello.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* po/POTFILES: Add new files.

2010-01-02  Colin Watson  <cjwatson@ubuntu.com>

	* term/i386/pc/at_keyboard.c
	(keyboard_controller_wait_untill_ready): Rename to ...
	(keyboard_controller_wait_until_ready): ... this. Update all users.

2010-01-01  Carles Pina i Estany  <carles@pina.cat>

	* commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
	(grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
	string using string width.
	* normal/menu_text.c (grub_print_message_indented): Use
	grub_print_spaces and not print_spaces.
	(print_timeout): Likewise.
	(print_spaces): Move to...
	* include/grub/term.h: ... here. Change the name to grub_print_spaces.

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

	Import from Gnulib.

	* gnulib/getdelim.c: New file.
	* gnulib/getline.c: Likewise.

2009-12-31 BVK Chaitanya  <bvk.groups@gmail.com>

	* include/grub/list.h (grub_assert_fail): Removed.
	(grub_bad_type_cast_real): New function.
	(grub_bad_type_cast): New macro.
	(GRUB_AS_LIST): Use grub_bad_type_cast.
	(GRUB_AS_LIST_P): Likewise.
	(GRUB_AS_NAMED_LIST): Likewise.
	(GRUB_AS_NAMED_LIST_P): Likewise.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	* include/grub/handler.h (GRUB_AS_HANDLER): Likewise.

2009-12-29 Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
	Fix syntax error.

2009-12-29  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Check for TARGET_CFLAGS initialization before we
	initialize it ourselves (sigh).
	Move a few modifications to TARGET_CFLAGS to be unconditional
	(extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
	eh_frame)

	* gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
	* term/i386/pc/at_keyboard.c
	(keyboard_controller_wait_untill_ready): Likewise.
	(keyboard_controller_led): Rename `led_status' paramter to avoid
	name conflict.

2009-12-28  Carles Pina i Estany  <carles@pina.cat>

	* normal/misc.c (grub_normal_print_device_info): Add spaces and double
	quotes.

2009-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.

2009-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/menu_text.c (grub_print_message_indented): Prevent
	past-the-end-of-array dereference.

2009-12-27  Vladimir Serbinenko  <phcoder@gmail.com>

	* video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
	(GRUB_MOD_FINI (video_reader_jpeg)): ...this

2009-12-27  Carles Pina i Estany  <carles@pina.cat>

	* normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
	* normal/main.c (grub_normal_read_line): Remove a space from the
	default prompt.

2009-12-27  Carles Pina i Estany  <carles@pina.cat>

	* loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
	* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.

2009-12-26  Carles Pina i Estany  <carles@pina.cat>

	* video/readers/jpeg.c (cmd): Declare.
	(grub_cmd_jpegtest): Use `grub_command_t' type.
	(GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
	Assign to `cmd'.
	(GRUB_MOD_FINI): Use `cmd' to unregister.
	* video/readers/png.c (cmd): Declare.
	(grub_cmd_pngtest): Use `grub_command_t' type.
	(GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
	Assign to `cmd'.
	(GRUB_MOD_FINI): Use `cmd' to unregister.
	* video/readers/tga.c (cmd): Declare.
	(grub_cmd_tgatest): Use `grub_command_t' type.
	(GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
	Assign to `cmd'.
	(GRUB_MOD_FINI): Use `cmd' to unregister.

2009-12-26  Carles Pina i Estany  <carles@pina.cat>

	* efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
	stops.
	* kern/corecmd.c (grub_register_core_commands): Likewise.
	* loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
	* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* normal/handler.c (insert_handler): Likewise.
	* normal/main.c (GRUB_MOD_INIT): Likewise.
	* term/gfxterm.c (GRUB_MOD_INIT): Likewise.

2009-12-26  Carles Pina i Estany  <carles@pina.cat>

	* commands/help.c (grub_cmd_help): Print the command name before the
	summary.
	(GRUB_MOD_INIT): Remove command name from the summary.
	* kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
	string as summary.
	* lib/arg.c (find_long): Print the command name before the summary.
	* commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
	summary.
	* commands/blocklist.c (GRUB_MOD_INIT): Likewise.
	* commands/cat.c (GRUB_MOD_INIT): Likewise.
	* commands/cmp.c (GRUB_MOD_INIT): Likewise.
	* commands/configfile.c (GRUB_MOD_INIT): Likewise.
	* commands/crc.c (GRUB_MOD_INIT): Likewise.
	* commands/date.c (GRUB_MOD_INIT): Likewise.
	* commands/echo.c (GRUB_MOD_INIT): Likewise.
	* commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
	* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
	* commands/handler.c (GRUB_MOD_INIT): Likewise.
	* commands/hdparm.c (GRUB_MOD_INIT): Likewise.
	* commands/hexdump.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
	* commands/keystatus.c (GRUB_MOD_INIT): Likewise.
	* commands/loadenv.c (GRUB_MOD_INIT): Likewise.
	* commands/ls.c (GRUB_MOD_INIT): Likewise.
	* commands/lspci.c (GRUB_MOD_INIT): Likewise.
	* commands/memrw.c (GRUB_MOD_INIT): Likewise.
	* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
	* commands/parttool.c (GRUB_MOD_INIT): Likewise.
	* commands/password.c (GRUB_MOD_INIT): Likewise.
	* commands/probe.c (GRUB_MOD_INIT): Likewise.
	* commands/read.c (GRUB_MOD_INIT): Likewise.
	* commands/search.c (GRUB_MOD_INIT): Likewise.
	* commands/sleep.c (GRUB_MOD_INIT): Likewise.
	* commands/test.c (GRUB_MOD_INIT): Likewise.
	* commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
	* efiemu/main.c (GRUB_MOD_INIT): Likewise.
	* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
	* gettext/gettext.c (GRUB_MOD_INIT): Likewise.
	* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
	* lib/arg.c (GRUB_MOD_INIT): Likewise.
	* loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
	* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
	* loader/xnu.c (GRUB_MOD_INIT): Likewise.
	* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
	* term/terminfo.c (GRUB_MOD_INIT): Likewise.
	* video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
	* video/readers/png.c (GRUB_MOD_INIT): Likewise.
	* video/readers/tga.c (GRUB_MOD_INIT): Likewise.

2009-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Use search command for preliminar UUID search.

	* commands/search.c: Split into ...
	* commands/search_wrap.c: ...this
	* commands/search.c: ...and this.
	* commands/search_file.c: New file.
	* commands/search_label.c: New file.
	* commands/search_uuid.c: New file.
	* conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
	Add commands/search_wrap.c, commands/search_file.c,
	commands/search_label.c and commands/search_uuid.c.
	* conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
	(search_mod_SOURCES): Set to commands/search_wrap.c.
	(pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
	search_label.mod.
	(search_fs_file_mod_SOURCES): New variable.
	(search_fs_file_mod_CFLAGS): Likewise.
	(search_fs_file_mod_LDFLAGS): Likewise.
	(search_label_mod_SOURCES): Likewise.
	(search_label_mod_CFLAGS): Likewise.
	(search_label_mod_LDFLAGS): Likewise.
	(search_fs_uuid_mod_SOURCES): New variable.
	(search_fs_uuid_mod_CFLAGS): Likewise.
	(search_fs_uuid_mod_LDFLAGS): Likewise.
	(fs_file_mod_SOURCES): Removed.
	(fs_file_mod_CFLAGS): Likewise.
	(fs_file_mod_LDFLAGS): Likewise.
	(fs_uuid_mod_SOURCES): Removed.
	(fs_uuid_mod_CFLAGS): Likewise.
	(fs_uuid_mod_LDFLAGS): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
	Set to util/grub-install.in.
	* disk/fs_file.c: Removed.
	* disk/fs_uuid.c: Likewise.
	* include/grub/search.h: New file.
	* util/grub-install.in: Handle sparc64.
	Create and use load.cfg.
	* util/sparc64/ieee1275/grub-install.in: Removed.

2009-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
	Ignore return status if CF is cleared.
	(grub_biosdisk_get_diskinfo_standard): Likewise.

2009-12-25  Robert Millan  <rmh.grub@aybabtu.com>

	* term/i386/pc/at_keyboard.c
	(keyboard_controller_wait_untill_ready): New function.
	(grub_keyboard_controller_write, grub_keyboard_controller_read)
	(keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
	for keyboard polling, rather than duplicate the same loop.  This
	saves a few bytes in code size.

2009-12-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for (pxe[:server[:gateway]]) syntax and
	use environment variable for PXE.

	* commands/i386/pc/pxecmd.c (options): Removed.
	(print_ip): Removed.
	(grub_cmd_pxe): Removed
	(grub_cmd_pxe_unload): New function.
	* fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
	(grub_pxe_your_ip): Made static.
	(grub_pxe_default_server_ip): Likewise.
	(grub_pxe_default_gateway_ip): Likewise.
	(grub_pxe_blksize): Likewise.
	(parse_ip): New function.
	(grub_pxe_open): Support server and gateway specification.
	(grub_pxe_close): Free disk->data.
	(grub_pxefs_open): Use disk->data.
	(grub_pxefs_read): Likewise.
	(grub_env_write_readonly): New function.
	(set_mac_env): Likewise.
	(set_env_limn_ro): Likewise.
	(parse_dhcp_vendor): Likewise.
	(grub_pxe_detect): Set the environment variables.
	(set_ip_env): New function.
	(write_ip_env): Likewise.
	(grub_env_write_pxe_default_server): Likewise.
	(grub_env_write_pxe_default_gateway): Likewise.
	(grub_env_write_pxe_blocksize): Likewise.
	(GRUB_MOD_INIT(pxe)): Set environment variables.
	* include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
	(grub_pxe_mac_addr_t): ... this. All users updated.
	(grub_pxe_your_ip): Removed.
	(grub_pxe_server_ip): Likewise.
	(grub_pxe_gateway_ip): Likewise.
	(grub_pxe_blksize): Likewise.

2009-12-25  Carles Pina i Estany  <carles@pina.cat>

	* commands/help.c: Include `<grub/i18n.h>'.
	(grub_cmd_help): Gettextizze.
	(GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/play.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* commands/search.c: Include `<grub/i18n.h>'.
	(options): Gettextizze.
	(GRUB_MOD_INIT): Gettextizze.
	* lib/arg.c: Include `<grub/i18n.h>'.
	(help_options): Gettextizze.
	(find_long): Likewise.
	(grub_arg_show_help): Likewise.
	* normal/dyncmd.c: Include `<grub/i18n.h>'.
	(read_command_list): Gettextizze.
	* po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
	`commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.

2009-12-25  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
	* term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
	(KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
	(led_status): New variable.
	(keyboard_controller_led): New function.
	(grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
	update led status for caps lock, num lock and scroll lock.

2009-12-25  Felix Zielcke <fzielcke@z-51.de>

	* util/hostdisk.c (open_device): Fix a comment.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-install.in (host_os): New variable.
	* util/i386/efi/grub-install.in (host_os): Likewise.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/write.c (padblock_write): Abort when given an
	excedingly large embed image, instead of silently truncating it.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	* include/multiboot.h: Indentation fixes.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	* include/multiboot.h (struct multiboot_aout_symbol_table)
	(struct multiboot_elf_section_header_table): New structure
	declarations (stolen from GRUB Legacy).
	(struct multiboot_info): Replace opaque `syms' with a.out and ELF
	table information.

	(multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
	(multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
	type aliases.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	* include/multiboot.h: Make comments src2texi-friendly.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	For consistency with [multiboot]/docs/boot.S.

	* include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
	(MULTIBOOT_HEADER_MAGIC): ... to this.  Update all users.
	(MULTIBOOT_MAGIC2): Rename from this ...
	(MULTIBOOT_BOOTLOADER_MAGIC): ... to this.  Update all users.

2009-12-24  Robert Millan  <rmh.grub@aybabtu.com>

	* include/multiboot.h: Remove `<grub/types.h>'.
	(multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
	types.  Update all users.

2009-12-25  Carles Pina i Estany  <carles@pina.cat>

	* commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
	`couldn't' and `can not' by `cannot'.
	* commands/i386/pc/drivemap.c: Likewise.
	* disk/ata.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/fat.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/misc.c: Likewise.

2009-12-24  Carles Pina i Estany  <carles@pina.cat>

	* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
	grub_errno calls.
	* commands/acpi.c: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/password.c: Likewise.
	* commands/videotest.c: Likewise.
	* disk/ata.c: Likewise.
	* disk/ata_pthru.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* disk/ieee1275/nand.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/loopback.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/mdraid_linux.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/raid6_recover.c: Likewise.
	* disk/scsi.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/mm.c: Likewise.
	* efiemu/pnvram.c: Likewise.
	* efiemu/symbols.c: Likewise.
	* font/font.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/ntfscomp.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/auth.h: Likewise.
	* kern/elf.c: Likewise.
	* kern/file.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/ieee1275/mmap.c: Likewise.
	* kern/ieee1275/openfw.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* lib/arg.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/bsdXX.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/efi/xnu.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/machoXX.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* loader/xnu.c: Likewise.
	* loader/xnu_resume.c: Likewise.
	* mmap/i386/pc/mmap.c: Likewise.
	* normal/menu_viewer.c: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* script/lexer.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/terminfo.c: Likewise.
	* video/bitmap.c: Likewise.
	* video/efi_gop.c: Likewise.
	* video/efi_uga.c: Likewise.
	* video/fb/video_fb.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* video/readers/tga.c: Likewise.
	* video/video.c: Likewise.

2009-12-23  Felix Zielcke <fzielcke@z-51.de>

	* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
	* commands/lspci.c: Likewise.
	* commands/probe.c: Likewise.
	* commands/xnu_uuid.c: 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/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* fs/i386/pc/pxe.c: Likewise.
	* gettext/gettext.c: Likewise.
	* include/grub/efi/graphics_output.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* kern/env.c: Likewise.
	* kern/i386/qemu/startup.S: Likewise.
	* lib/i386/pc/biosnum.c: Likewise.
	* lib/i386/relocator.c: Likewise.
	* lib/i386/relocator_asm.S: Likewise.
	* lib/relocator.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/xnu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu_text.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-mkconfig_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* video/efi_gop.c: Likewise.

2009-12-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
	size counting.

2009-12-22  Felix Zielcke <fzielcke@z-51.de>

	* util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
	* genmk.rb (class SCRIPT): Modify the target file instead of source.

2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/memrw.c (grub_cmd_write): Support for mask parameter.
	(GRUB_MOD_INIT(memrw)): Update help line.

2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
	Use grub_extcmd_t. All users updated.
	(options): New variable.
	(grub_cmd_read): Restructure for readability. Support "-v" option.
	(grub_cmd_write): Restructure for readability.

2009-12-22  Felix Zielcke <fzielcke@z-51.de>

	* genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).

2009-12-22  Felix Zielcke <fzielcke@z-51.de>

	* genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
	with the actual contents of the correspondending make variable.
	* util/grub-mkrescue.in (pkglib_DATA): New variable.
	(process_input_dir): Copy all $pkglib_DATA files instead of explicitly
	specifying `*.lst' and `efiemu??.o'

2009-12-22  Felix Zielcke <fzielcke@z-51.de>

	* util/grub.d/30_os-prober.in (osx_entry): Add round brackets
	after function name.
	Noticed by Rene Engelhard <rene@debian.org>.

2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/lspci.c (grub_pci_classes): Add "USB Controller".
	(options): New variable.
	(iospace): Likewise.
	(grub_lspci_iter): List IO spaces if "-i" was given.
	(grub_cmd_lspci): Parse options.
	(GRUB_MOD_INIT(lspci)): Use extcmd.
	(GRUB_MOD_FINI(lspci)): Likewise.

2009-12-22  Felix Zielcke <fzielcke@z-51.de>

	* util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
	`function' keyword.
	Patch by Tony Mancill <tmancill@debian.org>.

2009-12-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
	(grub_uhci_portstatus): Likewise.
	(grub_uhci_portstatus): Add necessary delay.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.

2009-12-21  Carles Pina i Estany  <carles@pina.cat>

	* commands/acpi.c (options): Fix capitalizations and/or full stops.
	(GRUB_MOD_INIT): Likewise.
	* commands/boot.c (GRUB_MOD_INIT): Likewise.
	* commands/cmp.c (grub_cmd_cmp): Improve the help message.
	* commands/echo.c (options): Fix capitalizations and/or full stops.
	* commands/efi/loadbios.c (enable_rom_area): Likewise.
	(enable_rom_area): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
	* commands/halt.c (GRUB_MOD_INIT): Improve the help message.
	* commands/handler.c (GRUB_MOD_INIT): Likewise.
	* commands/hdparm.c (options): Fix capitalizations and/or full stops.
	* commands/hexdump.c (options): Likewise.
	* commands/i386/cpuid.c (options): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/drivemap.c (options): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/halt (options): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/pxecmd.c (options): Likewise.
	* commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
	* commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
	* commands/keystatus.c (options): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/loadenv.c (options): Likewise.
	* commands/ls.c (options): Likewise.
	* commands/lspci.c (GRUB_MOD_INIT): Likewise.
	* commands/memrw.c (GRUB_MOD_INIT): Likewise.
	* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
	* commands/parttool.c (helpmsg): Likewise.
	* commands/probe.c (options): Likewise.
	* commands/read.c (GRUB_MOD_INIT): Likewise.
	* commands/reboot.c (GRUB_MOD_INIT): Likewise.
	* commands/search.c (options): Likewise.
	* commands/sleep.c (options): Likewise.
	* commands/test.c (GRUB_MOD_INIT): Likewise.
	* commands/true.c (GRUB_MOD_INIT): Likewise.
	* commands/usbtest.c (GRUB_MOD_INIT): Likewise.
	* commands/videotest.c (GRUB_MOD_INIT): Likewise.
	* lib/arg.c (help_options): Likewise.
	* Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
	`$(XGETTEXT)'.
	* po/POTFILES: Add `commands/loadenv.c'.

2009-12-21  Felix Zielcke <fzielcke@z-51.de>

	* util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
	instead of specifying them explicit.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* NEWS: Add grub-probe support for GNU/Hurd.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* NEWS: gettext was added after 1.97.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/msdos_partition.h: New file (based on
	include/grub/msdos_partition.h).
	* util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
	(OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
	(ld_options, main): Recognize --protective-msdos-label.
	* util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
	* util/mkisofs/write.c: Include `"msdos_partition.h"'.
	(padblock_write): If `use_protective_msdos_label' is set, patch a
	protective DOS-style label in the output image.

	* util/grub-mkrescue.in: Use --protective-msdos-label.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
	boot.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
	variables.
	(ld_options, main): Recognize `--embedded-boot'.
	* util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
	declarations.
	* util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
	(padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
	(padblock_write): Likewise.  Rewrite to support embedded boot image.

	* util/grub-mkrescue.in: When building i386-pc images, embed core.img
	for BIOS-based disk boot instead of only ElTorito.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
	build (not needed for bootstrap).

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
	from i386-pc build (not needed for bootstrap).
	Rewrite a pair of strings.

2009-12-21  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/main.c (grub_normal_reader_init): Set left margin back to 3.

2009-12-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.

2009-12-21 Andreas Born  <futur.andy@googlemail.com>

	* kern/env.c (grub_env_context_open): Mark exported variable for
	reexport.

2009-12-21 Andreas Born  <futur.andy@googlemail.com>

	* kern/env.c (grub_env_export): Create nonexistent variables before
	exporting.

2009-12-20 Carles Pina i Estany  <carles@pina.cat>

	* include/grub/auth.h: Include `<grub/i18n.h>'.
	(GRUB_GET_PASSWORD): Gettextizze string.
	* include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
	menu_text.c.
	(grub_utf8_to_ucs4_alloc): Fix indentation.
	(grub_print_ucs4): Likewise.
	(grub_getstringwidth): Likewise.
	(print_message_indented): New declaration.
	* normal/auth.c: Include `<grub/i18n.h>'.
	(grub_auth_check_authentication): Gettexttize string.
	* normal/cmdline.c: Include `<grub/i18n.h>'.
	(grub_cmdline_get): Gettextizze.
	* normal/color.c: Include `<grub/i18n.h>'.
	(grub_parse_color_name_pair): Gettexttize strings.
	* normal/main.c (grub_normal_reader_init): Cleanup gettexttized
	string (use `print_message_indented').
	* normal/menu_text.c (STANDARD_MARGIN): Moved from here to
	`include/grub/normal.h'.
	(print_message_indented): Renamed to ...
	(grub_print_message_indented): ... this. Remove `static' qualifer (now
	used in normal/main.c).
	(print_message): Use `grub_print_message_indented' instead of
	`print_message_indented'.
	(print_timeout): Likewise.
	* normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
	(grub_normal_print_device_info): Gettexttize strings.
	* po/POTFILES: Add `auth.c', `color.c' and `misc.c'.

2009-12-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
	of arguments. Return number of tokens and not arguments. All users
	updated.

2009-12-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
	non-MSDOS paritions.

2009-12-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/types.h (UNUSED): Removed since it conflicts with
	NetBSD headers. All users changed to direct __attribute__ ((unused)).
	Reported by Grégoire Sutre.

2009-12-19  Carles Pina i Estany  <carles@pina.cat>

	* include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
	(grub_print_ucs4_alloc): Likewise.
	(grub_getstringwidth): Likewise.
	* normal/main.c (grub_normal_init_page): Gettextize version string.
	* normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
	(getstringwidth): Renamed to ...
	(grub_getstringwidth): ... this. Remove `static' qualifier (now used
	in normal/main.c).  Use `grub_utf8_to_ucs4_alloc'.
	(grub_print_ucs4): Remove `static' qualifer (now used in
	normal/main.c).
	* po/POTFILES: Add normal/main.c.

2009-12-19  Carles Pina i Estany  <carles@pina.cat>

	* normal/menu_text.c (STANDARD_MARGIN): New macro.
	(print_message_indented): Add `margin_left' and `margin_right'
	parameters.
	(print_message): Update `print_message_indented' calls. Adds '\n' to the
	strings.
	(print_timeout): Use `print_message_indented' to print the message.
	Deletes `second_stage' parameter.
	(run_menu): Update `print_timeout' calls.

2009-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix console palette on OpenFirmware.

	* term/ieee1275/ofconsole.c (MAX): Removed.
	(colors): Redone based on VGA palette.
	(grub_ofconsole_setcolor): Discard brightness bit since only 8
	colors are supported.
	(grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.

2009-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix potential EfiEmu double prepare.

	* efiemu/main.c (prepared): New variable
	(grub_efiemu_unload): Set prepare to '0'.
	(grub_efiemu_prepare): Return if already prepared. Set prepared.

	set_virtual_address_map support.

	* include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
	prototype.
	* include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
	prototype.
	(grub_efiemu_crc32): Likewise.
	(grub_efiemu_crc64): Likewise.
	(grub_efiemu_set_virtual_address_map): Likewise.
	* include/grub/autoefi.h (grub_autoefi_exit_boot_services):
	New definition.
	(grub_autoefi_set_virtual_address_map): Likewise.
	* kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
	* loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
	Restructure flow to accomodate it.
	* efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
	(grub_efiemu_crc): Recompute CRC32.
	* efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
	(efiemu_ptv_relocated): ... this. Made global. All users updated.
	* efiemu/symbols.c (relocated_handle): New variable.
	(grub_efiemu_free_syms): Free relocated_handle.
	(grub_efiemu_alloc_syms): Allocate relocated_handle.
	(grub_efiemu_write_sym_markers): New function.
	(grub_efiemu_set_virtual_address_map): Likewise.

	Newer XNU parameters.

	* include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
	* include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
	(grub_xnu_fill_devicetree): New prototype.
	(grub_xnu_heap_real_start): New variable.
	* loader/xnu.c (get_name_ptr): New function.
	(grub_xnu_load_driver): Fill namelen and name.

	64-bit xnu support.

	* conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
	and 'loader/macho64.c'.
	* conf/i386-pc.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* include/grub/i386/macho.h (grub_macho_thread64): New structure.
	* include/grub/xnu.h (grub_xnu_is_64bit): New variable.
	* include/grub/macho.h (grub_macho_segment64): New structure.
	* include/grub/machoload.h (grub_macho32_size): Renamed from ...
	(grub_macho_size32): ... to this.
	(grub_macho32_get_entry_point): Renamed from ...
	(grub_macho_get_entry_point32): ... to this.
	(grub_macho_contains_macho64): New prototype.
	(grub_macho_size64): Likewise.
	(grub_macho_get_entry_point64): Likewise.
	(grub_macho32_load): Renamed from ...
	(grub_macho_load32): ... to this.
	(grub_macho32_filesize): Renamed from ...
	(grub_macho_filesize32): ... to this.
	(grub_macho32_readfile): Renamed from ...
	(grub_macho_readfile32): ... to this.
	(grub_macho_filesize64): New prototype.
	(grub_macho_readfile64): Likewise.
	(grub_macho_parse32): Likewise.
	(grub_macho_parse64): Likewise.
	* loader/macho.c: Split into ...
	* loader/machoXX.c: ... and this. Replace 32 with XX.
	* loader/macho32.c: New file.
	* loader/macho64.c: Likewise.
	* loader/xnu.c (grub_xnu_is_64bit): New variable.
	(grub_cmd_xnu_kernel): Make 32-bit only.
	(grub_cmd_xnu_kernel64): New function.
	(grub_xnu_load_driver): Support Mach-O 64.
	(grub_cmd_xnu_mkext): Likewise.
	* util/grub.d/30_os-prober.in (osx_entry): New function.
	Generate entries for 64-bit boot too.

	Eliminate ad-hoc tree format in XNU and EfiEmu.

	* efiemu/main.c (grub_efiemu_prepare): Update comment.
	* efiemu/pnvram.c: Rewritten to use environment variables.
	All users updated.

	Inline utf16_to_utf8.

	* kern/misc.c (grub_utf16_to_utf8): Move from here ...
	* include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
	All users updated.
	* include/grub/misc.h (grub_utf16_to_utf8): Removed.

	* bus/usb/usb.c (grub_usb_get_string): Move from here ...
	* commands/usbtest.c (grub_usb_get_string): ... move here.
	(usb_print_str): Fix error handling.
	* include/grub/usb.h (grub_usb_get_string): Remove.

	UTF-8 to UTF-16 transformation.

	* conf/common.rmk (pkglib_MODULES): Add charset.mod
	(charset_mod_SOURCES): New variable.
	(charset_mod_CFLAGS): Likewise.
	(charset_mod_LDFLAGS): Likewise.
	* include/grub/utf.h: New file.
	* lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)

	Support for device properties.

	* include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
	(grub_xnu_devprop_device_header): Likewise.
	(grub_xnu_devprop_device_descriptor): Likewise.
	(grub_xnu_devprop_add_device): New prototype.
	(grub_xnu_devprop_remove_device): Likewise.
	(grub_xnu_devprop_remove_property): Likewise.
	(grub_xnu_devprop_add_property_utf8): Likewise.
	(grub_xnu_devprop_add_property_utf16): Likewise.
	(grub_cpu_xnu_init): Likewise.
	(grub_cpu_xnu_fini): Likewise.
	(grub_cpu_xnu_unload): Likewise.
	* loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
	(property_descriptor): Likewise.
	(devices): New variable.
	(grub_xnu_devprop_remove_property): New function.
	(grub_xnu_devprop_add_device): Likewise.
	(grub_xnu_devprop_remove_device): Likewise.
	(grub_xnu_devprop_add_property): Likewise.
	(grub_xnu_devprop_add_property_utf8): Likewise.
	(grub_xnu_devprop_add_property_utf16): Likewise.
	(hextoval): Likewise.
	(grub_cpu_xnu_fill_devprop): Likewise.
	(grub_cmd_devprop_load): Likewise.
	(grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
	grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
	(cmd_devprop_load): New variable.
	(grub_cpu_xnu_init): New function.
	(grub_cpu_xnu_fini): Likewise.
	* loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
	* loader/xnu.c (grub_xnu_parse_devtree): Remove.
	(grub_cmd_xnu_devtree): Likewise.
	(hextoval): New function.
	(unescape): Likewise.
	(grub_xnu_fill_devicetree): Likewise.

	* util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
	* util/i386/efi/grub-dumpdevtree: Generate devprop.bin.

2009-12-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Workaround for broken ATI VBE.

	* video/i386/pc/vbe.c (last_set_mode): New variable.
	(grub_vbe_set_video_mode): Set 'last_set_mode'.
	(grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
	(grub_video_vbe_setup): Don't check for reserved flag.

2009-12-17  Felix Zielcke <fzielcke@z-51.de>

	* gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
	the `find' command.

2009-12-16  Vladimir Serbinenko  <phcoder@gmail.com>

	UUID support for HFS.

	* fs/hfs.c (grub_hfs_uuid): New function.
	(grub_hfs_fs): New value .uuid.
	* include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.

2009-12-14  Felix Zielcke <fzielcke@z-51.de>

	Fix a segfault with parsing unknown long options.

	* util/grub-mkrelpath.c (options): Zero terminate it.

2009-12-13  Carles Pina i Estany  <carles@pina.cat>

	* include/grub/misc.h (grub_puts): New declaration.
	(grub_puts_): Likewise.
	* kern/misc.c (grub_puts): New definition.
	(grub_puts_): Likewise.

2009-12-13  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-probe.c (probe): Improve error message.

2009-12-13  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/multiboot_elfxx.c
	(CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
	initialization.

2009-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	Relocator framework

	* loader/i386/xnu_helper.S: Removed. All users updated.
	* conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
	(relocator_mod_SOURCES): New variable.
	(relocator_mod_CFLAGS): Likewise.
	(relocator_mod_LDFLAGS): Likewise.
	(relocator_mod_ASFLAGS): Likewise.
	* conf/x86_64.rmk: Likewise.
	* include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
	(grub_multiboot_payload_entry_offset): Likewise.
	(grub_multiboot_forward_relocator): Likewise.
	(grub_multiboot_forward_relocator_end): Likewise.
	(grub_multiboot_backward_relocator): Likewise.
	(grub_multiboot_backward_relocator_end): Likewise.
	(grub_multiboot_payload_eip): New variable.
	(grub_multiboot_payload_orig): Likewise.
	* include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
	(GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
	* include/grub/i386/memory.h
	(GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
	(GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
	(GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
	(GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
	(GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
	* include/grub/i386/relocator.h: New file.
	* include/grub/x86_64/relocator.h: Likewise.
	* include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
	(XNU_RELOCATOR): New macro.
	(grub_xnu_launcher_start): Remove.
	(grub_xnu_launcher_end): Likewise.
	* include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
	(grub_xnu_heap_real_start): Remove.
	(grub_xnu_heap_start): Change to void *. All users updated.
	* kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
	* lib/i386/relocator.c: New file.
	* lib/i386/relocator_asm.S: Likewise.
	* lib/i386/relocator_backward.S: Likewise.
	* lib/mips/relocator.c: Likewise.
	* lib/mips/relocator_asm.S: Likewise.
	* lib/relocator.c: Likewise.
	* loader/i386/multiboot.c: Include grub/i386/relocator.h.
	(entry): Removed.
	(playground): Likewise.
	(grub_multiboot_payload_orig): New variable.
	(grub_multiboot_payload_dest): Likewise.
	(grub_multiboot_payload_size): Likewise.
	(grub_multiboot_payload_eip): Likewise.
	(grub_multiboot_payload_esp): Likewise.
	(grub_multiboot_boot): Use grub_relocator32_boot.
	(grub_multiboot_unload): Free relocators.
	(grub_multiboot): Setup stack. Use relocators.
	* loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
	(grub_multiboot_load_elfXX): Use relocators.
	* loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
	(grub_multiboot_payload_size): Likewise.
	(grub_multiboot_payload_dest): Likewise.
	(grub_multiboot_payload_entry_offset): Likewise.
	(grub_multiboot_forward_relocator): Likewise.
	(grub_multiboot_backward_relocator): Likewise.
	(grub_multiboot_real_boot): Likewise.
	* loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
	(grub_xnu_entry_point): Likewise.
	(grub_xnu_arg1): Likewise.
	(grub_xnu_stack): Likewise.
	(grub_xnu_launch): Removed.
	(grub_xnu_boot_resume): New function.
	(grub_xnu_boot): Use relocators.
	* loader/i386/xnu_helper.S: Removed.
	* loader/xnu.c (grub_xnu_heap_start): New variable.
	(grub_xnu_heap_size): Likewise.
	(grub_xnu_heap_malloc): Use relocators.
	* loader/xnu_resume.c (grub_xnu_resume): Use relocators.

2009-12-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
	anything.

2009-12-13  Carles Pina i Estany  <carles@pina.cat>

	* script/execute.c (grub_script_execute_cmdline): Set grub_errno to
	GRUB_ERR_NONE before calling grub_env_set.

2009-12-12  Robert Millan  <rmh@aybabtu.com>

	* gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
	* genmk.rb (video): New variable.
	(CLEANFILES, VIDEOFILES): Add #{video}.
	(#{video}): New target rule.
	* genvideolist.sh: New file.
	* Makefile.in (pkglib_DATA): Add video.lst.
	(video.lst): New target rule.
	* util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
	`video.lst'.
	* util/grub.d/30_os-prober.in: Replace `vbe' with
	${GRUB_VIDEO_BACKEND}.

2009-12-11  Robert Millan  <rmh.grub@aybabtu.com>

	* THANKS: Add David Miller.

2009-12-11  Vladimir Serbinenko  <phcoder@gmail.com>

	libpciaccess support.

	* Makefile.in (LIBPCIACCESS): New variable.
	(enable_grub_emu_pci): Likewise.
	* conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
	util/pci.c and commands/lspci.c.
	(grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
	* configure.ac (grub-emu-pci): New option.
	* include/grub/i386/pci.h (grub_pci_device_map_range): New function.
	(grub_pci_device_unmap_range): Likewise.
	* include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
	(grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
	(grub_pci_address_t) [!GRUB_UTIL]: New type.
	(grub_pci_device_t) [!GRUB_UTIL]: Likewise.
	(grub_pci_get_bus) [!GRUB_UTIL]: New function.
	(grub_pci_get_device) [!GRUB_UTIL]: Likewise.
	(grub_pci_get_function) [!GRUB_UTIL]: Likewise.
	* include/grub/pciutils.h: New file.
	* util/pci.c: Likewise.

2009-12-11  Felix Zielcke <fzielcke@z-51.de>

	* util/misc.c: Don't include <errno.h> twice.

2009-12-10  Felix Zielcke <fzielcke@z-51.de>

	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
	name in an error message.
	(grub_biosdisk_rw): Likewise.

2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate NTFS 4Gib barrier.

	* fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
	(read_run_data): Likewise.
	(grub_ntfs_read_run_list): Likewise.
	(grub_ntfs_read_block): Likewise.
	(grub_ntfs_iterate_dir): Likewise.
	(read_mft): Likewise.
	(read_data): Likewise.
	Use COM_LOG_LEN.
	* fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
	to avoid 64-bit division
	* include/grub/ntfs.h (COM_LOG_LEN): New definition.
	(grub_ntfs_rlst): Use grub_disk_addr_t.

2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate grub-fstest 4Gib barrier.

	* util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
	(read_file): Fix error reporting.

2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	Eliminate hexdump 4Gib barrier.

	* commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
	* lib/arg.c (grub_arg_parse): Use grub_strtoull.

2009-12-10  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/device.c (grub_device_iterate): Ignore errors during first scan.
	Fixes amarsh bug.

2009-12-09  Bruce Dubbs  <bruce.dubbs@gmail.com>

	Remove miscellaneous files in distclean target.

	* Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}

2009-12-09  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
	if they're already set.  This resolves the conflict between my
	grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
	fixing the --grub-probe option again.
	* util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
	change on 2009-10-06, so that we now once again source
	`${libdir}/grub/grub-mkconfig_lib' after options have been parsed.

2009-12-08  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
	`util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
	`util/devicemap.c'.

2009-12-08  Carles Pina i Estany  <carles@pina.cat>

	* include/grub/misc.h (grub_printf_): New declaration.
	* kern/misc.c (grub_printf_): New definition.
	* normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
	instead of `grub_printf' and `_'.
	* normal/menu_entry.c (store_completion): Likewise.
	(run): Likewise.
	(grub_menu_entry_run): Likewise.
	* normal/menu_text.c (grub_wait_after_message): Likewise.
	(notify_booting): Likewise.
	(notify_fallback): Likewise.
	(notify_execution_failure): Likewise.

2009-12-07  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Check for vasprintf.
	* util/misc.c (asprintf): Move allocation from here ...
	(vasprintf): ... to here.  New function.
	(xasprintf): New function.
	* include/grub/util/misc.h (vasprintf, xasprintf): Add
	prototypes.
	* util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
	* util/grub-mkfont.c (write_font): Likewise.
	* util/grub-probe.c (probe): Likewise.
	* util/hostdisk.c (make_device_name): Likewise.

2009-12-06  David S. Miller  <davem@sunset.davemloft.net>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
	anything even prefixed with 'cdrom' as a cdrom.

2009-12-06  Felix Zielcke <fzielcke@z-51.de>

	* util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
	mount points.

2009-12-05  Carles Pina i Estany <carles@pina.cat>

	* gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
	grub_gettext_msg_list.
	(grub_gettext_gettranslation_from_position): Return const char *
	and not char *.
	(grub_gettext_translate): Add the translated strings into a list,
	returns from the list if existing there.
	(grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
	(grub_gettext_delete_list): Delete the list.
	(grub_gettext_env_write_lang): Call grub_gettext_delete_list when
	lang environment variable is changed.
	(GRUB_MOD_FINI): Call grub_gettext_delete_list.

2009-12-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Rename kernel.mod to kernel.img.

	* conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
	(kernel_mod_EXPORTS): Rename to ...
	(kernel_img_EXPORTS): ... this.
	(kernel_mod_SOURCES): Rename to ...
	(kernel_img_SOURCES): ... this.
	(kernel_mod_HEADERS): Rename to ...
	(kernel_img_HEADERS): ... this. All users updated.
	(kernel_mod_CFLAGS): Rename to ...
	(kernel_img_CFLAGS): ... this.
	(kernel_mod_ASFLAGS): Rename to ...
	(kernel_img_ASFLAGS): ... this.
	(kernel_mod_LDFLAGS): Rename to ...
	(kernel_img_LDFLAGS): ... this.
	* conf/x86_64-efi.rmk: Likewise.
	* util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
	(read_kernel_image): ... this. All users updated.
	(read_kernel_image): Read "kernel.img" instead of "kernel.mod".

2009-12-05  Carles Pina i Estany  <carles@pina.cat>

	* normal/menu_text.c (grub_color_menu_high): Gettexttize string.
	(print_spaces): New function.
	(grub_print_ucs4): New function.
	(getstringwidth): New function.
	(print_message_indented): New function.
	(print_message): Gettexttize strings using print_message_indented.
	(run_menu): Replaces grub_printf by print_spaces and dynamic terminal
	width.
	(get_entry_number): Gettextize and uses dynamic terminal width.
	(notify_booting, notify_fallback, notify_execution_failure):
	Gettextize.
	* normal/menu_entry.c (store_completion): Cleanup the gettextized
	string.
	(run): Likewise.
	(grub_menu_entry_run): Likewise.
	* PO/POTFILES: Add normal/menu_entry.c.

2009-12-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".

2009-12-05  Carles Pina i Estany  <carles@pina.cat>

	* util/grub-install.in: Install gettext .mo files.
	* util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.

2009-12-05  Carles Pina i Estany  <carles@pina.cat>

	* gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
	grub_dprintf.

2009-12-05  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/ieee1275/openfw.c (grub_reboot): Disable for i386.  The
	non-firmware-dependant one in realmode.S takes precedence.

2009-12-04  Robert Millan  <rmh.grub@aybabtu.com>

	* commands/halt.c: Replace misc arch-specific headers with
	`<grub/misc.h>'.
	* commands/reboot.c: Likewise.
	* commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
	`<grub/misc.h>'.
	* conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
	(halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
	(kernel_img_SOURCES): ... to here.

	* include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
	* include/grub/i386/pc/init.h: Likewise.
	* include/grub/powerpc/ieee1275/kernel.h: Likewise.
	* include/grub/sparc64/ieee1275/kernel.h: Likewise.

	* include/grub/misc.h (grub_reboot, grub_halt): New prototypes.

	* include/grub/i386/halt.h: Remove.
	* include/grub/i386/reboot.h: Likewise.

	* kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.

2009-12-03  David S. Miller  <davem@sunset.davemloft.net>

	* conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
	grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
	* util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
	"progname.h"
	* util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
	(usage): Add missing comma in printf.

2009-12-02  Robert Millan  <rmh.grub@aybabtu.com>

	Use the same reboot approach on i386 coreboot and qemu as we do on
	BIOS.

	* conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
	(reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
	* kern/i386/reboot.c: Remove.
	* include/grub/i386/reboot.h (grub_reboot): Export function.
	* kern/i386/pc/startup.S (grub_reboot): Move from here ...
	* kern/i386/realmode.S (grub_reboot): ... to here.  Jump to
	0xf000:0xfff0 instead of 0xffff:0x0000.
	[!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
	* kern/i386/qemu/startup.S: Include `"../realmode.S"'.

2009-11-30  Robert Millan  <rmh.grub@aybabtu.com>

	Fix $srcdir != $objdir build.

	* Makefile.in (po/%.po):  Rewrite as ...
	($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.

2009-11-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix GNU/Hurd grub-install crash.
	* util/grub-probe.c (probe): Try to access `path' only when it is not
	NULL.

2009-11-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Correct module naming.

	* video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
	(GRUB_MOD_INIT(efi_uga)): ... to this
	(GRUB_MOD_FINI(efi_fb)): Renamed from this ...
	(GRUB_MOD_FINI(efi_uga)): ... to this
	* video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
	(GRUB_MOD_INIT(efi_gop)): ... to this
	(GRUB_MOD_FINI(efi_fb)): Renamed from this ...
	(GRUB_MOD_FINI(efi_gop)): ... to this

2009-11-28  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
	translatable.
	(usage): Translate `arg' strings using gettext().
	Thanks to Jordi Mallach for the suggestion.

2009-11-28  Vladimir Serbinenko  <phcoder@gmail.com>

	GOP support. Based on patch from Bean
	(http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)

	* video/efi_gop.c: New file.
	* include/grub/efi/graphics_output.h: Likewise.
	* conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
	(efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
	variables.
	* conf/x86_64-efi.rmk: Likewise.

2009-11-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Rename efi_fb to efi_uga.

	* conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
	'efi_uga.mod'.
	(efi_fb_mod_SOURCES): Rename this ...
	(efi_uga_mod_SOURCES): ... to this.
	(efi_fb_mod_CFLAGS): Rename this ...
	(efi_uga_mod_CFLAGS): ... to this.
	(efi_fb_mod_LDFLAGS): Rename this ...
	(efi_uga_mod_LDFLAGS): ... to this.
	* conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
	'efi_uga.mod'.
	(efi_fb_mod_SOURCES): Rename this ...
	(efi_uga_mod_SOURCES): ... to this.
	(efi_fb_mod_CFLAGS): Rename this ...
	(efi_uga_mod_CFLAGS): ... to this.
	(efi_fb_mod_LDFLAGS): Rename this ...
	(efi_uga_mod_LDFLAGS): ... to this.
	* video/efi_fb.c: Move this ...
	* video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.

2009-11-27  Robert Millan  <rmh.grub@aybabtu.com>

	* po/README: New file.  Explain our PO file workflow.

2009-11-27  Robert Millan  <rmh.grub@aybabtu.com>

	* po/ChangeLog: Remove.  Move relevant entries back to ...
	* ChangeLog: ... here.
	* po/ca.po: Remove (now handled by TLP).
	* po/id.po: Likewise.
	* po/zh_CN.po: Likewise.
	* Makefile.in (LINGUAS): Initialize in a way that supports
	empty set.

2009-11-27  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
	reliing on po/LINGUAS.
	($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
	(po/%.po): ... this.

2009-11-26  Felix Zielcke <fzielcke@z-51.de>

	* util/i386/efi/grub-mkimage.c: Include "progname.h".
	(main): Use `program_name' instead of nonexistent `progname'.

2009-11-26  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
	* conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.

2009-11-26  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
	commit.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

2009-11-26  Felix Zielcke  <fzielcke@z-51.de>

	* conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.

2009-11-26  Felix Zielcke  <fzielcke@z-51.de>

	* conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.

2009-11-26  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
	(grub_mkdevicemap_SOURCES): New variable.
	(grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
	(grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
	(grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
	* conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
	(grub_mkdevicemap_SOURCES): Remove.
	* 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.
	* util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
	(usage): Fix strings to use `program_name'.
	(main): Initialize gettext.
	* 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-mkrelpath.c: Likewise.
	* util/grub-pe2elf.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/sparc64/ieee1275/grub-mkimage.c: Likewise.
	* util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.

	* util/misc.c: Include `"progname.h"'.
	(progname): Remove variable.
	(grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.

2009-11-25  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/10_linux.in (linux_entry): Quote the arguments to
	printf and print a newline after the menuentry header line.
	* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.

2009-11-25  Felix Zielcke  <fzielcke@z-51.de>

	autoconf >= 2.60 support $(localedir).

	* INSTALL: Note that autoconf 2.60 is required.
	* configure.ac (AC_PREREQ): Bump to 2.60.
	* util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
	* util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.

2009-11-25  Yves Blusseau  <yves.blusseau@zetam.org>

	* configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
	aclocal is run.

2009-11-25  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/main.c (grub_normal_read_line): Fix off-by-one
	buffer overflow.

2009-11-25  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/main.c (grub_normal_execute): Replace "parser.sh" with
	"parser.grub" in grub_command_execute() call.

2009-11-24  Carles Pina i Estany <carles@pina.cat>

	* conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.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.
	* gettext/gettex.c: Include <grub/i18n.h>.
	* include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
 	  here ...
	* include/grub/i18n.h: ... to here
	* include/grub/i18n.h: ... to here.
	* kern/misc.c: Include <grub/i18n.h>
	(grub_gettext_dummy): Move above user.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* util/Makefile.in (install-local): Convert a `for' into a normal
	shell expansion.

2009-11-24  Robert Millan  <rmh.grub@aybabtu.com>

	* autogen.sh: Add automake call.
	* config.guess: Remove.
	* config.sub: Likewise.
	* install-sh: Likewise.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* util/Makefile.in (install-local): Fix the use of $lang shell variable.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* util/Makefile.in (install-local): Convert a make `$(foreach)'
	function to a normal shell `for'.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkrelpath.c: New file.
	* conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
	(grub_mkrelpath_SOURCES): New variable.
	* include/grub/util/misc.h: New function prototype.
	* util/misc.c (make_system_path_relative_to_its_root): New function.

	* util/grub-mkconfig_lib.in (bindir): New variable.
	(grub_mkrelpath): Likewise.
	(make_system_path_relative_to_its_root): Use grub-mkrelpath.

	* util/probe.c (probe): Make the file path relative to its root.
	Change a info message to use the GRUB path.  Enable again the
	check if we can read the file with GRUB facilities.

	* util/i386/pc/grub-setup.c (setup): Make core.img path relative
	to its root.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
	platform.

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* util/getroot.c (grub_util_get_dev_abstraction): Properly use
	strncmp().

2009-11-24  Felix Zielcke  <fzielcke@z-51.de>

	* util/getroot.c (grub_util_is_dmraid): New function.
	(grub_util_get_dev_abstraction): Treat dmraid and multipath
	devices as normal ones, not as LVM.

2009-11-23  Carles Pina i Estany <carles@pina.cat>

	* conf/common.rmk: Add grub-gettext_lib target and updates
	  lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
	  LDFLAGS.
	* gettext/gettext.c: New file. (Reads mo files).
	* include/grub/file.h (grub_file_pread): New prototype.
	* include/grub/i18n.h (_): New prototype.
	* include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
	  prototypes.
	* kern/misc.c (grub_gettext_dummy): New function.
	* normal/menu_text.c: Include <grub/i18n.h>.
	* normal/menu_text.c (print_timeout): Gettexttize string.
	* normal/menu_text.c (print_message): Gettexttize string.
	* po/POTFILES: Add `normal/menu_text.c'.
	* po/ca.po: Add new translations.
	* util/grub.d/00_header.in: Define locale_dir and lang. insmod
	  gettext module and defines locale_dir and lang in grub.cfg.
	* NEWS: Add gettext support.

2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

	* util/hostdisk.c: Include `<grub/i18n.h>'.
	(find_grub_drive): Use ARRAY_SIZE for map size calculation.
	(make_device_name): Rewrite using asprintf.
	(convert_system_partition_to_system_disk): Replace 0 with NULL.
	(find_system_device): If a device is not found, generate one just
	by reusing the OS path name.
	(read_device_map): Make it permissible for device.map not to exist.

2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

	* script/sh/execute.c: Move from here ...
	* script/execute.c: ... to here.  Update all users.
	* script/sh/function.c: Move from here ...
	* script/function.c: ... to here.  Update all users.
	* script/sh/lexer.c: Move from here ...
	* script/lexer.c: ... to here.  Update all users.
	* script/sh/main.c: Move from here ...
	* script/main.c: ... to here.  Update all users.
	* script/sh/parser.y: Move from here ...
	* script/parser.y: ... to here.  Update all users.
	* script/sh/script.c: Move from here ...
	* script/script.c: ... to here.  Update all users.

2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Detect all `emu' platforms.  Define
	GRUB_MACHINE_* macros in TARGET_CFLAGS.  Remove
	--enable-grub-emu logic.  Disable include/grub/machine
	symlink on `emu' platforms.

	* genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
	* gensymlist.sh.in: Likewise.

	* include/grub/i386/coreboot/machine.h: Remove file.
	* include/grub/i386/efi/machine.h: Likewise.
	* include/grub/i386/ieee1275/machine.h: Likewise.
	* include/grub/i386/pc/machine.h: Likewise.
	* include/grub/i386/qemu/machine.h: Likewise.
	* include/grub/powerpc/ieee1275/machine.h: Likewise.
	* include/grub/sparc64/ieee1275/machine.h: Likewise.
	* include/grub/x86_64/efi/machine.h: Likewise.

	* commands/acpi.c: Remove `<grub/machine/machine.h>'.
	* commands/halt.c: Likewise.
	* commands/reboot.c: Likewise.
	* include/grub/autoefi.h: Likewise.
	* include/grub/i386/at_keyboard.h: Likewise.
	* include/grub/i386/kernel.h: Likewise.
	* include/grub/i386/loader.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
        * kern/dl.c: Likewise.
	* kern/i386/coreboot/init.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/usb_keyboard.c: Likewise.

	* include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
	`<grub/machine/machine.h>'
	[!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
	* util/misc.c: Remove `<grub/machine/machine.h>' and
	`<grub/machine/time.h>'.

	* Makefile.in (enable_grub_emu): Remove variable.
	Include $(srcdir)/conf/any-emu.mk for the `emu' platform.

	* conf/any-emu.rmk: New file.
	* conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
	(grub_emu_init.c): Move from here ...
	* conf/any-emu.rmk: ... to here.

	* conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
	(grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
	* conf/any-emu.rmk: ... to here.

2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/parser.h (grub_parser_register): Document need
	of `name' parameter.
	* normal/main.c (grub_normal_read_line): Simplify prompt string.
	* script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
	"sh" to "grub".

2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
	`$(XGETTEXT)'.
	* include/grub/i18n.h (N_): New macro.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
	around N_().
	(usage): Use gettext() to translate help strings when printing them.

2009-11-23  Robert Millan  <rmh.grub@aybabtu.com>

	Based on patch from Bean
	(http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)

	* video/efi_fb.c: New file.
	* conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
	(efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
	variables.
	* conf/x86_64-efi.rmk: Likewise.

2009-11-22  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
	* util/i386/pc/grub-setup.c: Likewise.

2009-11-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
	<hurd/fs.h>
	[__GNU__] (grub_guess_root_device): Call file_name_lookup and
	file_get_storage_info to implement grub_guess_root_device.

2009-11-21  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (target): Use make's builtin $(shell) function
	instead of calling directly $(SHELL) to create the locale directories,
	inside the $(foreach) function.

2009-11-21  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkrescue.in: Print an error and usage if output option
	has not been given.

2009-11-21  Felix Zielcke  <fzielcke@z-51.de>

	Patch from Loïc Minier <loic.minier@ubuntu.com>.
	* util/grub.d/30_os-prober.in: Cope with Linux entries where
	root and /boot are on different devices.

2009-11-21  Robert Millan  <rmh.grub@aybabtu.com>

	Fix build for srcdir != objdir.

	* Makefile.in (po/$(PACKAGE).pot): Rename to ...
	($(srcdir)/po/$(PACKAGE).pot): ... this.  Run $(XGETTEXT) from
	$(srcdir).
	($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
	($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
	reference for input.

2009-11-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-mkrescue.in: Use source directory direcly (without copiing
	or hardlinking it).  Remove -J option, Joliet is not compatible with
	multiple source directories.

2009-11-21  Carles Pina i Estany <carles@pina.cat>
2009-11-21  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-mkrescue.in: Recognize `--override-directory' option.
	(process_input_dir): New function.  Process an arbitrary input
	directory.
	Misc adjustments to support both "override mode" and system-wide mode.

2009-11-20  Felix Zielcke  <fzielcke@z-51.de>

	* configure.ac (UNIFONT_BDF): Rename to ...
	(FONT_SOURCE): ... this.  Update all users.

2009-11-20  Felix Zielcke  <fzielcke@z-51.de>

	* configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
	to the list of unifont files to look for.

2009-11-19  Robert Millan  <rmh.grub@aybabtu.com>

	Patch from Joe Auricchio <jauricchio@gmail.com>
	* commands/minicmd.c (grub_mini_cmd_clear): New function.
	(GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
	(GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().

2009-11-19  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (install-local): Add a missing backslash.

2009-11-19  Felix Zielcke  <fzielcke@z-51.de>

	* include/grub/x86_64/io.h: New file.

2009-11-19  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
	* util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
	Include `"progname.h"'.
	(main): Initialize gettext.
	* util/i386/pc/grub-setup.c: Gettexttize.
	* util/i386/pc/grub-mkimage.c: Likewise.

	* Makefile.in (po/*.po): Redefine as ...
	($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.

	* po/POTFILES: Add `util/i386/pc/grub-setup.c'.

2009-11-19  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
	* util/mkisofs/mkisofs.c: Include `"progname.h"'.
	(program_name): Remove.
	(main): Initialize gettext support.
	* util/mkisofs/mkisofs.h: Include `<locale.h>'.
	Include `<libintl.h>'.
	(_): New macro.

	* util/mkisofs/eltorito.c: Gettexttize.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.

	* po/POTFILES: Update with new files.

2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/eltorito.c: Fix minor mistake in license text.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.

	* util/mkisofs/eltorito.c (rcsid): Remove.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.

2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/match.c: Rewrite from scratch, using a linked list
	instead of static allocation.
	* util/mkisofs/match.h: Likewise.

2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>

	* po/POTFILES-shell: New file.  List `util/grub.d/10_kfreebsd.in'
	and `util/grub.d/10_linux.in'.
	* Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
	translatable Shell files.

2009-11-18  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in ($(srcdir)/aclocal.m4): New target.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	* INSTALL: Document Automake is needed for bootstrap.
	* po/ca.po: Fix PO-Revision-Date and Language-Team fields.
	* util/grub.d/10_kfreebsd.in (bindir): New variable.
	Add gettext initialization.
	(kfreebsd_entry): Make menuentry output translatable.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
	(po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
	(po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
	(po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
	(LINGUAS): Auto-generate using `po/LINGUAS'.
	* po/LINGUAS: New file.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
	other things).
	* Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
	* util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
	bindtextdomain() calls for gettext initialization.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	* gnulib/progname.c: New file (imported from Gnulib).
	* gnulib/progname.h: Likewise.
	* conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
	* util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
	(usage): Replace `progname' with `program_name'.
	(main): Use set_program_name() for program name initialization.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
	from here ...
	* Makefile.in (CPPFLAGS): ... to here.

2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>

	* aclocal.m4: Move from here ...
	* acinclude.m4: ... to here.
	* autogen.sh: Add call to `aclocal'.
	* configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.

2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in (CLEANFILES): Add `po/*.mo'.
	(LINGUAS): New variable.
	(all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
	(install-local): Install MO files.
	(po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
	* include/grub/i18n.h: New file.
	* po/POTFILES: New file.
	* po/ca.po: New file.
	* util/grub.d/10_linux.in (bindir): New variable.
	Add gettext initialization.
	(linux_entry): Make menuentry output translatable.
	* util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
	(usage): Make --help output translatable.
	(main): Initialize gettext.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	* import_gcry.py: New file (written by Vladimir with minor
	adjustments).
	* autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
	ciphers.
	* INSTALL: Document that Python is required for bootstrap.

2009-11-17  Robert Millan  <rmh.grub@aybabtu.com>

	Import ciphers from libgcrypt 1.4.4.

	 * lib/libgcrypt/cipher/ChangeLog
	 * lib/libgcrypt/cipher/ac.c
	 * lib/libgcrypt/cipher/arcfour.c
	 * lib/libgcrypt/cipher/bithelp.h
	 * lib/libgcrypt/cipher/blowfish.c
	 * lib/libgcrypt/cipher/camellia-glue.c
	 * lib/libgcrypt/cipher/camellia.c
	 * lib/libgcrypt/cipher/camellia.h
	 * lib/libgcrypt/cipher/cast5.c
	 * lib/libgcrypt/cipher/cipher.c
	 * lib/libgcrypt/cipher/crc.c
	 * lib/libgcrypt/cipher/des.c
	 * lib/libgcrypt/cipher/dsa.c
	 * lib/libgcrypt/cipher/ecc.c
	 * lib/libgcrypt/cipher/elgamal.c
	 * lib/libgcrypt/cipher/hash-common.c
	 * lib/libgcrypt/cipher/hash-common.h
	 * lib/libgcrypt/cipher/hmac-tests.c
	 * lib/libgcrypt/cipher/md.c
	 * lib/libgcrypt/cipher/md4.c
	 * lib/libgcrypt/cipher/md5.c
	 * lib/libgcrypt/cipher/primegen.c
	 * lib/libgcrypt/cipher/pubkey.c
	 * lib/libgcrypt/cipher/rfc2268.c
	 * lib/libgcrypt/cipher/rijndael-tables.h
	 * lib/libgcrypt/cipher/rijndael.c
	 * lib/libgcrypt/cipher/rmd.h
	 * lib/libgcrypt/cipher/rmd160.c
	 * lib/libgcrypt/cipher/rsa.c
	 * lib/libgcrypt/cipher/seed.c
	 * lib/libgcrypt/cipher/serpent.c
	 * lib/libgcrypt/cipher/sha1.c
	 * lib/libgcrypt/cipher/sha256.c
	 * lib/libgcrypt/cipher/sha512.c
	 * lib/libgcrypt/cipher/tiger.c
	 * lib/libgcrypt/cipher/twofish.c
	 * lib/libgcrypt/cipher/whirlpool.c

2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>

	Fix build for systems without error().

	* gnulib/error.c: New file (imported from Gnulib).
	* gnulib/error.h: Likewise.
	* conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
	* util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
	(this variable is now used by error()).

2009-11-16  Felix Zielcke  <fzielcke@z-51.de>

	* util/mkisofs/name.c (iso9660_file_length): Use isascii macro
	instead of relying that char is signed.

2009-11-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
	blocksize different from specified.
	(grub_pxefs_read): Likewise.

2009-11-16  Felix Zielcke  <fzielcke@z-51.de>

	Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.

	* disk/ata.c (grub_ata_dumpinfo): Add a cast.
	(grub_ata_readwrite): Likewise.  Update 2 format strings.
	(grub_atapi_read): Likewise.

	* conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
	* conf/i386.rmk (pkglib_MODULES): ... to here ...
	* conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
	* conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
	(ata_mod_LDFLAGS): Move from here ...
	* conf/i386.rmk: ... to here ...
	* conf/x86_64-efi.rmk: ... and here.
	* conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
	(ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.

2009-11-16  Robert Millan  <rmh.grub@aybabtu.com>

	Relicense multiboot.h, with RMS' blessing.

	* include/multiboot.h: Change to X11 license.

2009-11-15  Robert Millan  <rmh.grub@aybabtu.com>

	Support --version in grub-mkisofs.

	* util/mkisofs/mkisofs.c (rcsid): Remove variable.
	(OPTION_VERSION): New macro.
	(ld_options): Recognize --version.
	(usage): Move `program_name' from here ...
	(program_name): ... to here.  Add `static' qualifier.
	(main): Recognize `OPTION_VERSION'.

2009-11-15  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
	with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.

2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>

	Fix help2man generation for mkisofs.

	* util/mkisofs/mkisofs.c (ld_options): Recognize --help.
	(usage): Send output to stdout (rather than stderr).

2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
	`util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
	* conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
	`util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
	(bin_SCRIPTS): Add `grub-mkfloppy'.
	(grub_mkfloppy_SOURCES): New variable.

	* util/grub-mkrescue.in: New file.
	* util/i386/pc/grub-mkfloppy.in: New file.

	* util/i386/coreboot/grub-mkrescue.in: Remove.
	* util/i386/pc/grub-mkrescue.in: Remove.

2009-11-13  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/multiboot.h (struct grub_multiboot_header): Move
	from here ...
	* include/multiboot.h (struct multiboot_header): ... to here.  Update
	all users.
	* include/grub/multiboot.h (struct grub_multiboot_info): Move
	from here ...
	* include/multiboot.h (struct multiboot_info): ... to here.  Update
	all users.
	* include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
	from here ...
	* include/multiboot.h (struct multiboot_mmap_entry): ... to here.
	Update all users.
	* include/grub/multiboot.h (struct grub_mod_list): Move
	from here ...
	* include/multiboot.h (struct multiboot_mod_list): ... to here.
	Update all users.

2009-11-13  Robert Millan  <rmh.grub@aybabtu.com>

	* include/multiboot2.h (multiboot_word): Rename from this ...
	(multiboot2_word): ... to this.  Update all users.
	(multiboot_header): Rename from this ...
	(multiboot2_header): ... to this.  Update all users.
	(multiboot_tag_header): Rename from this ...
	(multiboot2_tag_header): ... to this.  Update all users.
	(multiboot_tag_start): Rename from this ...
	(multiboot2_tag_start): ... to this.  Update all users.
	(multiboot_tag_name): Rename from this ...
	(multiboot2_tag_name): ... to this.  Update all users.
	(multiboot_tag_module): Rename from this ...
	(multiboot2_tag_module): ... to this.  Update all users.
	(multiboot_tag_memory): Rename from this ...
	(multiboot2_tag_memory): ... to this.  Update all users.
	(multiboot_tag_unused): Rename from this ...
	(multiboot2_tag_unused): ... to this.  Update all users.
	(multiboot_tag_end): Rename from this ...
	(multiboot2_tag_end): ... to this.  Update all users.

2009-11-13  Robert Millan  <rmh.grub@aybabtu.com>

	Disable Multiboot2 in i386-ieee1275.  It didn't actually work, and on
	this platform we should support Multiboot1 first.

	* conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
	(multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
	(multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.

2009-11-12  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
	of write calls (converting them to fwrite() if they aren't already).
	(get_torito_desc): Likewise.
	* util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.

2009-11-12  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-install.in: Move from here ...
	* util/grub-install.in: ... to here.  Update all users.

2009-11-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.

2009-11-11  Robert Millan  <rmh.grub@aybabtu.com>

	Support for El Torito without floppy emulation.

	* util/mkisofs/eltorito.c: Include `<errno.h>'.
	(init_boot_catalog): Improve error handling.
	(get_torito_desc): Don't use floppy emulation unless requested by
	user. Patch boot information table when requested via
	`-boot-info-table'.
	* util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
	* util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
	(use_boot_info_table): New variables.
	(OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
	(OPTION_ELTORITO_EMUL_FLOPPY): New macros.
	(ld_options): Handle `-boot-info-table', `-no-emul-boot' and
	`--eltorito-emul-floppy'.
	(main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
	and `OPTION_ELTORITO_EMUL_FLOPPY'.
	* util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
	(use_boot_info_table, get_731): New prototypes.
	* util/mkisofs/write.c (get_731): New function.

2009-11-11  Felix Zielcke  <fzielcke@z-51.de>

	Fix the generation of the man page.

	* util/pc/i386/grub-install.in: Source
	`${libdir}/grub/grub-mkconfig_lib' after options have been parsed.

2009-11-11  Robert Millan  <rmh.grub@aybabtu.com>

	Large file support for grub-mkisofs.

	* conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
	* util/mkisofs/mkisofs.c (next_extent, last_extent)
	(session_start): Upgrade type to `uint64_t'.  Update all users.
	* util/mkisofs/mkisofs.h: Include `<stdint.h>'.
	(struct directory_entry): Upgrade type of `starting_block' and
	`size' to `uint64_t'.  Update all users.
	(struct deferred): Remove unused structure.
	(xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
	Update all users.
	* util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
	file is larger than `UINT32_MAX'.
	* util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
	`size' to `uint64_t'.  Update all users.  Fix handling of fwrite()
	return value.
	(struct deferred_write): Upgrade type of `extent' and `size' to
	`uint64_t'.  Update all users.
	(last_extent_written): Upgrade type to `uint64_t'.  Update all
	users.
	(write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
	Update all users.  Upgrade type of `remain' to `int64_t' and
	`use' to `size_t'.  Use error() to handle fread() errors.
	(write_files): Rely on write_one_file() rather than calling
	xfwrite() directly.

2009-11-09  Felix Zielcke  <fzielcke@z-51.de>

	* util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* util/mkisofs/fnmatch.c: Remove.
	* util/mkisofs/getopt1.c: Likewise.
	* util/mkisofs/getopt.c: Likewise.
	* conf/common.rmk (grub_mkisofs_SOURCES): Replace
	`util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
	`util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
	`gnulib/getopt1.c' and `gnulib/getopt.c'.
	(grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.

	* configure.ac: Detect `mingw32msvc' host_os.
	Check for lstat(), getuid() and getgid().

	* util/mkisofs/joliet.c: Include `<stdint.h>'.  Replace all
	instances of `u_char' with `uint8_t'.

	* util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
	[!HAVE_GETUID] (getuid): New function (stub).
	[!HAVE_GETGID] (getgid): Likewise.
	[!HAVE_LSTAT] (lstat): Likewise.
	[!S_IROTH] (S_IROTH): New macro (dummy).
	[!S_IRGRP] (S_IRGRP): Likewise.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
	conditional expression).

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	Import from Gnulib.

	* gnulib/fnmatch.c: New file.
	* gnulib/fnmatch.h: Likewise.
	* gnulib/fnmatch_loop.c: Likewise.
	* gnulib/getopt.c: Likewise.
	* gnulib/getopt.h: Likewise.
	* gnulib/getopt1.c: Likewise.
	* gnulib/getopt_int.h: Likewise.
	* gnulib/gettext.h: Likewise.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
	* normal/handler.c (read_handler_list): Likewise.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	Misc cleanup.

	* kern/command.c (grub_register_command_prio): Use
	grub_zalloc() instead of explicitly zeroing data.
	* kern/list.c: Include `<grub/mm.h>'.
	(grub_named_list_find): Replace `0' with `NULL'.
	* normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
	(fs_module_list): Change type to `grub_named_list_t'.  Update all
	users.
	* normal/dyncmd.c (read_command_list): Add space between function
	call and parenthesis.
	* normal/handler.c (read_handler_list): Likewise.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/auth.c (punishment_delay): Moved from here ...
	(grub_auth_strcmp): ... to here (inside function).

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/list.h (struct grub_named_list): Remove `const'
	qualifier from `name'.
	(struct grub_prio_list): Likewise.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/auth.c: Include `<grub/time.h>'.
	(grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/auth.c (punishment_delay): New variable.
	(grub_auth_strcmp): Rewrite using grub_get_time_ms ().
	(grub_auth_check_authentication): Punish failed login attempts with
	an incremental (2^N) delay.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
	path with $(srcdir).

2009-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.

2009-11-09  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/coreboot/grub-mkrescue.in: New file.
	* conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
	variables.

	* conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
	(grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
	* configure.ac: Add header and function checks to satisfy grub-mkisofs
	requirements.
	* util/mkisofs/defaults.h: New file.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/fnmatch.c: Likewise.
	* util/mkisofs/getopt.c: Likewise.
	* util/mkisofs/getopt1.c: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/include/fctldefs.h: Likewise.
	* util/mkisofs/include/mconfig.h: Likewise.
	* util/mkisofs/include/prototyp.h: Likewise.
	* util/mkisofs/include/statdefs.h: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/match.c: Likewise.
	* util/mkisofs/match.h: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.

2009-11-09  Vladimir Serbinenko  <phcoder@gmail.com>

	* normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
	being insecure.

2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-mkrescue.in: Fix miss-identification as
	`grub-mkimage' (and use $0 when possible).

2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
	error message for excessively large memory map.

2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>

	* autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
	executable bit.

2009-11-08  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
	message for coreboot users.

2009-11-07  Robert Millan  <rmh.grub@aybabtu.com>

	Fix build with GNU gold.

	* conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
	(diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
	(cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
	link addresses.
	* aclocal.m4: Likewise.

2009-11-04  Felix Zielcke  <fzielcke@z-51.de>

	* configure.ac (AC_PREREQ): Bump to 2.59d.
	* INSTALL: Make it more clear when Autoconf and Ruby are
	needed and when to run `./autogen.sh'.

2009-11-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/30_os-prober.in: Restore default behavior for unsupported
	OSes.

2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/30_os-prober.in: Add GNU/Hurd support

2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
	giving it to GNU Mach.

2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
	GNU partition number to get internal GRUB partition number.

2009-11-02  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
	${GRUB_DEVICE_BOOT} before loading /boot kernel.

2009-11-01  Robert Millan  <rmh.grub@aybabtu.com>

	Based on patch from BVK Chaitanya  <bvk.groups@gmail.com>
	* kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
	case.

2009-11-01  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.

2009-10-30  Robert Millan  <rmh.grub@aybabtu.com>

	Fix build problem.

	* Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
	`-isystem=$(srcdir)/include'.

2009-10-30  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-install.in: Remove hint that device.map should be
	checked (grub-install doesn't currently rely on it).

2009-10-29  Robert Millan  <rmh.grub@aybabtu.com>

	Revert SVN r2660.

	* conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
	* conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
	* conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
	* 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.

2009-10-28  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.

2009-10-28  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/misc.h: Stop checking for APPLE_CC.

2009-10-28  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
	doesn't cause an infinite call loop.

2009-10-28  Felix Zielcke  <fzielcke@z-51.de>

	* commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
	strings.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
	variable.
	* Makefile.in: Likewise.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* gendistlist.sh: Simplify .svn check.  Skip .bzr as well.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in (RMKFILES): Rewrite using $(wildcard).

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
	from here ...
	* include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* Makefile.in (docs/grub.info): Use make syntax to ignore errors
	in $(MAKEINFO) invocation.  This makes it clear in output that
	errors are being ignored.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
	from here ...
	* conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
	* conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
	* 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.

2009-10-26  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-editenv.c (main): If only a command is given, use
	DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
	(usage): FILENAME is now optional and has a default.

2009-10-26  Colin Watson  <cjwatson@ubuntu.com>

	Improve grub-mkconfig performance when there are several menu
	entries on a single filesystem.

	* util/grub.d/10_linux.in (linux_entry): Cache the output of
	prepare_grub_to_access_device.
	* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
	* util/grub.d/30_os-prober.in: Likewise.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/10_freebsd.in: Remove.
	* util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
	* configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.

2009-10-26  Robert Millan  <rmh.grub@aybabtu.com>

	* docs/grub.cfg: Fix example usage of *BSD loaders.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-setup.c (setup): Add missing parameter to
	grub_util_error() call.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
	`reserved_first_sector' member.
	* fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
	`reserved_first_sector' to 1.
	* fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
	* fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
	* fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
	* util/i386/pc/grub-setup.c (setup): Add safety check that probes for
	filesystems which begin at first sector.
	(options): New option --skip-fs-probe.
	(main): Handle --skip-fs-probe and pass it to setup().

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
	(memset): Fix function prototype.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>
2009-10-25  Vasily Averin  <vvs@parallels.com>

	* fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
	`dirent.direntlen == 0'.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
	`cpio'.
	[! MODE_USTAR]: Initialize `cpio' module instead of `tar'.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
	`__trampoline_setup' and `__ucmpdi2'.
	* include/grub/powerpc/libgcc.h: Only export symbols for functions
	that libgcc provides.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/powerpc/libgcc.h (memset): Remove function prototype.
	* include/grub/sparc64/libgcc.h (memset): Likewise.
	* include/grub/misc.h (memset, memcmp): New function prototypes.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	* fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
	`cpio'.
	[! MODE_USTAR]: Finish `cpio' module instead of `tar'.

2009-10-25  Robert Millan  <rmh.grub@aybabtu.com>

	Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
	* docs/grub.cfg: Compensate for recent change in multiboot
	loader (since 2009-08-14 it won't pass filename to payload).
	* util/grub.d/10_hurd.in: Likewise.

2009-10-21  Felix Zielcke  <fzielcke@z-51.de>

	* config.guess: Update to latest version from config git
	repository.
	* config.sub: Likewise.

2009-10-20  Robert Millan  <rmh.grub@aybabtu.com>

	Fix build on sparc64.

	* configure.ac: Perform checks for libgcc symbols before
	adding `-nostdlib' to LDFLAGS.

2009-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Let user specify OpenBSD root device.

	* loader/i386/bsd.c (openbsd_root): New variable.
	(openbsd_opts): New option 'root'.
	(OPENBSD_ROOT_ARG): New macro.
	(grub_openbsd_boot): Use 'openbsd_root'.
	(grub_cmd_openbsd): Fill 'openbsd_root'.

2009-10-16  Robert Millan  <rmh.grub@aybabtu.com>

	* NEWS: Misc adjustments.

2009-10-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.

2009-10-16  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Bump version to 1.97.

2009-10-16  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
	-mno-3dnow on x86 architectures.  Some toolchains enable these
	features by default, but they rely on registers that aren't enabled
	in GRUB.  Thanks to Vladimir Serbinenko for the suggestion.

2009-10-15  Robert Millan  <rmh.grub@aybabtu.com>

	Make entry text a bit more readable.

	* util/grub.d/10_linux.in: Add `with' before `Linux'.

2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.

2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
	operations.

2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* configure.ac: Add missing dollar.

2009-10-15  Vladimir Serbinenko  <phcoder@gmail.com>

        Revert 2009-06-10  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Put checks for __bswapsi2 and __bswapdi2.
	* include/grub/powerpc/libgcc.h: Don't use weak attribute for all
	exports.
	* include/grub/sparc64/libgcc.h: Likewise.  Use
	preprocessor conditionals.

2009-10-14  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (grub-dumpbios): Remove rule.
	(sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
	* util/grub-dumpbios.in: Remove file.

2009-10-14  Robert Millan  <rmh.grub@aybabtu.com>

	Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
	the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).

	* loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
	from "kFreeBSD" namespace (rather than "FreeBSD").  Update all
	users.

	(GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
	"openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
	to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
	and "freebsd_module_elf" to "kfreebsd_module_elf".  Update all
	users.

2009-10-12  Robert Millan  <rmh.grub@aybabtu.com>

	* term/tparm.c: Switch to GPLv3.

2009-10-09  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/cpuid.h: Add header protection.

2009-10-09  Robert Millan  <rmh.grub@aybabtu.com>

	Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.

	* include/grub/i386/cpuid.h: New file.
	* commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
	(has_longmode): Rename to ...
	(grub_cpuid_has_longmode): ... this.  Update all users.  Remove
	`static' attribute.
	* loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
	(grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
	on a CPU that doesn't implement AMD64 instruction set.

2009-10-06  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
	that version.texi is rebuilt on version number changes.

2009-10-06  Colin Watson  <cjwatson@ubuntu.com>

	* Makefile.in: Don't set info_INFOS unless makeinfo was found.
	Fixes bug #27602.

2009-10-06  Colin Watson  <cjwatson@ubuntu.com>

	* util/i386/pc/grub-install.in: Source
	${libdir}/grub/grub-mkconfig_lib before option processing, in order
	that the --grub-probe option will work.
	* util/sparc64/ieee1275/grub-install.in: Likewise.

2009-10-05  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Bump version to 1.97~beta4.

2009-10-03  Robert Millan  <rmh.grub@aybabtu.com>

	Resync grub-mkdevicemap in x86_64-efi.

	* conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
	(grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
	`util/devicemap.c'.

2009-10-01  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-editenv.c (create_envblk_file): Write new block with a
	.new suffix and then rename it into place, to ensure atomic
	creation.

2009-09-28  Robert Millan  <rmh.grub@aybabtu.com>

	Do not automatically install headers.

	* Makefile.in (include_DATA): Remove.  Update all users.

2009-09-26  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
	(lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.

	* util/osdetect.lua: Remove.
	* script/lua/lauxlib.c: Likewise.
	* script/lua/ldebug.c: Likewise.
	* script/lua/grub_main.c: Likewise.
	* script/lua/lauxlib.h: Likewise.
	* script/lua/ldebug.h: Likewise.
	* script/lua/ltablib.c: Likewise.
	* script/lua/liolib.c: Likewise.
	* script/lua/lstrlib.c: Likewise.
	* script/lua/lualib.h: Likewise.
	* script/lua/ldo.c: Likewise.
	* script/lua/ldump.c: Likewise.
	* script/lua/ldo.h: Likewise.
	* script/lua/loslib.c: Likewise.
	* script/lua/lundump.c: Likewise.
	* script/lua/grub_lib.c: Likewise.
	* script/lua/ldblib.c: Likewise.
	* script/lua/lundump.h: Likewise.
	* script/lua/lmem.c: Likewise.
	* script/lua/grub_lib.h: Likewise.
	* script/lua/lmathlib.c: Likewise.
	* script/lua/lstate.c: Likewise.
	* script/lua/ltm.c: Likewise.
	* script/lua/lvm.c: Likewise.
	* script/lua/lmem.h: Likewise.
	* script/lua/lstate.h: Likewise.
	* script/lua/ltm.h: Likewise.
	* script/lua/ltable.c: Likewise.
	* script/lua/lvm.h: Likewise.
	* script/lua/llex.c: Likewise.
	* script/lua/lgc.c: Likewise.
	* script/lua/grub_lua.h: Likewise.
	* script/lua/loadlib.c: Likewise.
	* script/lua/lfunc.c: Likewise.
	* script/lua/lopcodes.c: Likewise.
	* script/lua/lparser.c: Likewise.
	* script/lua/ltable.h: Likewise.
	* script/lua/llex.h: Likewise.
	* script/lua/lgc.h: Likewise.
	* script/lua/lfunc.h: Likewise.
	* script/lua/lbaselib.c: Likewise.
	* script/lua/lopcodes.h: Likewise.
	* script/lua/lparser.h: Likewise.
	* script/lua/lzio.c: Likewise.
	* script/lua/linit.c: Likewise.
	* script/lua/lobject.c: Likewise.
	* script/lua/llimits.h: Likewise.
	* script/lua/lstring.c: Likewise.
	* script/lua/lzio.h: Likewise.
	* script/lua/lapi.c: Likewise.
	* script/lua/lcode.c: Likewise.
	* script/lua/lua.h: Likewise.
	* script/lua/lobject.h: Likewise.
	* script/lua/lstring.h: Likewise.
	* script/lua/lapi.h: Likewise.
	* script/lua/lcode.h: Likewise.
	* script/lua/luaconf.h: Likewise.

2009-09-26  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Command-line and menu entry commands): Document
	date and echo commands.

2009-09-24  Pavel Roskin  <proski@gnu.org>

	* include/grub/kernel.h (struct grub_module_header): Remove
	`grub_module_header_types'.  Make `type' unsigned.  Make `size'
	32-bit on all platforms.
	* util/elf/grub-mkimage.c (load_modules): Treat `type' as an
	8-bit field.  Use grub_host_to_target32() for `size'.
	* util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
	* util/i386/pc/grub-mkimage.c (generate_image): Likewise.
	* util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.

2009-09-24  Robert Millan  <rmh.grub@aybabtu.com>

	Fix "lost keypress" bug in at_keyboard.

	* term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
	Checks for readyness of input buffer (without flushing it).
	(grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
	than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.

2009-09-24  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
	size check within GRUB_MACHINE_PCBIOS section.

2009-09-24  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
	return value.
	* term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
	KEYBOARD_ISREADY check.
	(grub_at_keyboard_checkkey): Rename to ...
	(grub_at_keyboard_getkey_noblock): ... this.  Update all users.
	Remove gratuitous cast.

2009-09-23  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Call AC_PROG_MKDIR_P.
	* Makefile.in (docs/stamp-vti): Create docs directory.  Create
	version.texi in $(builddir) rather than $(srcdir).
	(docs/grub.info): Create docs directory.  Prepend $(builddir)/docs
	to makeinfo's @include search path.

2009-09-23  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'

2009-09-23  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
	for `*.dpkg-new'.

2009-09-21  Colin Watson  <cjwatson@ubuntu.com>

	Build info documentation.  Some code borrowed from Automake.

	* configure.ac: Check for makeinfo.
	* Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
	(MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
	docs/version.texi.
	(MOSTLYCLEANFILES): Add vti.tmp.
	(docs/version.texi, docs/stamp-vti): Update automatically.
	(docs/grub.info): Build info documentation.  Use --force and ignore
	errors for now.
	(all-local): Add $(INFOS).
	(install-local): Install info files.
	(uninstall): Uninstall info files.
	* docs/version.texi: Remove from revision control.  This file is
	automatically generated on build now.
	* gendistlist.sh: Add `*.info'.

2009-09-21  Felix Zielcke  <fzielcke@z-51.de>

	* kern/term.c: Fix indentation.

2009-09-21  Felix Zielcke  <fzielcke@z-51.de>

	* util/hostdisk.c: Fix a comment.

2009-09-20  Robert Millan  <rmh.grub@aybabtu.com>

	Fix regression introduced in r2539.

	* term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
	to 0xA1.

2009-09-19  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/30_os-prober.in: Don't throw away stderr from
	os-prober. Under normal operation, it does not print anything to
	stderr; if it does, we need to debug it, and throwing away stderr
	makes that excessively difficult.

2009-09-16  Vladimir Serbinenko  <phcoder@gmail.com>

	* mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.

2009-09-16  Robert Millan  <rmh.grub@aybabtu.com>

	* aclocal.m4 (AC_LANG_PROGRAM): New macro.  Overrides stock
	AC_LANG_PROGRAM from autoconf.
	(grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
	prototypes (fixes warning).

	* configure.ac: Add `-Werror' to TARGET_CFLAGS unless
	`--disable-werror' was used.

2009-09-16  Robert Millan  <rmh.grub@aybabtu.com>

	* partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
	uninitialized `lastaddr'.

2009-09-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.

2009-09-14  Colin Watson  <cjwatson@ubuntu.com>

	* commands/test.c (get_fileinfo): Return immediately if
	grub_fs_probe fails.

2009-09-14  José Martínez  <xosemp@gmail.com>

	* commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.

2009-09-14  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
	output.

2009-09-13  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Remove --enable-grub-pe2elf.  Only build
	grub-pe2elf when needed by the build system itself.
	* conf/common.rmk: Remove $(enable_grub_pe2elf) check.

2009-09-12  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Bump version to 1.97~beta3.
	* docs/version.texi: Likewise.

2009-09-12  Robert Millan  <rmh.grub@aybabtu.com>

	* video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
	mode special handling (grub_vbe_bios_set_dac_palette_width() call)
	from here ...
	* loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
	(grub_linux_setup_video): ... to here (with some adjustments).

2009-09-12  Robert Millan  <rmh.grub@aybabtu.com>

	Fix memory corruption issue (spotted by Colin Watson).

	* kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
	causing returned size to be stored in an incorrect memory location.
	Fix use of uninitialized value when storing the returned size.

2009-09-12  Yves Blusseau  <blusseau@zetam.org>

	Change clean rules to properly remove files

	* genmk.rb: add new clean rules
	* Makefile.in (clean): add the new targets
	(mostlyclean): likewise

2009-09-11  Colin Watson  <cjwatson@ubuntu.com>

	* include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
	to grub_uint64_t.
	* fs/ntfs.c (init_file): Understand 64-bit sizes for
	non-resident files.

2009-09-11  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: Don't look for help2man when cross-compiling.  Fixes
	part of bug #27349.

2009-09-10  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in: Make the created config mode 400 and
	print a warning if it fails.

2009-09-10  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/40_custom.in: Ask user to type custom entries below
	comment, rather than below 'exec tail' line.

2009-09-10  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/40_custom.in: Make sure that the explanatory text is
	visible in grub.cfg.

2009-09-10  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/40_custom.in: Make it a little clearer how to use this
	file.

2009-09-10  Felix Zielcke  <fzielcke@z-51.de>

	* docs/grub.cfg: Add an example menu entry for memtest86+.

2009-09-09  Felix Zielcke  <fzielcke@z-51.de>

	* config.guess: Update to latest version from config git.
	* config.sub: Likewise.

2009-09-08  Colin Watson  <cjwatson@ubuntu.com>

	* script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
	unknown-command case.  Fixes bug #27320.

2009-09-08  Felix Zielcke  <fzielcke@z-51.de>

	* kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
	`help' if the command exists.

2009-09-06  Robert Millan  <rmh.grub@aybabtu.com>

	* INSTALL: Require GCC 4.1.3 or later.

2009-09-06  Yves Blusseau  <blusseau@zetam.org>

	* Makefile.in (RMKFILES): add i386-qemu.rmk
	(MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
	$(srcdir)/stamp-h.in

2009-09-05  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-probe.c (probe): Comment out buggy codepath, which
	was unexpectedly enabled by Colin Watson's 2009-09-02 fix.  This
	should be re-enabled after 1.97.

2009-09-05  Felix Zielcke  <fzielcke@z-51.de>

	* gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
	find searches for.

2009-09-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
	unnecessary calls to grub_error.

2009-09-04  Colin Watson  <cjwatson@ubuntu.com>

	* NEWS: Mention `keystatus' and Unicode fonts.

2009-09-04  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Bump version to 1.97~beta2.
	* docs/version.texi: Likewise.

2009-09-03  Colin Watson  <cjwatson@ubuntu.com>

	* configure.ac: By default, GCC 4.4 generates .eh_frame sections
	containing unwind information in some cases where it previously did
	not. Use -fno-dwarf2-cfi-asm if available to restore the old
	behaviour. See http://patchwork.kernel.org/patch/8555/ for related
	discussion.

2009-09-02  Yves BLUSSEAU  <blusseau@zetam.org>

	Embedding loadenv module into grub-emu

	* conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
	commands/loadenv.c
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise

2009-09-03  Magnus Granberg  <zorry@ume.nu>

	* aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
	include -fPIE in the default specs.
	* configure.ac: Check if pie_possible is yes and add -fno-PIE
	to TARGET_CFLAGS.

2009-09-03  Felix Zielcke  <fzielcke@z-51.de>

	* INSTALL: Note that GNU Bison 2.3 or later is required.

2009-09-03  Colin Watson  <cjwatson@ubuntu.com>

	* kern/i386/pc/startup.S: Fix typo.

2009-09-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
	according to GCS.

2009-09-02  Colin Watson  <cjwatson@ubuntu.com>

	* docs/grub.texi (Naming convention): Describe one-based partition
	numbering.
	(Device syntax): Likewise.
	(File name syntax): Likewise.
	(Block list syntax): Likewise.
	(Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
	menu.lst.
	(File name syntax): Likewise.
	(Command-line and menu entry commands): Document acpi, blocklist,
	crc, export, insmod, keystatus, ls, set, and unset commands.

2009-09-02  Colin Watson  <cjwatson@ubuntu.com>

	* commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
	to avoid implying that only one of --shift, --ctrl, or --alt may be
	used.

2009-09-02  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
	rather than comparing against S_IFREG, which will almost never work.

2009-09-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/loadenv.c (check_blocklists): Fix off-by-one error.
	(write_blocklists): Likewise.

2009-09-01  Colin Watson  <cjwatson@ubuntu.com>

	* script/lua/grub_lua.h (fputs): Supply a format string as the first
	argument to grub_printf.

2009-09-01  Felix Zielcke  <fzielcke@z-51.de>

	* genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
	 non GNU test.

2009-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/file.c (grub_file_read): Spelling fix

2009-08-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
	loading of headers in some cases.

2009-08-30  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Bump version to 1.97~beta1.
	* docs/version.texi: Likewise.

2009-08-29  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/i386/xnu.h: Add license header.
	include grub/err.h explicitly.

2009-08-29  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
	to `ufs' in the vfs.root.mountfrom kernel parameter.

2009-08-29  Robert Millan  <rmh.grub@aybabtu.com>

	* term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.

	[GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
	value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).

	[! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
	`ARRAY_SIZE' macro.

2009-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/file.c (grub_file_read): Check offset.
	* fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
	* fs/jfs.c (grub_jfs_read_file): Likewise.
	* fs/ntfs.c (grub_ntfs_read): Likewise.
	* fs/reiserfs.c (grub_reiserfs_read): Likewise.
	* fs/minix.c (grub_minix_read_file): Correct offset check.
	* fs/ufs.c (grub_ufs_read_file): Likewise.

2009-08-28  Colin Watson  <cjwatson@ubuntu.com>

	* term/i386/pc/console.c (bios_data_area): Cast
	GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.

2009-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	1-bit optimised blitters.

	* include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
	prototype.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
	function.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
	when possible.
	* video/video.c (grub_video_get_blit_format): Return
	GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.

2009-08-28  Colin Watson  <cjwatson@ubuntu.com>

	* normal/cmdline.c (grub_cmdline_get): Supply a format string as
	the first argument to grub_printf.

2009-08-28  Colin Watson  <cjwatson@ubuntu.com>
2009-08-28  Robert Millan  <rmh.grub@aybabtu.com>

	Add `getkeystatus' terminal method.  Add a new `keystatus' command
	to query it.

	* include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
	GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
	modifier key bitmasks.
	(struct grub_term_input): Add `getkeystatus' member.
	(grub_getkeystatus): Add prototype.
	* kern/term.c (grub_getkeystatus): New function.

	* include/grub/i386/pc/memory.h
	(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
	(struct grub_machine_bios_data_area): Define necessary parts of BIOS
	Data Area layout.
	* term/i386/pc/console.c (grub_console_getkeystatus): New function.
	(grub_console_term_input): Set `getkeystatus' member.
	* term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
	constants.
	(grub_usb_keyboard_getreport): Likewise.
	(grub_usb_keyboard_checkkey): Likewise.
	(grub_usb_keyboard_getkeystatus): New function.
	(grub_usb_keyboard_term): Set `getkeystatus' member.

	* commands/keystatus.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
	(keystatus_mod_SOURCES): New variable.
	(keystatus_mod_CFLAGS): Likewise.
	(keystatus_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
	commands/keystatus.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.

2009-08-28  Vladimir Serbinenko  <phcoder@gmail.com>

	Split befs.mod and afs.mod into *_be.mod and *.mod

	* conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add afs_be.mod and befs_be.mod.
	(afs_be_mod_SOURCES): New variable.
	(afs_be_mod_CFLAGS): Likewise.
	(afs_be_mod_LDFLAGS): Likewise.
	(befs_be_mod_SOURCES): Likewise.
	(befs_be_mod_CFLAGS): Likewise.
	(befs_be_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* fs/afs_be.c: New file.
	* fs/befs_be.c: New file.
	* fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
	(GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
	(U16): Replaced with ...
	(grub_afs_to_cpu16): ...this. All users updated.
	(U32): Replaced with ...
	(grub_afs_to_cpu32): ...this. All users updated.
	(U64): Replaced with ...
	(grub_afs_to_cpu64): ...this. All users updated.
	(GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
	(GRUB_AFS_BO_BIG_ENDIAN): Likewise.
	(grub_afs_validate_sblock): Check only one endianness.
	(GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
	(GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
	(GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
	(GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
	(GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
	(GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
	(GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
	(GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.

2009-08-26  Bean  <bean123ch@gmail.com>

	* fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
	64-bit number.
	(GRUB_XFS_FSB_TO_BLOCK): Likewise.
	(grub_xfs_inode_block): Change return type to grub_uint64_t.
	(grub_xfs_read_inode): Change type of block to grub_uint64_t.

2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	NetBSD memory map support.

	* include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
	(grub_netbsd_btinfo_mmap_header): New structure.
	(grub_netbsd_btinfo_mmap_entry): Likewise.
	* loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.

2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable bsd.mod on coreboot.

	* conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
	(bsd_mod_SOURCES): New variable.
	(bsd_mod_CFLAGS): Likewise.
	(bsd_mod_LDFLAGS): Likewise.
	(bsd_mod_ASFLAGS): Likewise.
	* loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
	(grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.

2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Cleanup NetBSD root support.

	* loader/i386/bsd.c (grub_netbsd_boot): Remove call to
	grub_bsd_get_device.
	Fix typo.

2009-08-25  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/00_header.in: Move check for the video backend of
	gfxterm from here ...
	* util/grub-mkconfig.in: ... to here.  Enable gfxterm if there's
	a suitable video backend.

2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix breakage in grub-setup.

	* util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
	"msdos_partition_map".

2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix breakage in normal/auth.c.

	* normal/auth.c (grub_iswordseparator): New function.

2009-08-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Authentication support.

	* commands/password.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add password.mod.
	(password_mod_SOURCES): New variable.
	(password_mod_CFLAGS): Likewise.
	(password_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Add normal/auth.c.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
	normal/auth.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* include/grub/auth.h: New file.
	* include/grub/err.h (grub_err_t): New enum value
	GRUB_ERR_ACCESS_DENIED.
	* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
	'users'.
	* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
	* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
	users updated.
	* normal/auth.c: New file.
	* normal/main.c (grub_normal_add_menu_entry): Handle --users option.
	(grub_cmdline_run): Don't allow to go to command line without
	authentication.
	* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
	* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
	menuentry without superuser rights.
	* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
	user isn't a superuser.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Save space by inlining misc.c functions.

	* kern/misc.c (grub_iswordseparator): Made static.
	* kern/misc.c (grub_strcat): Moved from here ...
	* include/grub/misc.h (grub_strcat): ... here. Inlined.
	* kern/misc.c (grub_strncat): Moved from here ...
	* include/grub/misc.h (grub_strncat): ... here. Inlined.
	* kern/misc.c (grub_strcasecmp): Moved from here ...
	* include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
	* kern/misc.c (grub_strncasecmp): Moved from here ...
	* include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
	* kern/misc.c (grub_isalpha): Moved from here ...
	* include/grub/misc.h (grub_isalpha): ... here. Inlined.
	* kern/misc.c (grub_isdigit): Moved from here ...
	* include/grub/misc.h (grub_isdigit): ... here. Inlined.
	* kern/misc.c (grub_isgraph): Moved from here ...
	* include/grub/misc.h (grub_isgraph): ... here. Inlined.
	* kern/misc.c (grub_tolower): Moved from here ...
	* include/grub/misc.h (grub_tolower): ... here. Inlined.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* script/sh/function.c (grub_script_function_find): Cut error message
	not to flood terminal.
	* script/sh/lexer.c (grub_script_yylex): Remove command line length
	limit.
	* script/sh/script.c (grub_script_arg_add): Duplicate string.

2009-08-24  Colin Watson  <cjwatson@ubuntu.com>

	* term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
	`report' grub_uint8_t *.
	(grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
	Use a 50-millisecond timeout rather than just repeating
	grub_usb_keyboard_getreport 50 times.
	(grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Rename *_partition_map to part_*

	* partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
	* partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
	* partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
	* partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
	All users updated.
	* partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
	All users updated.
	* partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
	* util/grub-probe.c (probe_partmap): Don't transform partition name
	to get module name.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix OpenBSD and NetBSD support.

	* include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
	memory address conflict.
	(OPENBSD_MMAP_ACPI): New definition.
	(OPENBSD_MMAP_NVS): Likewise.
	* loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
	and OPENBSD_MMAP_NVS.
	Add memory map terminator
	Explicit cast when calling grub_unix_real_boot.
	(grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Let user specify NetBSD root device.

	* loader/i386/bsd.c (netbsd_root): New variable.
	(netbsd_opts): New option 'root'.
	(NETBSD_ROOT_ARG): New macro.
	(grub_netbsd_boot): Use 'netbsd_root'.
	(grub_bsd_unload): Free 'netbsd_root'.
	(grub_cmd_netbsd): Fill 'netbsd_root'.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for 64-bit NetBSD.

	* loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
	point when booting non-FreeBSD.

2009-08-24  Vladimir Serbinenko  <phcoder@gmail.com>

	Support --no-smp and --no-acpi for NetBSD.

	* include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
	(NETBSD_AB_NOACPI): Likewise.
	* loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
	(netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.

2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
	errors.
	(grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
	errors. Call grub_error when needed.

2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/search.c (search_fs): Try searching without autoload first.
	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
	filesystem module explicitly for faster booting.

2009-08-23  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.

2009-08-23  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/30_os-prober.in: Disable os-prober if
	`GRUB_DISABLE_OS_PROBER' was set to true.

2009-08-23  Robert Millan  <rmh.grub@aybabtu.com>

	* partmap/pc.c: Rename to ...
	* partmap/msdos.c: ... this.  Update all users.
	(grub_pc_partition_map): Rename to ...
	(grub_msdos_partition_map): ... this.  Update all users.

	* parttool/pcpart.c: Rename to ...
	* parttool/msdospart.c: ... this.  Update all users.

	* include/grub/pc_partition.h: Rename to ...
	* include/grub/msdos_partition.h: ... this.  Update all users.
	(grub_pc_partition_bsd_entry): Rename to ...
	(grub_msdos_partition_bsd_entry): ... this.  Update all users.
	(grub_pc_partition_disk_label): Rename to ...
	(grub_msdos_partition_disk_label): ... this.  Update all users.
	(grub_pc_partition_entry): Rename to ...
	(grub_msdos_partition_entry): ... this.  Update all users.
	(grub_pc_partition_mbr): Rename to ...
	(grub_msdos_partition_mbr): ... this.  Update all users.
	(grub_pc_partition): Rename to ...
	(grub_msdos_partition): ... this.  Update all users.
	(grub_pc_partition_is_empty): Rename to ...
	(grub_msdos_partition_is_empty): ... this.  Update all users.
	(grub_pc_partition_is_extended): Rename to ...
	(grub_msdos_partition_is_extended): ... this.  Update all users.
	(grub_pc_partition_is_bsd): Rename to ...
	(grub_msdos_partition_is_bsd): ... this.  Update all users.

	* conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
	(amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
	(apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
	(msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
	(sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
	(acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
	(gpt_mod_LDFLAGS): Rename to ...
	(part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
	(part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
	(part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
	(part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
	(part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
	(part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
	(part_gpt_mod_LDFLAGS): ... this.
	(pkglib_MODULES): Prefix partition modules with `part_'.  Rename
	`pcpart.mod' to `msdospart.mod'.
	(pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
	to ...
	(msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
	(msdospart_mod_LDFLAGS): ... this.

2009-08-23  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
	(openbsd_opts): Likewise.
	(netbsd_opts): Likewise.
	(freebsd_flags): Added 0 terminator.
	(openbsd_flags): Likewise.
	(netbsd_flags): Likewise.
	(grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
	(grub_cmd_freebsd): Transformed into extended command.
	(grub_cmd_openbsd): Likewise.
	(grub_cmd_netbsd): Likewise.
	(cmd_freebsd): Changed type to grub_extcmd_t.
	(cmd_openbsd): Likewise.
	(cmd_netbsd): Likewise.
	(GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
	grub_cmd_openbsd as extended commands.
	(GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
	cmd_netbsd and cmd_openbsd

2009-08-22  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.

2009-08-21  Pavel Roskin  <proski@gnu.org>

	* Makefile.in (install-local): When checking if a file is in the
	build directory, use "test -e" to detect symlinks.

	* Makefile.in (install-local): Remove all files in
	$(DESTDIR)$(pkglibdir) before installing new files there.

2009-08-18  Felix Zielcke  <fzielcke@z-51.de>

	* util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
	grub-mkelfimage.

2009-08-18  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in: Don't use gfxterm by default if not
	explicitly specified by the user.

2009-08-18  Pavel Roskin  <proski@gnu.org>

	* include/grub/fbfill.h (struct grub_video_fbrender_target): Use
	grub_uint8_t pointer for data.
	* include/grub/fbutil.h (struct grub_video_fbblit_info):
	Likewise.
	* video/fb/fbutil.c: Remove unnecessary casts.

2009-08-17  Michal Suchanek  <hramrach@centrum.cz>

	VBE cleanup.

	* video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
	(grub_vbe_set_video_mode): Save active mode info
	only after setting the mode.
	(grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
	second argument.

2009-08-17  Michal Suchanek  <hramrach@centrum.cz>

	Rename variables for clarity.

	* video/i386/pc/vbe.c (active_mode_info): Renamed to ...
	(active_vbe_mode_info): ... this. All users updated.
	(framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
	All users updated.
	(initial_mode): Rename to ...
	(initial_vbe_mode): ... this. All users updated.
	(mode_in_use): Rename to ..
	(vbe_mode_in_use): ... this. All users updated.
	(mode_list): Rename to ..
	(vbe_mode_list): ... this. All users updated.
	(grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
	'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
	(grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
	'mode_list_size' to 'vbe_mode_list_size'.
	(grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
	'best_mode_info' to 'best_vbe_mode_info' and
	'best_mode' to 'best_vbe_mode'

2009-08-17  Michal Suchanek  <hramrach@centrum.cz>

	Remove duplicate grub_video_fb_get_video_ptr.

	* include/grub/fbutil.h (get_data_ptr): Rename to ...
	(grub_video_fb_get_video_ptr): ... this.
	* include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
	* video/fb/fbutil.c: Add comment about addressing.
	(get_data_ptr): Rename to ...
	(grub_video_fb_get_video_ptr): ... this. All users updated.
	* video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.

2009-08-17  Robert Millan  <rmh.grub@aybabtu.com>

	* fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
	grub_dprintf() that was just added.

2009-08-17  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
	(DEFAULT_VIDEO_MODE): Remove macros.
	(grub_linux_boot): Remove assumption that Linux has FB support,
	and use "text" as default video mode.

2009-08-15  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
	grub_dprintf.
	* fs/fat.c (grub_fat_read_data): Likewise.

2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
	payload.
	(grub_module): Likewise.

2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
	mbi->cmdline but free playground.

2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Handle group offset on UFS1.

	* fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
	(grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.

2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Split ufs.mod into ufs1.mod and ufs2.mod.

	* conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
	(ufs_mod_SOURCES): Remove.
	(ufs_mod_CFLAGS): Likewise.
	(ufs_mod_LDFLAGS): Likewise.
	(ufs1_mod_SOURCES): New variable.
	(ufs1_mod_CFLAGS): Likewise.
	(ufs1_mod_LDFLAGS): Likewise.
	(ufs2_mod_SOURCES): New variable.
	(ufs2_mod_CFLAGS): Likewise.
	(ufs2_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
	* conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
	Likewise.
	(grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
	Likewise.
	* fs/ufs2.c: New file.
	* fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.

2009-08-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Framebuffer split.

	* commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
	subsystem at the end.
	* conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
	(video_fb_mod_SOURCES): New variable.
	(video_fb_mod_CFLAGS): Likewise.
	(video_fb_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
	video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
	* video/i386/pc/vbeblit.c: Moved from here ...
	* video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbefill.c: Moved from here ...
	* video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbeutil.c: Moved from here ...
	* video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbeblit.h: Moved from here ...
	* include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbefill.h: Moved from here ...
	* include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbeutil.h: Moved from here ...
	* include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/i386/pc/vbe.h: Moved framebuffer part ...
	* include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
	* include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
	(GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
	(grub_video_adapter): Added 'get_info_and_fini'.
	(grub_video_get_info_and_fini): New prototype.
	(grub_video_set_mode): make modestring const char *.
	* loader/i386/linux.c (grub_linux_setup_video): Use
	grub_video_get_info_and_fini.
	(grub_linux_boot): Move modesetting just before booting.
	* loader/i386/pc/xnu.c (grub_xnu_set_video): Use
	grub_video_get_info_and_fini.
	* video/i386/pc/vbe.c: Moved framebuffer part ...
	* video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
	* video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
	grub_video_fbstd_colors and grub_video_fb_set_palette.
	(grub_video_vbe_init): Clear 'framebuffer' variable and use
	grub_video_fb_init.
	(grub_video_vbe_fini): Use grub_video_fb_fini.
	(grub_video_vbe_setup): Use framebuffer.render_target instead of
	render_target and use grub_video_fb_set_active_render_target and
	grub_video_fb_set_palette.
	(grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
	(grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
	(grub_video_vbe_adapter): Use framebuffer.
	* video/video.c (grub_video_get_info_and_fini): New function.
	(grub_video_set_mode): Make modestring const char *.
	(GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
	values are already initialised.

2009-08-14  Pavel Roskin  <proski@gnu.org>

	* boot/i386/pc/cdboot.S: Use LOCAL for local labels.  Eliminate
	ABS and APPLE_CC.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.  Hardcode the number of code
	sectors allow compilation on MacOSX.
	* conf/i386-pc.rmk: Enable unconditional compilation of
	lnxboot.img.

2009-08-13  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
	* util/grub.d/00_header.in: Enter interruptible sleep if
	GRUB_HIDDEN_TIMEOUT is set.

2009-08-13  Yves Blusseau  <blusseau@zetam.org>

	* include/grub/symbol.h: Add the LOCAL macro.
	* boot/i386/pc/boot.S: Use the LOCAL macro for all labels
	starting with "L_".

2009-08-13  Pavel Roskin  <proski@gnu.org>

	* boot/i386/pc/boot.S: Remove ABS macro, it's not required by
	any modern compilers we support.

	* boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
	Use local labels starting with "L_" so that Apple assembler
	knows they are local.

2009-08-10  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
	(KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
	(bsd_kernel_types): ... this enum.

	* loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
	(grub_cmd_freebsd_module_elf): Abort with "You need to load the
	kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.

	(grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
	(grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
	(GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
	messages.

2009-08-08  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub-dumpdevtree: Moved from here ...
	* util/i386/efi/grub-dumpdevtree: ... to here.
	(hexify): New function.  Converts a string to its hex version.
	Generate hex versions of "efi" and "device-properties" by calling
	hexify() on the ASCII strings rather than by hardcoding numbers.

2009-08-08  Robert Millan  <rmh.grub@aybabtu.com>

	* fs/jfs.c: Update copyright year.

2009-08-08  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/00_header.in: Fix a comment.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub.d/10_windows.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.

2009-08-08  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in: Allow the user to specify the used font
	with GRUB_FONT.

2009-08-08  Pavel Roskin  <proski@gnu.org>

	* include/grub/powerpc/libgcc.h: Export __ashrdi3() if
	available, xfs.mod needs it now.

	* util/grub-mkconfig_lib.in (version_test_numeric): Don't use
	the "g" modifier in sed when the intention is to strip something
	once.  This fixes comparison of kernels with multiple dashes.

	* util/grub-mkconfig.in: Define datarootdir, datadir may depend
	on it.  Add missing space before closing bracket.  Fix
	misleading formatting.

2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>

	* docs/grub.texi: Major overhaul.  Remove all sections that are
	specific to GRUB Legacy, or mostly composed of Legacy-specific
	information.

2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>

	* docs/version.texi: New file.  Provides version information for
	grub.texi.

2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>

	* docs/grub.texi: Update CVS information to SVN.
	Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".

2009-08-07  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in: Remove a wrong `fi'.

2009-08-07  Felix Zielcke  <fzielcke@z-51.de>

	* fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
	(grub_jfs_uuid): New function.
	(grub_jfs_fs): Set uuid field to grub_jfs_uuid.

2009-08-07  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig_lib.in (font_path): Move the functionality
	of it to ...
	* util/grub-mkconfig.in: ... here.  Prefer unicode.pf2 and
	unifont.pf2 over ascii.pf2.  Export LANG=C in case ascii.pf2 gets used.

2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/10_linux.in (test_numeric): Moved from here ...
	* util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
	Update all users.

	* util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
	not just "vmlinu[zx]".
	Moved from here ...
	* util/grub-mkconfig_lib.in (version_test_gt): ... to here.  Update
	all users.

	* util/grub.d/10_linux.in (find_latest): Moved from here ...
	* util/grub-mkconfig_lib.in (version_find_latest): ... to here.  Update
	all users.

2009-08-07  Robert Millan  <rmh.grub@aybabtu.com>

	* util/grub.d/10_freebsd.in: Use an absolute device path for
	`vfs.root.mountfrom'.  Set `vfs.root.mountfrom.options=rw'.

2009-08-06  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
	handling of multiple abstraction modules.

2009-08-04  Robert Millan  <rmh.grub@aybabtu.com>

	Fix a bug resulting in black screen when loading Linux using a
	packed video mode.

	* kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
	function.

	* include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
	(grub_vbe_bios_getset_dac_palette_width): New function.
	(grub_vbe_bios_get_dac_palette_width)
	(grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
	grub_vbe_bios_getset_dac_palette_width()).

	* video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
	check for return status.
	(grub_vbe_get_video_mode_info): When getting information for a packed
	mode (<= 8 bpp), obtain DAC palette width using
	grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
	{red,green,blue}_mark_size.

2009-08-04  Felix Zielcke  <fzielcke@z-51.de>

	* commands/search.c (options): Fix help output to match actual code.

2009-08-02  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
	of homegrown code.

2009-08-01  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
	on XFS or ReiserFS.

2009-08-01  Vladimir Serbinenko  <phcoder@gmail.com>

	Support Apple partition map with sector size different from 512 bytes.

	* partmap/apple.c (grub_apple_header): New field 'blocksize'.
	(apple_partition_map_iterate): Respect 'aheader.blocksize'
	and 'apart.partmap_size'.

2009-08-01  Vladimir Serbinenko  <phcoder@gmail.com>
2009-08-01  Robert Millan  <rmh.grub@aybabtu.com>

	Fix cpuid command.

	* commands/i386/cpuid.c (options): New variable.
	(grub_cmd_cpuid): Return real error.
	(GRUB_MOD_INIT(cpuid)): Declare options.

2009-07-31  Vladimir Serbinenko  <phcoder@gmail.com>

	* partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
	valid.

2009-07-31  Bean  <bean123ch@gmail.com>

	* fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
	log2_inode.
	(grub_fshelp_node): Move inode field to the end.
	(grub_xfs_data): Remove inode field.
	(grub_xfs_inode_block): Calculate inode size using sblock.
	(grub_xfs_inode_offset): Likewise.
	(grub_xfs_read_inode): Calculate inode size using sblock.
	(grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
	(grub_xfs_iterate_dir): Calculate inode size using sblock.
	(grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
	to match inode size.
	(grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
	not accessible when data is null.
	(grub_xfs_open): Likewise.

2009-07-31  Bean  <bean123ch@gmail.com>

	* disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
	Don't change pv->disk if it's already set.

	* disk/raid.c (grub_raid_scan_device): Merge this function into ...
	(grub_raid_register): ... here.
	(grub_raid_rescan): Removed.

	* include/grub/raid.h (grub_raid_rescan): Removed.

	* util/grub-fstest.c: Remove include file <grub/raid.h>.
	(fstest): Replace grub_raid_rescan with module fini function followed
	by init function.

	* util/grub-probe.c: Add include file <grub/raid.h>.
	(probe_raid_level): New function.
	(probe): Detect abstraction by walking the disk device, support two
	level of abstraction (LVM on RAID) when detecting partition map.

2009-07-31  Pavel Roskin  <proski@gnu.org>

	* disk/raid5_recover.c (grub_raid5_recover): Revert conversion
	to grub_zalloc(), it was erroneous.
	Reported by Bean <bean123ch@gmail.com>

2009-07-30  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/i386/pc/grub-setup.c (setup): Check that no partition is in
	embedding zone, not only the first one.

2009-07-29  Joe Auricchio  <jauricchio@gmail.com>

	* term/gfxterm.c (clear_char): New function.
	(grub_virtual_screen_setup): Use clear_char.
	(scroll_up): Likewise.
	(grub_virtual_screen_cls): Likewise.

2009-07-29  Felix Zielcke  <fzielcke@z-51.de>

	* util/deviceiter.c (get_acceleraid_disk_name): New static
	function.
	(grub_util_iterate_devices): Handle Accelraid devices.
	* util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.

2009-07-28  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
	separator for the suggested gfxpayload string (';' collides with the
	parser and needs escaping).

2009-07-28  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
	Clear direction flag before jumping to OS.
	(grub_multiboot2_real_boot): Likewise.

2009-07-28  Felix Zielcke  <fzielcke@z-51.de>

	* util/i386/pc/grub-install: Fix parsing of --disk-module
	option.

2009-07-28  Felix Zielcke  <fzielcke@z-51.de>

	* util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
	when embedding.

2009-07-26  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in (package_version): New variable.
	Use it do display the version.

2009-07-25  Felix Zielcke  <fzielcke@z-51.de>

	* kern/file.c (grub_file_open): Revert to previous check with
	grub_errno.

2009-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
	from help line. It's out of sync with code.

2009-07-25  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/parser.c (grub_parser_execute): Fix a bug causing truncated
	entries on failed boot.

2009-07-25  Felix Zielcke  <fzielcke@z-51.de>

	* kern/file.c (grub_file_open): Fix an error check.

2009-07-24  Vladimir Serbinenko  <phcoder@gmail.com>

	* util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
	partition map couldn't be identified.

2009-07-23  Pavel Roskin  <proski@gnu.org>

	* commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
	instead of WORDS_BIGENDIAN.  Use grub_le_to_cpu32(), so that the
	case of little endian words becomes just an optimization.
	Respect const modifier.
	(md5_final): Use code that doesn't depend on endianness.

	* include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
	to avoid loss of upper bits if align is unsigned and shorter
	than addr.

2009-07-21  Vladimir Serbinenko  <phcoder@gmail.com>

	UUID support for UFS

	* fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
	(grub_ufs_uuid): New function.
	(grub_ufs_fs): add .uuid

2009-07-21  Pavel Roskin  <proski@gnu.org>

	* kern/dl.c (grub_dl_check_header): Make static.

2009-07-21  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/30_os-prober.in: Remove unused CHAINROOT.  Don't
	add drivemap for Vista.  It breaks Windows 7.

2009-07-21  Vladimir Serbinenko  <phcoder@gmail.com>

	* fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
	128 bytes

2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Add BFS support

	* conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add befs.mod.
	(befs_mod_SOURCES): New variable.
	(befs_mod_CFLAGS): Likewise.
	(befs_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(grub_setup_SOURCES): Likewise.
	* fs/befs.c: New file.
	* fs/afs.c (GRUB_AFS_FSNAME): New declaration.
	(GRUB_AFS_SBLOCK_SECTOR): Likewise.
	(GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
	(GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
	(B_KEY_INDEX_ALIGN): New declaration.
	(B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
	(grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
	(grub_afs_btree) [MODE_BFS]: New conditional declaration.
	(grub_afs_sblock) [MODE_BFS]: Remove link_count.
	(grub_afs_validate_sblock) [MODE_BFS]: Support BFS
	(grub_afs_mount) [MODE_BFS]: Likewise.
	(grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
	(grub_afs_fs): Use GRUB_AFS_FSNAME
	(GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
	(GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
	(GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
	(GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this

2009-07-19  Yves BLUSSEAU  <yves.grub-devel@zetam.org>

	* util/getroot.c (find_root_device): Add support for MacOSX.
	* util/hostdisk.c: Likewise.

2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* font/font.c (find_glyph): Check whether a font is present to avoid
	segmentation fault.

2009-07-20  Joe Auricchio  <jauricchio@gmail.com>

	* term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.

2009-07-20  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Trim excessively wordy excuses.

2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Add symlink, mtime and label support to AtheFS.

	* fs/afs.c (grub_afs_sblock): Declare `name' as char.
	(grub_afs_iterate_dir): Handle symlinks.
	(grub_afs_open): Use grub_afs_read_symlink.
	(grub_afs_dir): Likewise.
	Pass mtime.
	(grub_afs_label): New function.
	(grub_afs_fs): Add grub_afs_label.
	(grub_afs_read_symlink): New function.

2009-07-20  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix AtheFS support.

	* fs/afs.c: Fix comments style.
	(grub_afs_blockrun): Declare as packed.
	(grub_afs_datastream): Likewise.
	(grub_afs_bnode): Likewise.
	(grub_afs_btree): Likewise.
	(grub_afs_sblock): Likewise.
	Declare `name' as char.
	(grub_afs_inode): Declare as packed.
	Change void *vnode to grub_uint32_t unused.
	(grub_afs_iterate_dir): Check that key_size is positive.
	(grub_afs_mount): Don't read superblock twice.
	(grub_afs_dir): Don't free node in case of error,
	grub_fshelp_find_file already handles this.
	(grub_afs_open): Likewise.

2009-07-19  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Remove LIBLZO and enable_lzo.
	* conf/i386-pc.rmk: Remove lzo support.
	* configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
	* include/grub/i386/pc/kernel.h: Define ENABLE_LZMA.  Remove lzo
	support.
	* kern/i386/pc/lzo1x.S: Remove.
	* kern/i386/pc/startup.S: Remove lzo support.
	* util/i386/pc/grub-mkimage.c: Likewise.

2009-07-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
	* fs/xfs.c (grub_xfs_dir): Likewise.
	* fs/afs.c (grub_afs_dir): Likewise.
	* fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
	(grub_iso9660_open): Likewise.
	* fs/jfs.c (grub_jfs_open): Likewise.
	* fs/ext2.c (grub_ext2_dir): Likewise.
	* include/grub/macho.h (grub_macho_fat_arch): Likewise.
	* script/sh/lexer.c (grub_script_yylex): Likewise.

2009-07-16  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Never add "-c" to CFLAGS.

	* configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.

	* configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
	grub_cv_cc_efiemu should be used.

	* configure.ac: Typo fixes.

	* kern/mm.c (grub_zalloc): New function.
	(grub_debug_zalloc): Likewise.
	* include/grub/mm.h: Declare grub_zalloc() and
	grub_debug_zalloc().
	* util/misc.c (grub_zalloc): New function.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
	instead of grub_malloc(), remove unneeded initializations.
	* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
	* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
	* commands/parttool.c (grub_cmd_parttool): Likewise.
	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
	* disk/raid5_recover.c (grub_raid5_recover): Likewise.
	* disk/raid6_recover.c (grub_raid6_recover): Likewise.
	* disk/usbms.c (grub_usbms_finddevs): Likewise.
	* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
	* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
	(grub_cmd_efiemu_pnvram): Likewise.
	* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
	* fs/iso9660.c (grub_iso9660_mount): Likewise.
	(grub_iso9660_iterate_dir): Likewise.
	* fs/jfs.c (grub_jfs_opendir): Likewise.
	* fs/ntfs.c (list_file): Likewise.
	(grub_ntfs_mount): Likewise.
	* kern/disk.c (grub_disk_open): Likewise.
	* kern/dl.c (grub_dl_load_core): Likewise.
	* kern/elf.c (grub_elf_file): Likewise.
	* kern/env.c (grub_env_context_open): Likewise.
	(grub_env_set): Likewise.
	(grub_env_set_data_slot): Likewise.
	* kern/file.c (grub_file_open): Likewise.
	* kern/fs.c (grub_fs_blocklist_open): Likewise.
	* loader/i386/multiboot.c (grub_module): Likewise.
	* loader/xnu.c (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	* normal/main.c (grub_normal_add_menu_entry): Likewise.
	(read_config_file): Likewise.
	* normal/menu_entry.c (make_screen): Likewise.
	* partmap/sun.c (sun_partition_map_iterate): Likewise.
	* script/sh/lexer.c (grub_script_lexer_init): Likewise.
	* script/sh/script.c (grub_script_parse): Likewise.
	* video/bitmap.c (grub_video_bitmap_create): Likewise.
	* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* video/readers/png.c (grub_png_output_byte): Likewise.
	(grub_video_reader_png): Likewise.

2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Enable all targets that can be built by default

	* configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
	grub-mkfont and grub-fstest if they can be built

2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix hang and segmentation fault in grub-emu-usb

	* disk/scsi.c (grub_scsi_open): return err and not grub_errno
	* util/usb.c (grub_libusb_devices): likewise
	(grub_libusb_init): rename to ...
	(GRUB_MOD_INIT (libusb)):...this
	(grub_libusb_fini): rename to ..
	(GRUB_MOD_FINI (libusb)):...this
	* disk/usbms.c (grub_usbms_transfer): fix retry logic
	* include/grub/disk.h (grub_raid_init): removed, it's useless
	(grub_raid_fini): likewise
	(grub_lvm_init): likewise
	(grub_lvm_fini): likewise
	* util/grub-emu.c (main): don't call grub_libusb_init, it's done
	by grub_init_all

2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix libusb

	* Makefile.in (LIBUSB): new macro
	* genmk.rb (Utility/print_tail): new method
	(Utility/rule): use intermediary variable #{prefix}_OBJECTS
	(top level): call util.print_tail at the end.

2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Make FreeBSD accept zpool.cache

	* loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
	type is /boot/zfs/zpool.cache

2009-07-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix 64-bit efiemu

	* include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
	correct wrong typedef
	* efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes

2009-07-15  Pavel Roskin  <proski@gnu.org>

	* include/grub/disk.h (struct grub_disk_dev): Use enum for id.
	* kern/disk.c (struct grub_disk_cache): Likewise.

	* commands/probe.c (options): Typo fix.

	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
	Increase to 0x5a to accommodate FAT32.  Adjust other offsets
	accordingly.
	Original patch by Yves Blusseau <yves.grub-devel@zetam.org>

	* boot/i386/pc/boot.S (general_error_string): Add DOS newline at
	the end of "Error" to make the message more readable.

	* boot/i386/pc/boot.S (kernel_segment): Remove.
	(copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
	for destination.

	* boot/i386/pc/boot.S (boot_version): Remove.
	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
	Remove.

	* include/grub/i386/pc/boot.h: Sort all offsets.
	(GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
	(GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
	* boot/i386/pc/boot.S: Assert location of every offset listed in
	include/grub/i386/pc/boot.h.

2009-07-13  Pavel Roskin  <proski@gnu.org>

	* include/grub/i386/coreboot/machine.h: Rename
	GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
	* loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
	multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.

	* kern/dl.c: Force native word size to suppress warnings when
	compiling grub-emu.

	* kern/device.c (grub_device_iterate): Change struct part_ent to
	hold the name, not a pointer to it.  Use one grub_malloc() per
	partition, not two.  Free partition_name if grub_malloc() fails.
	Set ents to NULL only before grub_partition_iterate() is called.

2009-07-11  Bean  <bean123ch@gmail.com>

	* kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
	childname.

2009-07-10  Bean  <bean123ch@gmail.com>
2009-07-10  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/ieee1275/openfw.c (grub_children_iterate)
	(grub_devalias_iterate): Fix size evaluation for property or path
	strings, which was broken since r2132.

2009-07-07  Pavel Roskin  <proski@gnu.org>

	* commands/search.c (search_file): Merge into ...
	(search_fs): ... this.  Accept search type as argument.
	(grub_cmd_search): Pass search type to search_fs().

	* include/grub/util/console.h: New file.
	* util/console.c: Use it instead of grub/machine/console.h.
	* util/grub-emu.c: Likewise.

	* lib/arg.c (find_long_option): Remove.
	(find_long): Add `len' argument, make `s' const char *.
	(grub_arg_parse): Parse long options in place, not in a
	temporary buffer.

2009-07-06  Pavel Roskin  <proski@gnu.org>

	* commands/search.c (search_fs): Fix potential NULL pointer
	dereference.

	* commands/search.c (search_fs): Replace QUID macro with quid_fn
	function pointer.

2009-07-06  Daniel Mierswa  <impulze@impulze.org>

	* commands/search.c (search_fs): Use grub_strcasecmp() for UUID
	comparison.

2009-07-05  Pavel Roskin  <proski@gnu.org>

	* include/grub/i386/linux.h (struct linux_kernel_params):
	Restore padding3, it's still needed.

	* util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
	FreeBSD.
	* util/osdetect.lua: Likewise.

2009-07-05  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.

	* script/lua/grub_lib.c (grub_lua_run): Check input parameter.
	(grub_lua_getenv): Likewise.
	(grub_lua_setenv): Likewise.
	(save_errno): New function.
	(push_result): Likewise.
	(grub_lua_enum_device): Likewise.
	(grub_lua_enum_file): Likewise.
	(grub_lua_file_open): Likewise.
	(grub_lua_file_close): Likewise.
	(grub_lua_file_seek): Likewise.
	(grub_lua_file_read): Likewise.
	(grub_lua_file_getline): Likewise.
	(grub_lua_file_getsize): Likewise.
	(grub_lua_file_getpos): Likewise.
	(grub_lua_file_eof): Likewise.
	(grub_lua_file_exist): Likewise.
	(grub_lua_add_menu): Likewise.

	* script/lua/grub_lua.h (isupper): New inline function.
	(islower): Likewise.
	(ispunct): Likewise.
	(isxdigit): Likewise.
	(strcspn): Change to normal function.
	(strpbkr): New function declaration.
	(memchr): Likewise.

	* script/lua/grub_main.c (scan_str): New function.
	(strcspn): Likewise.
	(strpbrk): Likewise.
	(memchr): Likewise.

	* script/lua/linit.c (lualibs): Enable the string library.

	* util/osdetect.lua: New file.

2009-07-04  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/linux.h (struct linux_kernel_params): Add
	`capabilities' member.

2009-07-02  Pavel Roskin  <proski@gnu.org>

	* genparttoollist.sh: Add missing newline at the end.

2009-07-01  Pavel Roskin  <proski@gnu.org>

	* kern/x86_64/efi/callwrap.S: Add missing newline at the end.

	* util/hostdisk.c (open_device): Remove `const' from
	`sysctl_size', as sysctlbyname() can change it (in this case it
	doesn't actually happen).

	* include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
	using signed long int constants.

	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
	constant to avoid a warning on FreeBSD.

	* util/hostdisk.c (device_is_wholedisk): Compile only on systems
	where it's needed.

	* Makefile.in: Install include/grub/machine symlink.

	* Makefile.in: When installing symlinks, use "cp -fR", which
	works on FreeBSD and MacOSX.
	From Yves Blusseau <cl7m42e02@sneakemail.com>

	* kern/dl.c (grub_dl_resolve_symbol): Make static.
	* include/grub/dl.h: Remove grub_dl_resolve_symbol().

	* util/misc.c: Move grub_reboot() and grub_halt() ...
	* util/grub-emu.c: ... here.  Make main_env static.
	* include/grub/util/misc.h: Remove main_env.

	* kern/mm.c: Use correct format to print size_t.

	* include/grub/elf.h: Define Elf_Sword and Elf_Xword.
	* kern/i386/dl.c: Use ELF symbols without "32" or "64".
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.

2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>

	Fix grub-emu build on sparc64-ieee1275.

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.

2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>

	* util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
	(grub_reboot, grub_halt): New functions.

	* util/i386/pc/misc.c: Delete.  Update all users.
	* util/sparc64/ieee1275/misc.c: Likewise.
	* util/powerpc/ieee1275/misc.c: Likewise.

2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386.rmk (setjmp_mod_SOURCES)
	(setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
	* conf/common.rmk (setjmp_mod_SOURCES)
	(setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
	to use $(target_cpu).
	* conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
	(setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

	* conf/i386-pc.rmk (kernel_img_SOURCES): Use
	$(target_cpu) for kern/$(target_cpu)/dl.c.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
	$(target_cpu) for kern/$(target_cpu)/dl.c and for
	kern/$(target_cpu)/cache.S.
	* conf/sparc64-ieee1275.rmk: Likewise.

2009-07-01  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
	type to `grub_uint8_t', and adjust `padding9' accordingly.

2009-06-29  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.

	* loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
	assembly in final jump, using register constraints.

	(grub_linux_boot): For text mode, initialize `have_vga' using
	GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).

	Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
	right before the final jump.

	Set `video_mode' to 0x3.

	Document initialization of `video_page', `video_mode' and
	`video_ega_bx'.

2009-06-29  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
	* loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
	and set GRUB_LINUX_FLAG_QUIET appropriately.

2009-06-29  Robert Millan  <rmh.grub@aybabtu.com>

	Fix build on Debian / sparc.

	* configure.ac: Recognize `sparc' target_cpu (as sparc64).

2009-06-28  Pavel Roskin  <proski@gnu.org>

	* kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
	fix a warning.

	* util/grub.d/10_linux.in: Match SUSE style initrd names.

2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
	`err'.

2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>

	Revert r2338.

	* loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
	file can't be opened.  grub_file_open() is already supposed to set
	grub_errno / grub_errmsg appropriately.
	* loader/i386/pc/linux.c (grub_cmd_linux): Likewise.

2009-06-27  Pavel Roskin  <proski@gnu.org>
2009-06-27  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/dl.h: Include grub/elf.h.
	(struct grub_dl): Add symtab field.
	* kern/dl.c [GRUB_MACHINE_QEMU]: Define
	GRUB_MODULES_MACHINE_READONLY.
	(grub_dl_resolve_symbols): Populate mod->symtab, making a copy
	of the header for read-only modules.
	(grub_dl_unload): Free mod->symtab for read-only modules.
	* kern/i386/dl.c: Use mod->symtab.
	* kern/powerpc/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/x86_64/dl.c: Likewise.

	* conf/i386-qemu.rmk: New file.
	* kern/i386/qemu/startup.S: Likewise.
	* kern/i386/qemu/mmap.c: Likewise.
	* boot/i386/qemu/boot.S: Likewise.
	* include/grub/i386/qemu/time.h: Likewise.
	* include/grub/i386/qemu/serial.h: Likewise.
	* include/grub/i386/qemu/kernel.h: Likewise.
	* include/grub/i386/qemu/console.h: Likewise.
	* include/grub/i386/qemu/boot.h: Likewise.
	* include/grub/i386/qemu/init.h: Likewise.
	* include/grub/i386/qemu/machine.h: Likewise.
	* include/grub/i386/qemu/loader.h: Likewise.
	* include/grub/i386/qemu/memory.h: Likewise.

	* conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
	(GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
	[qemu] (pkglib_IMAGES): Add `boot.img'.
	[qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
	[qemu] (boot_img_FORMAT): New variables.
	[qemu] (bin_UTILITIES): Add `grub-mkimage'.
	[qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
	[qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
	[qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	[qemu] (kernel_img_FORMAT): New variables.

	* configure.ac: Recognise `i386-qemu'.

	* util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
	(for no compression).
	[GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
	a valid i386 ROM image.  Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
	`GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
	`GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
	ifdefs).

2009-06-27  Pavel Roskin  <proski@gnu.org>

	* efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
	read.
	* efiemu/prepare32.c: Likewise.
	* efiemu/prepare64.c: Likewise.

2009-06-26  Pavel Roskin  <proski@gnu.org>

	* include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
	* include/grub/elf.h: Define symbols without "32" or "64" based
	on GRUB_TARGET_WORDSIZE.
	* include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
	* efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
	ELF definitions.
	* efiemu/loadcore64.c: Likewise.
	* loader/i386/bsd32.c: Likewise.
	* loader/i386/bsd64.c: Likewise.
	* kern/dl.c: Remove own ELF definitions.
	* util/i386/efi/grub-mkimage.c: Likewise.

2009-06-23  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
	segment 0x0 unconditionally, because the reference generated by
	GAS is an absolute address.

2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
	[! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.

2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>

	* commands/search.c (grub_cmd_search): Macroify hardcoded args[]
	indexes.  Check for -f explicitly.
	(search_file): Improve error message.
	(GRUB_MOD_INIT(search)): Add missing `-n' to help output.

2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
	(GRUB_KERNEL_MACHINE_LINK_ADDR): ... this.  Update all users.

2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.

	* kern/i386/pc/startup.S (grub_stop): Remove function.
	* kern/i386/ieee1275/startup.S: Likewise.
	* kern/i386/coreboot/startup.S: Likewise.
	* kern/i386/misc.S (grub_stop): New function.

2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>

	* kern/i386/pc/startup.S (real_to_prot): Move from here ...
	* kern/i386/realmode.S (real_to_prot): ... to here.

2009-06-22  Robert Millan  <rmh.grub@aybabtu.com>

	* conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
	with `kernel.img'.
	(kernel_elf_SOURCES): Rename to ...
	(kernel_img_SOURCES): ... this.
	(kernel_elf_HEADERS): Rename to ...
	(kernel_img_HEADERS): ... this.  Update all users.
	(kernel_elf_ASFLAGS): Rename to ...
	(kernel_img_ASFLAGS): ... this.
	(kernel_elf_CFLAGS): Rename to ...
	(kernel_img_CFLAGS): ... this.
	(kernel_elf_LDFLAGS): Rename to ...
	(kernel_img_LDFLAGS): ... this.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.

	* util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
	with "kernel.img".

2009-06-21  Pavel Roskin  <proski@gnu.org>

	* loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
	to match nested functions.
	* loader/sparc64/ieee1275/linux.c: Likewise.

	* conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.

2009-06-21  Robert Millan  <rmh.grub@aybabtu.com>

	* configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
	all i386 platforms.

2009-06-21  Robert Millan  <rmh.grub@aybabtu.com>

	Fix asm file handling on ELF, and remove workarounds.

	* genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
	and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
	* kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
	* kern/i386/coreboot/startup.S (ASM_FILE): Likewise.

2009-06-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Load BSD ELF modules

	* conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
	and loader/i386/bsd64.c
	* include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
	(FREEBSD_MODTYPE_ELF_MODULE): New definition
	(FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
	(grub_freebsd_load_elfmodule32): New declaration
	(grub_freebsd_load_elfmoduleobj64): Likewise
	(grub_freebsd_load_elf_meta32): Likewise
	(grub_freebsd_load_elf_meta64): Likewise
	(grub_freebsd_add_meta): Likewise
	(grub_freebsd_add_meta_module): Likewise
	* loader/i386/bsd.c (grub_freebsd_add_meta): Make global
	(grub_freebsd_add_meta_module): Likewise and move module-specific
	parts to grub_cmd_freebsd and grub_cmd_freebsd_module
	(grub_cmd_freebsd): Add elf-kernel specific parts
	based on grub_freebsd_add_meta_module
	(grub_cmd_freebsd_module): Add type parsing moved from
	grub_freebsd_add_meta_module
	(grub_cmd_freebsd_module_elf): New function
	(cmd_freebsd_module_elf): New variable
	(GRUB_MOD_INIT): Register freebsd_module_elf
	* loader/i386/bsd32.c: New file
	* loader/i386/bsd64.c: Likewise
	* loader/i386/bsdXX.c: Likewise
	* kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
	(grub_elf64_load): Likewise
	* include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
	All users updated
	(grub_elf64_load_hook_t): Likewise

2009-06-21  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
	variable.
	* util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
	don't write a menu entry for recovery mode.

2009-06-20  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
	after it's no longer needed.

2009-06-20  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/loader.h (grub_linux_prot_size)
	(grub_linux_tmp_addr, grub_linux_real_addr)
	(grub_linux_is_bzimage, grub_linux16_boot): Declare only on
	GRUB_MACHINE_PCBIOS.
	* util/i386/pc/grub-mkimage.c (compress_kernel): Move
	common grub_util_info() call to ...
	(generate_image): ... here.
	Fix use of uninitialized memory, comparison of signed with
	unsigned integers and memory leak.
	Remove bogus module address message.

2009-06-20  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
	grub_raid_register
	* disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise

2009-06-19  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Remove stray AC_MSG_CHECKING.

2009-06-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* disk/scsi.c (grub_scsi_open): use continue instead of big if

2009-06-18  Pavel Roskin  <proski@gnu.org>

	* conf/common.rmk: Add fs_file.mod.
	* disk/fs_file.c: New file.
	* include/grub/disk.h (enum grub_disk_dev_id): Add
	GRUB_DISK_DEVICE_FILE_ID.

2009-06-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix build with Apple's toolchain. Part 2

	* aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
	a fake start

2009-06-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix build with Apple's toolchain. Part 1

	* commands/i386/pc/drivemap_int13h.S: use assembly-time constants
	for long calls
	* configure.ac: remove a leftover AC_MSG_RESULT
	(CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
	Apple's toolchain

2009-06-18  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix warnings

	* fs/ntfscomp.c (decomp_get16): initialize c1 and c2
	(decomp_block): initialize ch
	use grub_memcpy instead of memcpy

2009-06-17  Pavel Roskin  <proski@gnu.org>

	* include/grub/i386/coreboot/console.h: Don't use the i386-pc
	version, use declarations needed to use vga_text as the startup
	console.

	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
	term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
	the kernel.
	* kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
	and grub_at_keyboard_fini(), it's done on module load and
	unload.

2009-06-17  Felix Zielcke  <fzielcke@z-51.de>

	* loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
	file can't be found.
	* loader/i386/pc/linux.c (grub_cmd_linux): Likewise.

2009-06-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix newline handling

	* include/grub/script_sh.h (grub_lexer_param): new field was_newline
	* script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
	(grub_script_yylex): don't segfault on unterminated script
	newline terminates command and variable

2009-06-17  Vladimir Serbinenko  <phcoder@gmail.com>

	avoid double grub_adjust_range call. Bug reported by David Simner

	* kern/disk.c (grub_disk_write): change to raw disk access before
	calling disk_read

2009-06-17  Colin Watson  <cjwatson@ubuntu.com>

	* util/elf/grub-mkimage.c (usage): Prefix each option line with two
	spaces, for the benefit of help2man.
	* util/i386/efi/grub-mkimage.c (usage): Likewise.

2009-06-16  Pavel Roskin  <proski@gnu.org>

	* kern/i386/halt.c: Include grub/machine/init.h.
	* kern/i386/reboot.c: Include grub/cpu/reboot.h.

2009-06-16  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/30_os-prober.in: Use ${root} in the generated
	drivemap menuentry.

2009-06-16  James Jarvis  <James.Jarvis@ed.ac.uk>

	* commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
	`echo' command.

2009-06-16  Pavel Roskin  <proski@gnu.org>

	* boot/i386/pc/boot.S: Remove root_drive.  Assert offset of
	boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK.  Don't
	save %dx, we only need %dl and we never change it.
	* boot/i386/pc/cdboot.S: Don't set the root drive.
	* boot/i386/pc/pxeboot.S: Likewise.
	* include/grub/i386/pc/boot.h: Remove
	GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
	GRUB_BOOT_MACHINE_DRIVE_CHECK.
	* include/grub/i386/pc/kernel.h: Remove grub_root_drive.
	* kern/i386/pc/init.c (make_install_device): Remove references
	to grub_root_drive.
	* kern/i386/pc/startup.S: Likewise.
	* util/i386/pc/grub-setup.c (setup): Don't set root_drive.

2009-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	xnu_uuid command

	* commands/xnu_uuid.c: new file
	* conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
	(xnu_uuid_mod_SOURCES): new variable
	(xnu_uuid_mod_CFLAGS): likewise
	(xnu_uuid_mod_LDFLAGS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
	* conf/sparc64-ieee1275.rmk: likewise
	* util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin

2009-06-16  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Avoid '==' in test command, it's not portable.

2009-06-16  Vladimir Serbinenko  <phcoder@gmail.com>

	Probe command

	* commands/probe.c: new file
	* conf/common.rmk (pkglib_MODULES): add probe.mod
	(probe_mod_SOURCES): new variable
	(probe_mod_CFLAGS): likewise
	(probe_mod_LDFLAGS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise
	* conf/sparc64-ieee1275.rmk: likewise

2009-06-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix handling of string like \"hello\" and "a
	b"

	* script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
	(grub_script_yylex): fix parsing of quoting, escaping and newline

2009-06-13  Vladimir Serbinenko  <phcoder@gmail.com>

	* loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
	handling

2009-06-13  Jun Inoue  <jun.lambda@gmail.com>

	* util/grub-mkconfig.in: Fix parsing of --output option.

2009-06-12  Pavel Roskin  <proski@gnu.org>

	* Makefile.in (pkgdata_SRCDIR): Remove.  genmodsrc.sh and
	genmk.rb don't need to be generated or installed.

2009-06-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* commands/i386/pc/drivemap_int13h.S: add more comments

2009-06-11  Pavel Roskin  <proski@gnu.org>

	* Makefile.in (uninstall): Uninstall manuals.

	* Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
	PKGLIB to SCRIPTS.  This fixes installation of grub-mkconfig_lib
	and update-grub_lib in two places.
	* conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.

	* disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
	a compiler warning.

	* loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
	`entry_lo' to fix variable shadowing.

2009-06-11  Christian Franke  <franke@computer.org>

	* kern/misc.c (__enable_execute_stack): Add missing return type
	to prevent gcc warning.

2009-06-11  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.

2009-06-11  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Don't rely on any scripts being executable.
	Always use $(SHELL) to run shell scripts.

	* configure.ac: Always define ___main if using -nostdlib.  This
	fixes tests on Cygwin.

2009-06-11  Giuseppe Caizzone  <acaizzo@gmail.com>

	UDF fix

	* fs/udf.c (grub_udf_read_block): handle the fact that ad->length
	is in bytes and not in blocks

2009-06-11  Pavel Roskin  <proski@gnu.org>

	* kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
	warning.

2009-06-11  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/30_os-prober.in: Fix a comment. Source
	${libdir}/grub/grub-mkconfig_lib.  Use prepare_grub_to_access_device
	to set the root device.  Place drivemap command in the generated
	chain entry.

2009-06-11  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Remove host_m32.  Issues with 64-bit utilities
	have long been resolved.

2009-06-11  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/10_linux.in: Capitalise "Linux".

	* util/grub-pe2elf.c (usage): Fix references to grub-editenv.

2009-06-11  Pavel Roskin  <proski@gnu.org>

	* kern/efi/efi.c (grub_exit): Add infinite loop at the end to
	fix a gcc warning and ensure that the function won't ever exit.

	* kern/i386/ieee1275/init.c: Add missing prototype for
	grub_stop_floppy().

	* loader/ieee1275/multiboot2.c [__i386__]: Include
	grub/cpu/multiboot.h.

	* term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
	casts to short - they are not portable and cause warnings.  Fix
	use of uninitialized values in input_buf.  Use ARRAY_SIZE.

2009-06-11  Vladimir Serbinenko  <phcoder@gmail.com>

	Drivemap fixes

	* commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
	new function
	(grub_get_root_biosnumber_saved): new variable
	(GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
	(GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
	* commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
	%dx after the call if necessary
	* conf/common.rmk (pkglib_MODULES): remove boot.mod
	(boot_mod_SOURCES): remove
	(boot_mod_CFLAGS): remove
	(boot_mod_LDFLAGS): remove
	* conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
	(boot_mod_SOURCES): new variable
	(boot_mod_CFLAGS): likewise
	(boot_mod_LDFLAGS): likewise
	* 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/i386/pc/biosnum.h: new file
	* lib/i386/pc/biosnum.c: likewise
	* loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
	* loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
	* loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise

2009-06-10  Pavel Roskin  <proski@gnu.org>

	* io/gzio.c (test_header): Don't reuse one buffer for all data.
	Use separate variables.  Read only the file size at the end, but
	not the checksum that we don't use.

	* kern/file.c (grub_file_read): Use void pointer for the buffer.
	Adjust all callers.

	* kern/ieee1275/openfw.c: Remove libc includes.
	* kern/ieee1275/cmain.c: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.

	* kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
	compiler warnings.

2009-06-10  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in: Remove all trailing whitespace.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* docs/grub.texi: Likewise.
	* docs/texinfo.tex: Likewise.
	* disk/fs_uuid.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/scsi.c: Likewise.
	* disk/ata.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/host.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/efi/efidisk.c: Likewise.
	* disk/usbms.c: Likewise.
	* disk/memdisk.c: Likewise.
	* disk/loopback.c: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/device.c: Likewise.
	* kern/dl.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/term.c: Likewise.
	* kern/fs.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/mmap.c: Likewise.
	* kern/i386/pc/lzo1x.S: Likewise.
	* kern/i386/ieee1275/init.c: Likewise.
	* kern/i386/realmode.S: Likewise.
	* kern/i386/tsc.c: Likewise.
	* kern/partition.c: Likewise.
	* kern/corecmd.c: Likewise.
	* kern/file.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/init.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/main.c: Likewise.
	* kern/err.c: Likewise.
	* kern/env.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/generic/millisleep.c: Likewise.
	* kern/generic/rtc_get_time_ms.c: Likewise.
	* kern/misc.c: Likewise.
	* kern/parser.c: Likewise.
	* genmk.rb: Likewise.
	* configure.ac: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* boot/i386/pc/boot.S: Likewise.
	* boot/i386/pc/lnxboot.S: Likewise.
	* boot/i386/pc/cdboot.S: Likewise.
	* parttool/pcpart.c: Likewise.
	* video/readers/tga.c: Likewise.
	* video/video.c: Likewise.
	* video/bitmap.c: Likewise.
	* lib/envblk.c: Likewise.
	* lib/i386/setjmp.S: Likewise.
	* fs/xfs.c: Likewise.
	* fs/afs.c: Likewise.
	* fs/fat.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/fshelp.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/ufs.c: Likewise.
	* efiemu/prepare.c: Likewise.
	* efiemu/loadcore_common.c: Likewise.
	* efiemu/runtime/efiemu.sh: Likewise.
	* efiemu/runtime/efiemu.S: Likewise.
	* efiemu/runtime/efiemu.c: Likewise.
	* efiemu/pnvram.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/i386/pc/cfgtables.c: Likewise.
	* efiemu/i386/loadcore64.c: Likewise.
	* efiemu/i386/loadcore32.c: Likewise.
	* efiemu/loadcore.c: Likewise.
	* efiemu/symbols.c: Likewise.
	* efiemu/mm.c: Likewise.
	* include/grub/autoefi.h: Likewise.
	* include/grub/datetime.h: Likewise.
	* include/grub/term.h: Likewise.
	* include/grub/hfs.h: Likewise.
	* include/grub/lvm.h: Likewise.
	* include/grub/i386/tsc.h: Likewise.
	* include/grub/i386/linux.h: Likewise.
	* include/grub/i386/xnu.h: Likewise.
	* include/grub/i386/efiemu.h: Likewise.
	* include/grub/i386/pc/biosdisk.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/parttool.h: Likewise.
	* include/grub/video.h: Likewise.
	* include/grub/memory.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/partition.h: Likewise.
	* include/grub/xnu.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/efi/memory.h: Likewise.
	* include/grub/multiboot.h: Likewise.
	* include/grub/usbdesc.h: Likewise.
	* include/grub/multiboot2.h: Likewise.
	* include/grub/acpi.h: Likewise.
	* include/grub/efiemu/efiemu.h: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/net.h: Likewise.
	* include/grub/machoload.h: Likewise.
	* include/grub/macho.h: Likewise.
	* include/multiboot.h: Likewise.
	* genmoddep.awk: Likewise.
	* normal/main.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* normal/menu_viewer.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/cmdline.c: Likewise.
	* normal/misc.c: Likewise.
	* normal/datetime.c: Likewise.
	* bus/usb/usbtrans.c: Likewise.
	* bus/usb/ohci.c: Likewise.
	* bus/usb/uhci.c: Likewise.
	* bus/usb/usb.c: Likewise.
	* mmap/efi/mmap.c: Likewise.
	* mmap/i386/pc/mmap_helper.S: Likewise.
	* mmap/i386/pc/mmap.c: Likewise.
	* mmap/i386/mmap.c: Likewise.
	* mmap/i386/uppermem.c: Likewise.
	* mmap/mmap.c: Likewise.
	* commands/acpi.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/usbtest.c: Likewise.
	* commands/boot.c: Likewise.
	* commands/parttool.c: Likewise.
	* commands/search.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/drivemap.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/acpi.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/test.c: Likewise.
	* commands/efi/acpi.c: Likewise.
	* commands/gptsync.c: Likewise.
	* commands/help.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/pc.c: Likewise.
	* partmap/sun.c: Likewise.
	* partmap/gpt.c: Likewise.
	* script/sh/lexer.c: Likewise.
	* script/sh/function.c: Likewise.
	* font/font.c: Likewise.
	* font/font_cmd.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/efi/chainloader.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/i386/multiboot.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/xnu.c: Likewise.
	* loader/i386/bsd_trampoline.S: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/multiboot_elfxx.c: Likewise.
	* loader/i386/bsd_helper.S: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/linux_trampoline.S: Likewise.
	* loader/i386/xnu_helper.S: Likewise.
	* loader/i386/xnu.c: Likewise.
	* loader/i386/bsd_pagetable.c: Likewise.
	* loader/i386/multiboot_helper.S: Likewise.
	* loader/xnu.c: Likewise.
	* loader/xnu_resume.c: Likewise.
	* io/gzio.c: Likewise.
	* term/efi/console.c: Likewise.
	* term/terminfo.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/usb_keyboard.c: Likewise.
	* term/gfxterm.c: Likewise.
	* aclocal.m4: Likewise.
	* util/lvm.c: Likewise.
	* util/grub.d/30_os-prober.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/console.c: Likewise.
	* util/grub-macho2img.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/hostfs.c: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/i386/efi/grub-mkimage.c: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/raid.c: Likewise.
	* util/resolve.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-emu.c: Likewise.
	* util/getroot.c: Likewise.
	* util/hostdisk.c: Likewise.
	* util/usb.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/misc.c: Likewise.

2009-06-10  Felix Zielcke  <fzielcke@z-51.de>

	* gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
	`genparttoollist.sh'.
	(DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
	Add `*.sh' to the list find searches for and change `mdate.sh'
	to `mdate-sh'.

2009-06-10  Pavel Roskin  <proski@gnu.org>

	* include/grub/multiboot2.h: Provide compatibility defines for
	multiboot2.h.
	* include/multiboot2.h: Include stdint.h only if needed, using
	angle brackets.
	* loader/i386/pc/multiboot2.c: Include multiboot2.h after
	grub/multiboot2.h.
	* loader/ieee1275/multiboot2.c: Likewise.
	* loader/multiboot2.c: Likewise.
	* loader/multiboot_loader.c: Likewise.

	* configure.ac: Use -nostdlib when probing for the target.  It
	should not be required to have libc for the target.

	* configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
	they fail without libc headers for the target.
	* include/grub/powerpc/libgcc.h: Use weak attribute for all
	exports.
	* include/grub/sparc64/libgcc.h: Likewise.  Don't use
	preprocessor conditionals.

	* conf/common.rmk: Compile tar.mod from tar.c, not cpio.c.  The
	build system doesn't need to be aware of the tar.c internals.

2009-06-09  Michel Hermier  <michel.hermier@gmail.com>

	* fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.

2009-06-09  Robert Millan  <rmh.grub@aybabtu.com>

	* util/deviceiter.c (grub_util_iterate_devices): Increase number of
	disk limit to 26 for IDE, Virtio, Xen and SCSI.

2009-06-09  Felix Zielcke  <fzielcke@z-51.de>

	* util/i386/pc/grub-install.in: Change the error message if UUIDs
	aren't available if ata.mod gets used.

2009-06-09  Oliver Henshaw  <oliver.henshaw@gmail.com>

	* bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
	initialising controller.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.

2009-06-08  Felix Zielcke  <fzielcke@z-51.de>

	* util/i386/pc/grub-install.in: Add a parameter --disk-module
	to choose between ata and biosdisk module on i386-pc.

2009-06-08  Oliver Henshaw  <oliver.henshaw@gmail.com>

	* bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
	Subclass and Programming Interface fields in terms of the 3 byte
	Class Code register.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.

	* bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
	interface is OHCI.  Add grub_dprintf for symmetry with
	bus/usb/uhci.c.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
	interface is UHCI.  Add interf variable for programming
	interface.  Print interface with class/subclass.

	* bus/usb/ohci.c: Set interf with correct field.

	* bus/usb/uhci.c: Remove unneeded doubled lines.
	* bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
	Remove whitespace inside comment.

2009-06-08  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
	as fallback an equivalent option without depth.

2009-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Not fail if unable to retrieve C/H/S on LBA disks

	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
	if unable to retrieve C/H/S on LBA disks

2009-06-08  Pavel Roskin  <proski@gnu.org>

	* fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
	about aliasing.

2009-06-08  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (uninstall): Remove all $lib_DATA files.

2009-06-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Bugfix: install on partitionless device

	* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
	is a whole disk

2009-06-08  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (uninstall): Remove all $include_DATA files.

2009-06-08  Felix Zielcke  <fzielcke@z-51.de>

	* commands/true.c: New file.  Implement the true and false commands.
	* conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
	(true_mod_SOURCES): New variable.
	(true_mod_CFLAGS): Likewise.
	(true_mod_LDFLAGS): Likewise.

2009-06-05  Colin D Bennett  <colin@gibibit.com>

	Optimized font character lookup using binary search instead of linear
	search.  Fonts now are required to have the character index ordered by
	code point.

	* font/font.c (load_font_index): Verify that fonts have ordered
	character indices.
	(find_glyph): Use binary search instead of linear search to find a
	character in a font.

2009-06-05  Michael Scherer  <misc@mandriva.org>

	* fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
	uses case sensitive btree.
	(grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
	only for case insensitive filesystems.

2009-06-05  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
	* conf/common.rmk (search_mod_CFLAGS): likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* kern/i386/pc/startup.S [APPLE_CC]: block of nops to
	compensate a compiler bug

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
	instead of '\b'

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Definitions for creating asm symbols with Apple's CC

	* include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
	[APPLE_CC] (VARIABLE): likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Disable lnxboot.img when compiled
	with Apple's CC

	* conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
	pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
	* boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
	[! APPLE_CC] (CODE_LENG): skip
	[! APPLE_CC] (setup_sects): likewise
	[! APPLE_CC]: skip filling

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Address in trampolines based on 32-bit registers when compiled
	with Apple's CC

	* loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
	for addresses
	* loader/i386/linux_trampoline.S [APPLE_CC]: likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid aliases when compiling with Apple's CC for PCBIOS machine

	* kern/misc.c [APPLE_CC] (memcpy): new function
	[APPLE_CC] (memmove): likewise
	[APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
	(memcpy): define alias conditionally on !APPLE_CC
	(memset): likewise
	(abort): likewise
	* include/grub/misc.h (memove): don't define when both GRUB_UTIL and
	APPLE_CC are defined
	* include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
	(grub_assert_fail): make prototype conditional

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use grub-macho2img when compiling with Apple's CC for PCBIOS machine

	* conf/common.rmk (bin_UTILITIES): add (on false on condition)
	grub-macho2img
	(CLEANFILES): add grub-macho2img
	(grub_macho2img_SOURCES): new variable
	* kern/i386/pc/startup.S (bss_start): new variable
	(bss_end): likewise
	* genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
	* util/grub-macho2img.c: new file

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use objconv when compiling with Apple's CC

	* conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
	(efiemu64.o): likewise
	(efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
	when compiling with Apple's CC
	(efiemu64_s.o): likewise
	* configure.ac: check for objconv when compiling with Apple's CC
	* genmk.rb: use objconv for modules when compiled with Apple's CC

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Define segment as well as section when compiling with
	Apple's CC

	* efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
	(efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
	(efiemu_convert_pointer): likewise
	(efiemu_set_virtual_address_map): likewise
	(efiemu_convert_pointer): likewise
	(efiemu_getcrc32): likewise
	(init_crc32_table): likewise
	(reflect): likewise
	* include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
	(GRUB_MOD_DEP): likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Allow a compilation without -mcmodel=large

	* kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
	when compiled without -mcmodel=large
	(filter_memory_map): remove memory post 4 GiB when compiled
	without -mcmodel=large
	* configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
	TARGET_CFLAGS when -mcmodel=large isn't supported

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove nested functions in efiemu core

	* efiemu/runtime/efiemu.c (reflect): make static instead of nested

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC

	* efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
	temporary storage
	* include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
	using Apple's CC
	(grub_cpu_is_tsc_supported): likewise
	* loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Absolute addressing through constant with Apple's cc

	* kern/i386/pc/startup.S: Define necessary constants
	and address through it when using ABS with Apple's CC
	* boot/i386/pc/diskboot.S: likewise
	* boot/i386/pc/boot.S: likewise
	* boot/i386/pc/lnxboot.S: likewise
	* boot/i386/pc/cdboot.S: likewise
	* mmap/i386/pc/mmap_helper.S: likewise
	* commands/i386/pc/drivemap_int13h.S: likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Check if compiler is apple cc

	* Makefile.in (ASFLAGS): new variable
	(TARGET_ASFLAGS): likewise
	(TARGET_MODULE_FORMAT): likewise
	(TARGET_APPLE_CC): likewise
	(OBJCONV): likewise
	(TARGET_IMG_CFLAGS): likewise
	(TARGET_CPPFLAGS): add includedir
	* configure.ac: call grub_apple_cc and grub_apple_target_cc
	(TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
	Check for linker script only if compiler isn't Apple's CC
	(TARGET_MODULE_FORMAT): set
	(TARGET_APPLE_CC): likewise
	(TARGET_ASFLAGS): likewise
	(ASFLAGS): likewise
	Check for objcopy only if compiler isn't Apple's CC
	Check for BSS symbol only if compiler isn't Apple's CC
	* genmk.rb: adapt nm options if we use Apple's utils
	* aclocal.m4 (grub_apple_cc): new test
	(grub_apple_target_cc): likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Simplify sed expressions and improve awk

	* Makefile.in (install-local): simplify sed expression
	* gencmdlist.sh: likewise
	* genmoddep.awk: avoid adding module as a dependency of itself

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Add missing start symbols

	* boot/i386/pc/boot.S: add start
	* boot/i386/pc/pxeboot.S: likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Fix wrong assumptions with grub-mkimage on EFI

	* i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
	(relocate_addresses): consider both r_addend and value at offset
	(make_mods_section): zerofill modinfo and header
	(convert_elf): write prefix here

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Use .asciz instead of .string

	* i386/pc/diskboot.S: use .asciz instead of .string
	* i386/pc/boot.S: likewise
	* include/grub/dl.h (GRUB_MOD_DEP): likewise
	(GRUB_MOD_NAME): likewise

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	gfxpayload support

	* commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
	(grub_video_setup): remove
	(grub_video_set_mode): new prototype
	* loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
	(vid_mode): remove
	(linux_vesafb_res): compile only on PCBIOS
	(grub_linux_boot): support gfxpayload
	* loader/i386/pc/xnu.c (video_hook): new function
	(grub_xnu_set_video): support gfxpayload
	* term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
	(DEFAULT_VIDEO_HEIGHT): likewise
	(DEFAULT_VIDEO_FLAGS): likewise
	(DEFAULT_VIDEO_MODE): new definition
	(video_hook): new function
	(grub_gfxterm_init): use grub_video_set_mode
	* util/grub.d/30_os-prober.in: remove explicit modesetting before
	loading xnu
	* video/video.c (grub_video_setup): removed
	(grub_video_set_mode): new function based on grub_gfxterm_init and
	grub_video_setup

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Avoid calling biosdisk in drivemap

	* commands/i386/pc/drivemap.c (parse_biosdisk): remove
	(revparse_biosdisk): likewise
	(list_mappings): derive name from id directly
	(grub_cmd_drivemap): use tryparse_diskstring

2009-06-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Script fixes

	* include/grub/script_sh.h (grub_script_cmdline): remove cmdline
	(grub_lexer_param): add tokenonhold
	(grub_script_create_cmdline): remove cmdline. All callers updated
	(grub_script_function_create): make functionname
	grub_script_arg. All callers updated
	(grub_script_execute_argument_to_string): new prototype
	* kern/parser.c (state_transitions): reorder
	(grub_parser_cmdline_state): fix a bug and make more compact
	* script/sh/execute.c (grub_script_execute_argument_to_string):
	make global
	(grub_script_execute_cmdline): use new format
	* script/sh/function.c (grub_script_function_create): make functionname
	grub_script_arg. All callers updated
	* script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
	(grub_script_yylex): remove
	(grub_script_yylex2): renamed to ...
	(grub_script_yylex): ...renamed
	parse the expressions like a${b}c
	* script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
	(GRUB_PARSER_TOKEN_VAR): remove
	(GRUB_PARSER_TOKEN_NAME): likewise
	("if"): declare as typeless
	("while"): likewise
	("function"): likewise
	("else"): likewise
	("then"): likewise
	("fi"): likewise
	(text): remove
	(argument): likewise
	(script): accept empty scripts and make exit on error
	(arguments): use GRUB_PARSER_TOKEN_ARG
	(function): likewise
	(command): move error handling to script
	(menuentry): move grub_script_lexer_ref before
	* script/sh/script.c (grub_script_create_cmdline): remove cmdline
	argument. All callers updated

2009-06-04  Robert Millan  <rmh.grub@aybabtu.com>

	Prevent GRUB from probing floppies during boot.

	* conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
	* commands/search.c (options): Add --no-floppy.
	(search_fs, search_file, grub_cmd_search): Support --no-floppy.
	* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
	--no-floppy when searching for UUIDs.

2009-06-04  Robert Millan  <rmh.grub@aybabtu.com>

	Simplify the code duplication in commands/search.c.

	* commands/search.c (search_label, search_fs_uuid): Merge into ...
	(search_fs): ... this.  Update all users.

2009-06-03  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.

2009-05-28  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
	Remove the original symlink explicitly.

	* fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
	just one slash.  That's how grub_fshelp_find_file() does it.

2009-05-26  Pavel Roskin  <proski@gnu.org>

	* genmk.rb: Avoid shadowing variable `s', rename the outer `s'
	to `str'.

	* util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
	possibly unused.

2009-05-25  Christian Franke  <franke@computer.org>

	* disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
	register.
	(grub_atapi_identify): Add wait after drive select.
	(grub_ata_identify): Do more strict status register check before
	calling grub_atapi_identify ().  Suppress error message if status
	register is 0x00 after command failure.  Add status register
	check after PIO read to avoid bogus identify due to stuck DRQ.
	Thanks to Pavel Roskin for testing.
	(grub_device_initialize): Remove unsafe status register check.
	Thanks to 'phcoder' for problem report and patch.
	Prevent sign extension in debug message.

2009-05-23  Colin D Bennett  <colin@gibibit.com>

	Cleaned up `include/grub/normal.h'.  Grouped prototypes by
	definition file, and functions defined in `normal/menu.c' have had
	their prototypes moved to `include/grub/menu.h' for consistency.

	* include/grub/menu.h (grub_menu_execute_callback): Added; moved
	from normal.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.

	* include/grub/normal.h: Re-ordered and grouped function
	prototypes by file that the function is defined in.
	(grub_menu_execute_callback): Removed; moved to menu.h.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_execute_with_fallback): Likewise.
	(grub_menu_entry_run): Likewise.
	(grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* normal/main.c (grub_menu_addentry): Renamed from this ...
	(grub_normal_add_menu_entry): ... to this.

	* script/sh/execute.c (grub_script_execute_menuentry): Update
	reference to renamed grub_menu_addentry function.

2009-05-23  Felix Zielcke  <fzielcke@z-51.de>

	* commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.

2009-05-22  Pavel Roskin  <proski@gnu.org>

	* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
	* configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG.  Define
	NESTED_FUNC_ATTR using AH_BOTTOM.  Use regparm(1) only when
	compiling for the i386 targets, but not for the utilities.

	* include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
	to grub_uint8_t.
	(grub_root_drive): Likewise.
	* kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
	remove alignment.
	(grub_root_drive): Change size to byte.
	(grub_start_addr): Remove.
	(grub_end_addr): Likewise.
	(grub_apm_bios_info): Likewise.

2009-05-21  Felix Zielcke  <fzielcke@z-51.de>

	* normal/i386: Remove.
	* normal/powerpc: Likewise.
	* normal/sparc64: Likewise.
	* normal/x86_64: Likewise.

2009-05-19  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
	* loader/i386/linux_trampoline.S: Fix indentation
	* loader/i386/xnu_helper.S: Likewise

2009-05-18  Colin D Bennett  <colin@gibibit.com>

	Display error messages when parsing a Lua statement fails.
	Previously, executing a syntactically invalid statement like
	")foo" or "bar;" would silently fail.

	* script/lua/grub_main.c (handle_lua_error): New function.
	(grub_lua_parse_line): Improved reporting of Lua parser and
	execution errors.

2009-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	Remove -Werror which causes build to fail on some systems

	* conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
	* conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
	* conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise

2009-05-17  Vladimir Serbinenko  <phcoder@gmail.com>

	trampoline for linux on 64-bit platform

	* conf/x86_64-efi.rmk (linux_mod_SOURCES): added
	loader/i386/efi/linux_trampoline.S
	* include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
	declaration
	* kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
	here
	* loader/i386/linux_trampoline.S: moved here
	* loader/i386/efi/linux.c (allocate_pages): reserve space for
	trampoline
	(jumpvector): removed
	(grub_linux_trampoline_start): new declaration
	(grub_linux_trampoline_end): likewise
	(grub_linux_boot): use trampoline when on 64-bit platform
	* loader/i386/linux.c: likewise

2009-05-16  Pavel Roskin  <proski@gnu.org>

	* script/lua/grub_lib.c (grub_lua_getenv): Make name and value
	const to avoid a warning.
	(grub_lua_setenv): Likewise.
	* script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
	lmsg to fix a warning.

2009-05-16  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
	* conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
	* conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
	* conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
	(setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).

2009-05-16  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.

2009-05-16  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkglib_MODULES): Add lua.mod.
	(lua_mod_SOURCES): New variable.
	(lua_mod_CFLAGS): Likewise.
	(lua_mod_LDFLAGS): Likewise.

	* conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
	(setjmp_mod_SOURCES): New variable.
	(setjmp_mod_CFLAGS): Likewise.
	(setjmp_LDFLAGS): Likewise.

	* normal/i386/setjmp.S: Moved from here ...
	* lib/i386/setjmp.S: ... Moved here
	* normal/x86_64/setjmp.S: Moved from here ...
	* lib/x86_64/setjmp.S: ... Moved here
	* normal/powerpc/setjmp.S: Moved from here ...
	* lib/powerpc/setjmp.S: ... Moved here
	* normal/sparc64/setjmp.S: Moved from here ...
	* lib/sparc64/setjmp.S: ... Moved here

	* include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
	returns_twice in mingw.

	* script/lua/grub_lib.c: New file.
	* script/lua/grub_lib.h: Likewise.
	* script/lua/grub_lua.h: Likewise.
	* script/lua/grub_main.c: Likewise.
	* script/lua/lapi.c: Likewise.
	* script/lua/lapi.h: Likewise.
	* script/lua/lauxlib.c: Likewise.
	* script/lua/lauxlib.h: Likewise.
	* script/lua/lbaselib.c: Likewise.
	* script/lua/lcode.c: Likewise.
	* script/lua/lcode.h: Likewise.
	* script/lua/ldblib.c: Likewise.
	* script/lua/ldebug.c: Likewise.
	* script/lua/ldebug.h: Likewise.
	* script/lua/ldo.c: Likewise.
	* script/lua/ldo.h: Likewise.
	* script/lua/ldump.c: Likewise.
	* script/lua/lfunc.c: Likewise.
	* script/lua/lfunc.h: Likewise.
	* script/lua/lgc.c: Likewise.
	* script/lua/lgc.h: Likewise.
	* script/lua/linit.c: Likewise.
	* script/lua/liolib.c: Likewise.
	* script/lua/llex.c: Likewise.
	* script/lua/llex.h: Likewise.
	* script/lua/llimits.h: Likewise.
	* script/lua/lmathlib.c: Likewise.
	* script/lua/lmem.c: Likewise.
	* script/lua/lmem.h: Likewise.
	* script/lua/loadlib.c: Likewise.
	* script/lua/lobject.c: Likewise.
	* script/lua/lobject.h: Likewise.
	* script/lua/lopcodes.c: Likewise.
	* script/lua/lopcodes.h: Likewise.
	* script/lua/loslib.c: Likewise.
	* script/lua/lparser.c: Likewise.
	* script/lua/lparser.h: Likewise.
	* script/lua/lstate.c: Likewise.
	* script/lua/lstate.h: Likewise.
	* script/lua/lstring.c: Likewise.
	* script/lua/lstring.h: Likewise.
	* script/lua/lstrlib.c: Likewise.
	* script/lua/ltable.c: Likewise.
	* script/lua/ltable.h: Likewise.
	* script/lua/ltablib.c: Likewise.
	* script/lua/ltm.c: Likewise.
	* script/lua/ltm.h: Likewise.
	* script/lua/lua.h: Likewise.
	* script/lua/luaconf.h: Likewise.
	* script/lua/lualib.h: Likewise.
	* script/lua/lundump.c: Likewise.
	* script/lua/lundump.h: Likewise.
	* script/lua/lvm.c: Likewise.
	* script/lua/lvm.h: Likewise.
	* script/lua/lzio.c: Likewise.
	* script/lua/lzio.h: Likewise.

2009-05-16  Bean  <bean123ch@gmail.com>

	* include/grub/kernel.h (grub_module_header_types): Add type
	OBJ_TYPE_CONFIG.

	* kern/main.c (grub_load_config): New function.
	(grub_main): Call grub_load_config to read boot config.

	* grub-mkimage (generate_image): New parameter config_path.
	(options): New option --config.
	(main): Parse --config option, and pass it to generate_image.

2009-05-14  Christian Franke  <franke@computer.org>

	* commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
	This fixes build on Cygwin.

2009-05-14  Pavel Roskin  <proski@gnu.org>

	* commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
	jump.  This saves two bytes, so the typical case of 2 swapped
	drives would fit 32 bytes.

2009-05-13  Pavel Roskin  <proski@gnu.org>

	* loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
	grub_uint32_t to avoid a warning.

	* loader/i386/linux.c (allocate_pages): When assigning
	real_mode_mem, cast through grub_size_t to fix a warning.  The
	code already makes sure that the value would fit a pointer.
	(grub_linux_setup_video): Cast render_target->data to
	grub_size_t to fix a warning.

2009-05-13  Javier Martín  <lordhabbit@gmail.com>

	* commands/i386/pc/drivemap.c: New file - implement drivemap
	command.
	* commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
	* conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.

2009-05-13  Pavel Roskin  <proski@gnu.org>

	* util/i386/pc/grub-setup.c (setup): Remove unused variable
	embedding_area_exists.

2009-05-13  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-setup.c (setup): Restructure code flow to make
	it easier to understand / work with.
	Improve warning messages for cases where there's no embedding area,
	or when it is too small (or core.img too large).

2009-05-13  Pavel Roskin  <proski@gnu.org>

	* loader/i386/pc/multiboot2.c: Add necessary includes for
	grub_multiboot2_real_boot().

	* fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
	PX record is always little-endian.  We only need the lower 2
	bytes of the mode.

	* fs/cpio.c: Use the same name "struct head" for tar and cpio to
	facilitate code reuse.
	(grub_cpio_mount): Use "struct head", not a char buffer.  This
	fixes a warning reported by gcc 4.4.

	* kernel/disk.c (grub_disk_read): Use void pointer for the
	buffer.
	(grub_disk_write): Use const void pointer for the buffer.
	Adjust all callers.  Remove unnecessary casts.

2009-05-10  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-install.in: Update copyright year.

2009-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	gptsync

	* commands/gptsync.c: new file
	* conf/common.rmk (pkglib_MODULES): add gptsync.mod
	(gptsync_mod_SOURCES): new variable
	(gptsync_mod_CFLAGS): likewise
	(gptsync_mod_LDFLAGS): likewise
	* include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
	new definition
	(GRUB_PC_PARTITION_TYPE_HFS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-pc.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise

2009-05-09  Vladimir Serbinenko  <phcoder@gmail.com>

	Fixed grub-emu

	* kern/dl.c (grub_dl_ref): omit when compiling grub-emu
	(grub_dl_ref): likewise

2009-05-08  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
	split in two functions (one for msdos and one for gpt).

2009-05-08  Pavel Roskin  <proski@gnu.org>

	* disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
	not modified.

	* disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
	uninitialized err[0] and err[1].  Rename them to bad1 and bad2.
	Initialize them with -1.  Add sanity check for bad1.  Eliminate
	nerr variable.

2009-05-08  David S. Miller  <davem@davemloft.net>

	* util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.

2009-05-06  Robert Millan  <rmh.grub@aybabtu.com>

	* util/i386/pc/grub-setup.c (setup): Fix check for embed region
	existence.

2009-05-05  Felix Zielcke  <fzielcke@z-51.de>

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
	`kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.

2009-05-05  David S. Miller  <davem@davemloft.net>

	* util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.

2009-05-05  Pavel Roskin  <proski@gnu.org>

	* include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
	of grub_dl_ref() and grub_dl_unref().
	* commands/parttool.c: Remove preprocessor conditionals around
	grub_dl_ref() and grub_dl_unref().
	* fs/affs.c: Likewise.
	* fs/afs.c: Likewise.
	* fs/cpio.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/fat.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* include/grub/dl.h: Likewise.
	* loader/xnu.c: Likewise.

2009-05-04  Pavel Roskin  <proski@gnu.org>

	* commands/acpi.c: Remove unused variable my_mod.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* partmap/gpt.c: Likewise.
	* partmap/pc.c: Likewise.
	* partmap/sun.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/i386/pc/vga.c: Likewise.

2009-05-04  David S. Miller  <davem@davemloft.net>

	* kern/ieee1275/openfw.c (grub_children_iterate): Fix string
	pointer args to grub_ieee1275_get_property().

	* conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.

	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
	devices, and do not traverse down under controller nodes.

	* disk/ieee1275/ofdisk.c (compute_dev_path): New.
	(grub_ofdisk_open): Use it to un-escape "," characters.
	* kern/disk.c (find_part_sep): New.
	(grub_disk_open): Use it to find the first non-escaped ','
	character in the disk name.
	* util/ieee1275/devicemap.c (escape_of_path): New.
	(grub_util_emit_devicemap_entry): Use it.
	* util/sparc64/ieee1275/grub-install.in: Update script to
	strip partition specifiers properly by not triggering on
	'\' escaped ',' characters.

2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>

	* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
	to 0x300.
	* loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
	resolutions.
	(linux_vesafb_modes): Add a lot of additional modes to the list (based
	on documentation from Wikipedia).

2009-05-04  Pavel Roskin  <proski@gnu.org>

	* disk/ata.c: Spelling fixes.
	* disk/raid.c: Likewise.
	* disk/usbms.c: Likewise.
	* disk/dmraid_nvidia.c: Likewise.
	* kern/ieee1275/openfw.c: Likewise.
	* kern/ieee1275/init.c: Likewise.
	* kern/ieee1275/cmain.c: Likewise.
	* boot/i386/pc/cdboot.S: Likewise.
	* video/readers/png.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* fs/udf.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/reiserfs.c: Likewise.
	* efiemu/runtime/efiemu.c: Likewise.
	* efiemu/main.c: Likewise.
	* efiemu/mm.c: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/xnu.h: Likewise.
	* include/grub/usbdesc.h: Likewise.
	* include/grub/usb.h: Likewise.
	* include/grub/script_sh.h: Likewise.
	* include/grub/lib/LzmaEnc.h: Likewise.
	* include/grub/efiemu/efiemu.h: Likewise.
	* include/grub/command.h: Likewise.
	* normal/menu.c: Likewise.
	* normal/main.c: Likewise.
	* normal/datetime.c: Likewise.
	* bus/usb/uhci.c: Likewise.
	* mmap/i386/uppermem.c: Likewise.
	* mmap/mmap.c: Likewise.
	* commands/acpi.c: Likewise.
	* commands/test.c: Likewise.
	* partmap/apple.c: Likewise.
	* font/font.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.
	* loader/macho.c: Likewise.
	* loader/i386/bsd_trampoline.S: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/xnu.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/usb_keyboard.c: Likewise.
	* util/resolve.c: Likewise.
	* util/getroot.c: Likewise.

2009-05-04  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.

2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
	build error.

2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
	parameter only available on BIOS.

2009-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Removed wrong semicolon in declaration

	* grub/misc.h (grub_dprintf): remove semicolon

2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>

	* loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
	(grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
	is done by grub_cmd_linux() now).
	[! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
	restore video to text mode.
	(grub_cmd_linux): Default `vid_mode' initialization to 0, which
	indicates lack of "vga=" parameter.  "vga=0" is mapped to
	`GRUB_LINUX_VID_MODE_NORMAL'.

2009-05-04  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
	`normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
	and `normal/script.c'.  Add `kern/rescue_reader.c',
	`kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
	`script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
	`grub_script.tab.c'.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* Makefile.in: Remove duplicated 2008 in Copyright line.

2009-05-04  Robert Millan  <rmh.grub@aybabtu.com>

	* util/misc.c (grub_util_warn): New function.  Emits a warning
	unconditionally.
	* include/grub/util/misc.h (grub_util_warn): New declaration.

	* util/i386/pc/grub-install.in: Understand --force and pass it down
	to grub-setup.

	* util/i386/pc/grub-setup.c (main): Understand --force and pass it
	down to setup().
	(setup): Improve error messages and add warnings when requested to
	install in odd layouts.  Refuse to install using blocklists unless
	--force was set.

2009-05-04  martin f. krafft  <madduck@madduck.net>

	* disk/raid.c (grub_raid_scan_device): Improve debug message.

2009-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	Updated copyright year

	* fs/hfsplus.c: updated copyright year

2009-05-04  Vladimir Serbinenko  <phcoder@gmail.com>

	HFS+ UUID

	* fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
	in the space previously used by unused3
	(grub_hfsplus_uuid): new function
	(grub_hfsplus_fs): added uuid field

2009-05-03  Pavel Roskin  <proski@gnu.org>

	* disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
	suppress warnings.  It's no longer needed.
	* disk/host.c: Likewise.
	* disk/ata_pthru.c: Likewise.
	* disk/loopback.c: Likewise.
	* hook/datehook.c: Likewise.
	* parttool/pcpart.c: Likewise.
	* fs/i386/pc/pxe.c: Likewise.
	* fs/ntfscomp.c: Likewise.
	* efiemu/main.c: Likewise.
	* mmap/mmap.c: Likewise.
	* commands/crc.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/hdparm.c: Likewise.
	* commands/acpi.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/minicmd.c: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/memrw.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/usbtest.c: Likewise.
	* commands/lsmmap.c: Likewise.
	* commands/boot.c: Likewise.
	* commands/parttool.c: Likewise.
	* commands/configfile.c: Likewise.
	* commands/search.c: Likewise.
	* commands/ieee1275/suspend.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/i386/pc/pxecmd.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/lspci.c: Likewise.
	* commands/date.c: Likewise.
	* commands/handler.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/test.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/efi/loadbios.c: Likewise.
	* commands/efi/fixvideo.c: Likewise.
	* commands/halt.c: Likewise.
	* commands/help.c: Likewise.
	* commands/reboot.c: Likewise.
	* hello/hello.c: Likewise.
	* script/sh/main.c: Likewise.
	* loader/xnu.c: Likewise.
	* term/terminfo.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/usb_keyboard.c: Likewise.

2009-05-03  David S. Miller  <davem@davemloft.net>

	* normal/menu.c: Include grub/parser.h

2009-05-03  Pavel Roskin  <proski@gnu.org>

	* mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
	not char*.
	* mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
	Suggested by Javier Martín <lordhabbit@gmail.com>

	* util/i386/pc/grub-mkrescue.in: Allow for the case when
	efiemu??.o doesn't exist.
	* util/i386/pc/grub-install.in: Likewise.  Use "cp -f" for
	copying.

2009-05-03  Bean  <bean123ch@gmail.com> Vladimir Serbinenko  <phcoder@gmail.com>

	FreeBSD 64-bit support

	* conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
	and loader/i386/bsd_trampoline.S
	(bsd_mod_ASFLAGS): new variable
	* include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
	(FREEBSD_MODTYPE_KERNEL64): likewise
	(grub_bsd64_trampoline_start): likewise
	(grub_bsd64_trampoline_end): likewise
	(grub_bsd64_trampoline_selfjump): likewise
	(grub_bsd64_trampoline_gdt): likewise
	* include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
	* include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
	* kern/i386/loader.S (grub_unix_real_boot): moved from here ...
	* loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
	* include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
	of "attrib" member
	* loader/i386/bsd_pagetable.c: new file
	* loader/i386/bsd_trampoline.S: likewise
	* loader/i386/bsd.c (ALIGN_QWORD): new macro
	(ALIGN_VAR): likewise
	(entry_hi): new variable
	(kern_end_mdofs): likewise
	(is_64bit): likewise
	(grub_freebsd_add_meta): use ALIGN_VAR
	(grub_e820_mmap): new declaration
	(grub_freebsd_add_mmap): new function
	(grub_freebsd_add_meta_module): support 64 bit kernels
	(grub_freebsd_list_modules): use ALIGN_VAR
	(gdt_descriptor): new declaration
	(grub_freebsd_boot): support 64 bit kernels
	(grub_bsd_elf64_hook): new function
	(grub_bsd_load_elf): support elf64

2009-05-03  Bean  <bean123ch@gmail.com>

	* script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
	after we get the result of if statement.

2009-05-03  Bean  <bean123ch@gmail.com>

	* Makefile.in (enable_efiemu): New variable.

	* conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
	set.
	(efiemu32.o): Use macro $< for source file, add $(srcdir) to include
	path.
	(efi64_c.o): Use macro $< for source file, add $(srcdir) to include
	path, add -mno-red-zone option.
	(efiemu64_s.o): Likewise.
	(efiemu64.o): Use macro $^ for source file.

	* configure.ac (--enable-efiemu): New option.

2009-05-03  Vladimir Serbinenko  <phcoder@gmail.com>

	xnu support

	* conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
	(pkglib_MODULES): add xnu.mod
	(xnu_mod_SOURCES): new variable
	(xnu_mod_CFLAGS): likewise
	(xnu_mod_LDFLAGS): likewise
	(xnu_mod_ASFLAGS): likewise
	* conf/i386-pc.rmk: likewise
	* conf/x86_64-efi.rmk: likewise
	* include/grub/efi/efi.h (grub_efi_finish_boot_services):
	new declaration
	* include/grub/i386/macho.h: new file
	* include/grub/i386/xnu.h: likewise
	* include/grub/macho.h: likewise
	* include/grub/machoload.h: likewise
	* include/grub/x86_64/macho.h: likewise
	* include/grub/x86_64/xnu.h: likewise
	* include/grub/xnu.h: likewise
	* kern/efi/efi.c (grub_efi_finish_boot_services): new function
	* kern/efi/mm.c (MAX_HEAP_SIZE): increase
	* loader/i386/efi/xnu.c: new file
	* loader/i386/pc/xnu.c: likewise
	* loader/i386/xnu.c: likewise
	* loader/i386/xnu_helper.S: likewise
	* loader/macho.c: likewise
	* loader/xnu.c: likewise
	* loader/xnu_resume.c: likewise
	* util/grub-dumpdevtree: likewise
	* include/grub/i386/pit.h: include grub/err.h
	(grub_pit_wait): export
	* util/grub.d/30_os-prober.in: support Darwin/Mac OS X

2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Efiemu

	* conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
	_linux_efi, linux_efi.
	new files in grub-emu
	new targets efiemu32.o and efiemu64.o
	* loader/linux_normal_efiemu.c: likewise
	* loader/i386/efi/linux.c: added preliminary efiemu support
	* util/i386/pc/grub-install.in: add efiemu??.o to the list of
	files to copy
	* include/grub/autoefi.h: new file
	* include/grub/i386/efiemu.h: likewise
	* include/grub/i386/pc/efiemu.h: likewise
	* include/grub/efi/api.h: add LL suffix when necessary
	new definitions relating to tables
	* include/grub/efiemu/efiemu.h: new file
	* include/grub/efiemu/runtime.h: likewise
	* efiemu/prepare.c: likewise
	* efiemu/loadcore_common.c: likewise
	* efiemu/loadcore64.c: likewise
	* efiemu/runtime/efiemu.sh: likewise
	* efiemu/runtime/efiemu.S: likewise
	* efiemu/runtime/efiemu.c: likewise
	* efiemu/runtime/config.h: likewise
	* efiemu/prepare32.c: likewise
	* efiemu/main.c: likewise
	* efiemu/modules/pnvram.c: likewise
	* efiemu/modules/i386: likewise
	* efiemu/modules/i386/pc: likewise
	* efiemu/modules/acpi.c: likewise
	* efiemu/i386/pc/cfgtables.c: likewise
	* efiemu/i386/loadcore64.c: likewise
	* efiemu/i386/loadcore32.c: likewise
	* efiemu/prepare64.c: likewise
	* efiemu/loadcore.c: likewise
	* efiemu/symbols.c: likewise
	* efiemu/mm.c: likewise
	* efiemu/loadcore32.c: likewise

2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	ACPI spoofing

	* commands/acpi.c: new file
	* commands/i386/pc/acpi.c: likewise
	* commands/efi/acpi.c: likewise
	* include/grub/acpi.h: likewise
	* conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
	(acpi_mod_SOURCES): new variable
	(acpi_mod_CFLAGS): likewise
	(acpi_mod_LDFLAGS): likewise
	* conf/i386-efi.rmk: likewise
	* conf/x86_64-efi.rmk: likewise

2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Missing part from mmap patch

	* mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
	(grub_mmap_unregister)
	(grub_mmap_free_and_unregister): use grub_mmap_register

2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Mmap services

	* loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
	* loader/i386/linux.c (find_mmap_size): likewise
	(allocate_pages): likewise
	* loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
	(grub_fill_multiboot_mmap): likewise
	(grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
	* loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
	* include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
	(OPENBSD_MMAP_RESERVED): likewise
	* include/grub/i386/pc/memory.h: include grub/memory.h
	(grub_lower_mem): removed
	(grub_upper_mem): likewise
	(GRUB_MACHINE_MEMORY_ACPI): new definition
	(GRUB_MACHINE_MEMORY_NVS): likewise
	(GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
	(GRUB_MACHINE_MEMORY_HOLE): likewise
	(grub_machine_mmap_register): likewise
	(grub_machine_mmap_unregister): likewise
	(grub_machine_get_upper): likewise
	(grub_machine_get_lower): likewise
	(grub_machine_get_post64): likewise
	* include/grub/i386/efi/memory.h: new file
	* include/grub/x86_64/efi/memory.h: likewise
	* include/grub/efi/memory.h: likewise
	* conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
	(mmap_mod_SOURCES): new variable
	(mmap_mod_LDFLAGS): likewise
	(mmap_mod_ASFLAGS): likewise
	* conf/i386-coreboot.rmk: likewise
	* conf/i386-ieee1275.rmk: likewise
	* conf/i386-efi.rmk: likewise
	* conf/x86_64-efi.rmk: likewise
	* include/grub/types.h (UINT_TO_PTR): new macro
	(PTR_TO_UINT32): likewise
	(PTR_TO_UINT64): likewise
	* include/grub/memory.h: new file
	* mmap/i386/pc/mmap.c: likewise
	* mmap/i386/pc/mmap_helper.S: likewise
	* mmap/i386/uppermem.c: likewise
	* mmap/mmap.c: likewise
	* mmap/efi/mmap.c: likewise
	* kern/i386/coreboot/init.c (grub_machine_init): don't use
	grub_upper_mem
	* kern/i386/pc/init.c (grub_lower_mem): removed variable
	(grub_upper_mem): likewise
	(grub_machine_init): don't use grub_upper_mem,
	make grub_lower_mem local
	* loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
	grub_mmap_iterate and grub_mmap_get_upper
	(grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper

2009-05-02  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
	script/sh/parser.y.
	(pkglib_MODULES): Add normal.mod and sh.mod.
	(normal_SOURCES): New variable.
	(normal_mod_CFLAGS): Likewise.
	(normal_mod_LDFLAGS): Likewise.
	(sh_mod_SOURCES): Likewise.
	(sh_mod_CFLAGS): Likewise.
	(sh_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
	script/sh/lexer.c_DEPENDENCIES.
	(kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
	kern/rescue_reader.c and kern/rescue_parser.c.
	(kernel_img_HEADERS): Remove rescue.h, add reader.h.
	(grub_emu_SOURCES): Change source files.
	(pkglib_MODULES): Remove normal.mod.
	(normal_SOURCES): Removed.
	(normal_mod_CFLAGS): Likewise.
	(normal_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1276.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

	* include/grub/command.h (grub_command_execute): New inline function.

	* include/grub/menu.h (grub_menu_entry): Removed commands field.

	* include/grub/normal.h: Remove <grub/setjmp.h>.
	(grub_fs_module_list): Moved to normal/autofs.c.
	(grub_exit_env): Removed.
	(grub_command_execute): Likewise.
	(grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
	parameter script.
	(read_command_list): New function declaration.
	(read_fs_list): Likewise.

	* include/parser.h: Include <grub/reader.h>.
	(grub_parser_split_cmdline): Change type of getline parameter.
	(grub_parser): New structure.
	(grub_parser_class): New variable.
	(grub_parser_execute): New function declaration.
	(grub_register_rescue_parser): Likewise.
	(grub_parser_register): New inline function.
	(grub_parser_unregister): Likewise.
	(grub_parser_get_current): Likewise.
	(grub_parser_set_current): Likewise.

	* include/grub/reader.h: New file.
	* kern/reader.c: Likewise.
	* kern/rescue_parser.c: Likewise.
	* kern/rescue_reader.c: Likewise.
	* normal/autofs.c: Likewise.
	* normal/dyncmd.c: Likewise.

	* include/grub/rescue.h: Removed.
	* normal/command.h: Likewise.

	* include/grub/script.h: Moved to ...
	* include/grub/script_sh.h: ... Moved here.
	* normal/execute.c: Moved to ...
	* script/sh/execute.c: ... Moved here.
	* normal/function.c: Moved to ...
	* script/sh/function.c: ... Moved here.
	* normal/lexer.c: Moved to ...
	* script/sh/lexer.c: ... Moved here.
	* normal/parser.y: Moved to ...
	* script/sh/parser.y: ... Moved here.
	* normal/script.c: Moved to ...
	* script/sh/script.c: ... Moved here.

	* normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
	<grub/reader.h>.
	(grub_exit_env): Removed.
	(fs_module_list): Moved to normal/autofs.c.
	(grub_file_getline): Don't handle comment here.
	(free_menu): Skip removed field entry->commands.
	(grub_normal_menu_addentry): Removed as grub_menu_entry, removed
	script parameter.
	(read_config_file): Removed nested parameter, change getline function.
	(grub_enter_normal_mode): Removed.
	(grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
	(read_command_list): Likewise.
	(autoload_fs_module): Moved to normal/autofs.c.
	(read_fs_list): Likewise.
	(reader_nested): New variable.
	(grub_normal_execute): Run parser.sh to switch to sh parser.
	(grub_cmd_rescue): Removed.
	(cmd_normal): Removed.
	(grub_cmd_normal): Unregister itself at the beginning. Don't register
	rescue command.
	(grub_cmdline_run): New function.
	(grub_normal_reader_init): Likewise.
	(grub_normal_read_line): Likewise.
	(grub_env_write_pager): Likewise.
	(cmdline): New variable.
	(grub_normal_reader): Likewise.
	(GRUB_MOD_INIT): Register normal reader and set as current, register
	pager hook, register normal command with grub_register_command_prio,
	so that it won't show up in command.lst.
	(GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
	grub_fs_autoload_hook.

	* normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
	(grub_menu_execute_entry): Replace grub_script_execute with
	grub_parser_execute, change parameter to grub_command_execute.

	* normal/menu_text.c: Remove <grub/script.h>.

	* normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
	and <grub/parser.h>.
	(run): Change editor_getline to use new parser interface. Change
	parameter to grub_command_execute.

	* kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
	<grub/reader.h> and <grub/parser.h>.
	(grub_load_normal_mode): Execute normal command.
	(grub_main): Call grub_register_core_commands,
	grub_register_rescue_parser and grub_register_rescue_reader, use
	grub_reader_loop to enter input loop.

	* kern/parser.c (grub_parser_split_cmdline): Change type of
	getline parameter.
	(grub_parser_class): New variable.
	(grub_parser_execute): New function.

	* loader/i386/multiboot.c: Remove <grub/rescue.h>.
	* loader/multiboot2.c: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.

	* util/grub-emu.c (read_command_list): New dummy function.

2009-05-02  Robert Millan  <rmh.grub@aybabtu.com>

	* util/deviceiter.c (grub_util_iterate_devices): Increase max drive
	count to 16 for CCISS and IDA.

2009-05-02  Robert Millan  <rmh.grub@aybabtu.com>

	* normal/menu_text.c  (grub_wait_after_message): Print a newline
	after waiting for user input.

	* loader/i386/linux.c: Include `<grub/normal.h>'.
	(grub_cmd_linux): Improve the error message about `ask' mode, by
	waiting for user input so it's not missed (we can do this, since
	user requested interaction).

2009-05-02  Vladimir Serbinenko  <phcoder@gmail.com>

	Added missing lst to grub-mkrescue

	* util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
	and ${input_dir}/parttool.lst

2009-04-30  David S. Miller  <davem@davemloft.net>

	* util/hostdisk.c (device_is_wholedisk): New function.
	(grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
	zero only if device_is_wholedisk() returns true.

	* util/hostdisk.c (convert_system_partition_to_system_disk):
	Handle virtual disk devices named /dev/vdiskX as found on sparc
	and powerpc.

	* kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
	lettered partition specifier is found, convert to numbered.

2009-04-29  David S. Miller  <davem@davemloft.net>

	* include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
	* include/grub/sparc64/ieee1275/memory.h: Likewise.

	* normal/command.c: Add missing newline at end of file.

	* commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
	warnings.
	* kern/ieee1275/openfw.c (grub_claimmap): Likewise.
	* disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
	grub_ofdisk_read): Likewise, and deal similarly with the fact that
	ihandles have a 32-bit type but need to be stored in a "void *".

2009-04-28  Pavel Roskin  <proski@gnu.org>

	* disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
	not disk.  Adjust all dependencies.
	(grub_fs_uuid_close): Use grub_device_close(), not
	grub_disk_close().

	* disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
	parent's partition, don't copy it by reference, as it gets freed
	on close.

2009-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Preboot hooks support

	* commands/boot.c (struct grub_preboot_t): new declaration
	(preboots_head): new variable
	(preboots_tail): likewise
	(grub_loader_register_preboot_hook): new function
	(grub_loader_unregister_preboot_hook): likewise
	(grub_loader_set): launch preboot hooks
	* include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
	(grub_loader_register_preboot_hook): new declaration
	(grub_loader_unregister_preboot_hook): likewise

2009-04-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Warning fix

	* disk/scsi.c (grub_scsi_open): added missing cast when
	calling grub_dprintf

2009-04-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Bug and warning fixes

	* include/grub/i386/pc/init.h (grub_stop_floppy): added missing
	declaration
	* commands/test.c (test_parse): fixed bug with file tests and corrected
	declaration of find_file

2009-04-26  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Don't install empty manual pages if help2man is
	missing.  Use help2man option for output, not shell redirection.

2009-04-26  David S. Miller  <davem@davemloft.net>

	* util/grub-mkdevicemap.c (make_device_map): Add missing
	NESTED_FUNC_ATTR to process_device().

2009-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Test command

	* commands/test.c: rewritten to use bash-like test

2009-04-25  Vladimir Serbinenko  <phcoder@gmail.com>

	Parttool autoloading and improvements

	* Makefile.in (pkglib_DATA): add parttool.lst
	(parttool.lst): new target
	* genmk.rb: generate parttool-*
	(CLEANFILES): add #{parttool}
	(PARTTOOLFILES): new variable
	* genparttoollist.sh: new file
	* parttool/pcpart.c (grub_pcpart_boot): more feedback
	(grub_pcpart_type): likewise
	* commands/parttool.c (helpmsg): new variable
	(grub_cmd_parttool): output help if not enough arguments are supplied
	autoload modules
	(GRUB_MOD_INIT(parttool)): use helpmsg

2009-04-24  David S. Miller  <davem@davemloft.net>

	Avoiding opening same device multiple times in device iterator.

	* kern/device.c: (grub_device_iterate): Define struct part_ent,
	and use it to build a list of partitions in iterate_disk() and
	iterate_partition().

	* disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
	on disk->data.

	* disk/ieee1275/nand.c (grub_nand_iterate): Return
	grub_devalias_iterate() result instead of unconditional 0.
	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
	Also, capture hook return value, either directly or via
	grub_children_iterate(), and propagate to caller.
	* include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
	grub_children_iterate): Return value is now 'int' instead of
	'grub_err_t'.
	* kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
	like a proper iterator, stopping when hooks return non-zero.
	(grub_devalias_iterate): Likewise.

2009-04-23  David S. Miller  <davem@davemloft.net>

	* kern/sparc64/ieee1275/openfw.c: Unused, delete.

2009-04-22  David S. Miller  <davem@davemloft.net>

	* kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
	is larger than address_cells, use that value for address_cells too.

	* include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
	IEEE1275_MAX_PATH_LEN): Define.
	* kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
	allocate 'childtype', 'childpath', 'childname', and 'fullname'.
	(grub_devalias_iterate): Dynamically allocate 'aliasname' and
	'devtype'.  Explicitly NULL terminate devalias expansion.

	* util/sparc64/ieee1275/misc.c: New file.
	* util/sparc64/ieee1275/grub-setup.c: New file.
	* util/sparc64/ieee1275/grub-ofpathname.c: New file.
	* util/sparc64/ieee1275/grub-mkimage.c: New file.
	* util/sparc64/ieee1275/grub-install.in: New file.
	* util/ieee1275/ofpath.c: New file.
	* util/ieee1275/devicemap.c: New file.
	* util/devicemap.c: New file.
	* util/deviceiter.c: New file.
	* kern/sparc64/ieee1275/init.c: New file.
	* include/grub/util/ofpath.h: New file.
	* include/grub/util/deviceiter.h: New file.
	* util/grub-mkdevicemap.c: Include deviceiter.h.
	Implement using grub_util_emit_devicemap_entry and
	grub_util_iterate_devices.
	* conf/i386-corebook.rmk: Build util/deviceiter.c and
	util/devicemap.c into grub-mkdevicemap
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Add rules to build boot block
	images and installation utilities.  Build kernel as image
	instead of as elf binary.  Use common rules as much as possible.

2009-04-19  Vladimir Serbinenko  <phcoder@gmail.com>

	Correct GPT definition

	* include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
	of "attrib" member

2009-04-19  Felix Zielcke  <fzielcke@z-51.de>

	* INSTALL: Replace `autogen.sh' with `./autogen.sh'.

2009-04-19  David S. Miller  <davem@davemloft.net>

	* loader/sparc64/ieee1275/linux.c: Include grub/command.h
	(grub_rescue_cmd_linux): Rename to...
	(grub_cmd_linux): and fix prototype.
	(grub_rescue_cmd_initrd): Rename to...
	(grub_cmd_initrd): and fix prototype.
	(cmd_linux, cmd_initrd): New.
	(GRUB_MOD_INIT(linux)): Use grub_register_command().
	(GRUB_MOD_FINI(linux): Use grub_unregister_command().

2009-04-17  Pavel Roskin  <proski@gnu.org>

	* bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
	format.
	(grub_ohci_transfer): Likewise.

	* bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.

	* loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
	return without a value.  Fix inconsistent indentation.

	* fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
	match struct grub_fs.

	* disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
	* bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
	* commands/lspci.c (grub_lspci_iter): Likewise.

2009-04-16  Bean  <bean123ch@gmail.com>

	* commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
	value.

2009-04-15  Pavel Roskin  <proski@gnu.org>

	* include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
	LONG_MAX to GRUB_LONG_MAX.  Introduce GRUB_LONG_MIN.  Update all
	users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
	definitions.

2009-04-15  Felix Zielcke  <fzielcke@z-51.de>

	* disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
	that no multiple data or metadata areas are supported and `Unknown
	metadata header'.

2009-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Move loader out of the kernel

	* kern/loader.c: moved to ...
	* commands/boot.c: ... moved here
	* commands/minicmd.c (grub_mini_cmd_boot): moved to ...
	* commands/boot.c (grub_cmd_boot): moved here. All users updated
	* include/grub/kernel.h (grub_machine_fini): export
	* include/grub/loader.h (grub_loader_is_loaded): update declaration
	(grub_loader_set): likewise
	(grub_loader_unset): likewise
	(grub_loader_boot): likewise
	* conf/common.rmk: new module boot.mod
	(pkglib_MODULES): add boot.mod
	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
	(grub_emu_SOURCES): likewise
	* conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise
	* conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
	(grub_emu_SOURCES): likewise

2009-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes

	* kern/misc.c (grub_itoa): Removed function
	(grub_ltoa): likewise
	(grub_vsprintf): use grub_lltoa

2009-04-15  Vladimir Serbinenko  <phcoder@gmail.com>

	Restore grub-emu

	* conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
	* conf/i386-coreboot.rmk: likewise
	* conf/i386-ieee1275.rmk: likewise
	* conf/powerpc-ieee1275.rmk: likewise

2009-04-15  Felix Zielcke  <fzielcke@z-51.de>

	* INSTALL: Add that `./autogen.sh' needs to be run before
	`./configure.'.

2009-04-14  Bean  <bean123ch@gmail.com>

	* Makefile.in (pkglib_DATA): Add handler.lst.
	(handler.lst): New rule.

	* conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

	* genhandlerlist.sh: New file.

	* genmk.rb: Add rules to generate handler.lst.

	* include/grub/normal.h (grub_file_getline): New function definition.
	(read_handler_list): Likewise.
	(free_handler_list): Likewise.

	* include/grub/term.h (grub_term_register_input): Add name parameter
	for auto generation of handler.lst.
	(grub_term_register_output): Likewise.

	* normal/handler.c: New file.

	* normal/main.c (get_line): Renamed to grub_file_getline.
	(read_config_file): Use the newly renamed grub_file_getline.
	(read_command_list): Likewise.
	(read_fs_list): Likewise.
	(grub_normal_execute): Call read_handler_list to parse handler.lst.
	(GRUB_MOD_FINI): Call free_handler_list to free handler list.

	* term/efi/console.c (grub_console_init): Add name parameter for auto
	generation of handler.lst.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/console.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* term/usb_keyboard.c: Likewise.

2009-04-14  Bean  <bean123ch@gmail.com>

	* util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
	properly with null character.

2009-04-14  Felix Zielcke  <fzielcke@z-51.de>

	* configure: Remove.
	* config.h.in: Likewise.
	* stamp-h.in: Likewise.
	* DISTLIST: Likewise.
	* conf/common.mk: Likewise.
	* conf/i386-coreboot.mk: Likewise.
	* conf/i386-efi.mk: Likewise.
	* conf/i386-ieee1275.mk: Likewise.
	* conf/i386.mk: Likewise.
	* conf/i386-pc.mk: Likewise.
	* conf/powerpc-ieee1275.mk: Likewise.
	* conf/sparc64-ieee1275.mk: Likewise.
	* conf/x86_64-efi.mk: Likewise.

	* INSTALL: Remove the sentence that Ruby and autoconf are only required if you
	develop on GRUB.

2009-04-14  John Stanley  <jpsinthemix@verizon.net>
	    David S. Miller  <davem@davemloft.net>

	* util/hostdisk.c (make_device_name): Fix buffer length
	calculations.

2009-04-14  Felix Zielcke  <fzielcke@z-51.de>

	* util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
	<sys/param.h> and <sys/sysctl.h>.
	(open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
	to add 0x10 to `kern.geom.debugflags' if it's not already set, before
	opening the device and reset them afterwards.

2009-04-13  Pavel Roskin  <proski@gnu.org>

	* conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
	Reported by John Stanley <jpsinthemix@verizon.net>

2009-04-13  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
	that name for menuentries when appropriate.

2009-04-13  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/10_freebsd.in: Add a missing `fi'.

2009-04-13  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
	to Linux, simply abort telling the user it's no longer supported.

2009-04-13  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
	doesn't exist.  Check also for /boot/kernel/kernel.gz.  Print
	`freebsd_loadenv' only when devices.hints exist.

2009-04-13  Pavel Roskin  <proski@gnu.org>

	* term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.

2009-04-13  Felix Zielcke  <fzielcke@z-51.de>

	* util/i386/pc/grub-install.in (install_drive): Remove the BSD
	partition number.
	(grub_drive): Likewise.

2009-04-13  David S. Miller  <davem@davemloft.net>

	* kern/sparc64/ieee1275/ieee1275.c: New file.
	* include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
	IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
	IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
	IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
	(grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
	grub_ieee1275_alloc_physmem): Declare new exported functions.

	* include/grub/sparc64/ieee1275/loader.h: New file.
	* include/grub/sparc64/ieee1275/memory.h: Likewise.
	* include/grub/sparc64/kernel.h: Likewise.
	* loader/sparc64/ieee1275/linux.c: Likewise.

	* conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
	(grub_fstest_SOURCES): Likewise.

	* util/hostdisk.c (make_device_name): Do not make any assumptions
	about the length of drive names.

	* kern/dl.c (grub_dl_load_file): Close file immediately when
	we are done using it.

2009-04-12  David S. Miller  <davem@davemloft.net>

	* kern/misc.c (grub_ltoa): Fix cast when handling negative
	values.  Noticed by Pavel Roskin.

	* configure.ac: Check for __bswapsi2 and__bswapdi2 using
	target compiler.

	* genmk.rb: Add more flexible image type specification, also
	pass --strip-unneeded to objcopy.
	* conf/i386-pc.rmk: Use *_FORMAT.
	* conf/i386-pc.mk: Rebuilt.

	* disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
	(OFDISK_HASH_SZ): Define.
	(ofdisk_hash): New hash table.
	(ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
	(grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
	instead of device phandle which is not unique.

	* kern/sparc64/ieee1275/init.c: Delete, replace with...
	* kern/sparc64/ieee1275/crt0.S: assembler implementation.
	* include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
	(GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
	GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
	GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
	GRUB_KERNEL_MACHINE_DATA_END): Define.
	(grub_kernel_image_size, grub_total_module_size): Declare.

2009-04-12  Pavel Roskin  <proski@gnu.org>

	 * configure.ac: Change the logic when we check for target tools.
	 Do it when the target is specified and it's different from the
	 specified value of the host.

2009-04-11  Felix Zielcke  <fzielcke@z-51.de>

	* util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
	(grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
	GNU/kFreeBSD. Check if a device is a character device. Use
	DIOCGMEDIASIZE to get the size.
	(convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
	support for GNU/kFreeBSD.
	(grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
	is a character device instead of a block device. Add support for
	FreeBSD device names.

	* util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
	is a character device instead of a block device.

	* util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
	is a character device instead of a block device.

2009-04-11  Andrey Shuvikov  <mr_hyro@yahoo.com>

	* util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
	(grub_util_biosdisk_open) [__FreeBSD__]: Add support for
	FreeBSD. Check if a device is a character device. Use
	DIOCGMEDIASIZE to get the size.
	(convert_system_partition_to_system_disk) [__FreeBSD__]: Add
	support for FreeBSD.
	(grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
	is a character device instead of a block device. Add support for
	FreeBSD device names.

	* util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
	a character device instead of a block device.
	(grub_util_check_char_device): New function.

	* util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
	a character device instead of a block device.

	* include/grub/util/getroot.h (grub_util_check_char_device): New
	prototype.

2009-04-11  David S. Miller  <davem@davemloft.net>

	* conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
	static libgcc.
	* configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
	* include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
	function, if present.
	(__bswapdi2): Likewise.

	* include/grub/sparc64/ieee1275/boot.h: New file.
	* boot/sparc64/ieee1275/boot.S: Likewise.
	* boot/sparc64/ieee1275/diskboot.S: Likewise.

	* kern/misc.c (grub_ltoa): New function.
	(grub_vsprintf): Use it to format 'long' integers.

2009-04-10  David S. Miller  <davem@davemloft.net>

	* disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
	slots are of type grub_ieee1275_cell_t.
	(grub_nand_read): Likewise.
	* kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
	IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
	macros are used to compare values in arg/ret block of the call.
	(grub_ieee1275_finddevice, grub_ieee1275_get_property,
	grub_ieee1275_next_property, grub_ieee1275_get_property_length,
	grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
	grub_ieee1275_instance_to_path, grub_ieee1275_write,
	grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
	grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
	grub_ieee1275_close, grub_ieee1275_set_property,
	grub_ieee1275_set_color): All ieee1275 call arg slots are of type
	grub_ieee1275_cell_t.
	* kern/ieee1275/openfw.c (grub_map): Likewise.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
	grub_ieee1275_phandle_t): Define as grub_unit32_t type.

	* kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
	* kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
	(grub_devalias_iterate): Likewise.

2009-04-10  Vladimir Serbinenko  <phcoder@gmail.com>

	UFS improvements

	* fs/ufs.c (INODE_NBLOCKS): new definition
	(struct grub_ufs_dirent): added fields for non-BSD dirents
	(grub_ufs_get_file_block): fixed double indirect handling
	(grub_ufs_lookup_symlink): use more robust way to determine whether
	symlink is inline
	(grub_ufs_find_file): support for non-BSD dirents
	(grub_ufs_dir): support for non-BSD dirents

2009-04-10  Bean  <bean123ch@gnail.com>

	* include/grub/efi/api.h (grub_efi_configuration_table): Add packed
	attribute, otherwise the size would be wrong for i386 platform.

	* include/grub/pci.h (grub_pci_read_word): New inline function.
	(grub_pci_read_byte): Likewise.
	(grub_pci_write): Likewise.
	(grub_pci_write_word): Likewise.
	(grub_pci_write_byte): Likewise.

	* include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.

	* loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
	(find_framebuf): Scan pci to locate the frame buffer address.

	* commands/efi/fixvideo.c: New file.

	* commands/efi/loadbios.c: Likewise.

	* commands/memrw.c: Likewise.

	* util/grub-dumpbios.in: Likewise.

	* conf/common.rmk (grub-dumpbios): New utility.
	(pkglib_MODULES): New module memrw.mod.
	(memrw_mod_SOURCE): New macro.
	(memrw_mod_CFLAGS): Likewise.
	(memrw_mod_LDFLAGS): Likewise.

	* conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
	fixvideo.mod.
	(loadbios_mod_SOURCE): New macro.
	(loadbios_mod_CFLAGS): Likewise.
	(loadbios_mod_LDFLAGS): Likewise.
	(fixvideo_mod_SOURCE): Likewise.
	(fixvideo_mod_CFLAGS): Likewise.
	(fixvideo_mod_LDFLAGS): Likewise.

	* conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
	fixvideo.mod.
	(loadbios_mod_SOURCE): New macro.
	(loadbios_mod_CFLAGS): Likewise.
	(loadbios_mod_LDFLAGS): Likewise.
	(fixvideo_mod_SOURCE): Likewise.
	(fixvideo_mod_CFLAGS): Likewise.
	(fixvideo_mod_LDFLAGS): Likewise.

2009-04-08  Felix Zielcke  <fzielcke@z-51.de>

	* disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.

2009-04-07  David S. Miller  <davem@davemloft.net>

	* kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
	support for R_SPARC_OLO10 relocations.  Fix compile warning for
	R_SPARC_WDISP30 case.
	* kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.

2009-04-06  Pavel Roskin  <proski@gnu.org>

	* include/grub/misc.h (ARRAY_SIZE): New macro.
	* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
	New macro.
	* loader/i386/linux.c (allocate_pages): Use free_pages().
	(grub_linux_unload): Don't use free_pages().
	(grub_linux_boot): Prevent accessing linux_vesafb_modes with a
	wrong index.  Treat all other modes as text modes.
	(grub_cmd_linux): Initialize vid_mode unconditionally to
	GRUB_LINUX_VID_MODE_NORMAL.  Recognize and support "vga=ask".

	* commands/help.c (print_command_help): Use cmd->prio, not
	cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.

2009-04-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Parttool

	* parttool/pcpart.c: new file
	* commands/parttool.c: likewise
	* conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
	(parttool_mod_SOURCES): new variable
	(parttool_mod_CFLAGS): likewise
	(parttool_mod_LDFLAGS): likewise
	(pcpart_mod_SOURCES): likewise
	(pcpart_mod_CFLAGS): likewise
	(pcpart_mod_LDFLAGS): likewise
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
	and parttool/pcpart.c
	* 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-ieee1275.rmk: likewise

2009-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for mtime and further expandability of dir command

	* include/grub/lib/datetime.h: moved to ...
	* include/grub/datetime.h: ... moved here and added
	declaration of grub_unixtime2datetime. All users updated
	* include/grub/fs.h: new syntax for dir and mtime functions in
	struct grub_fs
	* include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
	and GRUB_FSHELP_FLAGS_MASK
	* commands/ls.c (grub_ls_list_files): Write mtime in long format
	* fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
	(grub_ext2_mtime): new function
	* fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
	(grub_hfsplus_mtime): new function
	* fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
	(GRUB_UFS_ATTR_FILE): likewise
	(GRUB_UFS_ATTR_LNK): likewise
	(struct grub_ufs_sblock): new fields mtime
	(grub_ufs_read_inode): new parameter to read inode to a separate buffer
	all users updated
	(grub_ufs_dir): mtime support
	(grub_ufs_mtime): new function
	* fs/affs.c (grub_affs_dir): use new dir syntax
	* fs/afs.c (grub_afs_dir): likewise
	* fs/cpio.c (grub_cpio_dir): likewise
	* fs/fat.c (grub_fat_find_dir): likewise
	* fs/hfs.c (grub_hfs_dir): likewise
	* fs/iso9660.c (grub_iso9660_dir): likewise
	* fs/jfs.c (grub_jfs_dir): likewise
	* fs/minix.c (grub_minix_dir): likewise
	* fs/ntfs.c (grub_ntfs_dir): likewise
	* fs/reiserfs.c (grub_reiserfs_dir): likewise
	* fs/sfs.c (grub_sfs_dir): likewise
	* fs/xfs.c (grub_xfs_dir): likewise
	* util/hostfs.c (grub_hostfs_dir): likewise
	* lib/datetime.c: moved to ...
	* normal/datetime.c: ... moved here
	(grub_unixtime2datetime): new function
	* kern/rescue.c (grub_rescue_print_files): use new dir syntax
	* normal/completion.c (iterate_dir): use new dir syntax
	* normal/misc.c (grub_normal_print_device_info): tell the
	last modification time of a volume
	* kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
	* conf/common.rmk: added lib/datetime.c to ls.mod
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
	(normal_mod_SOURCES): likewise
	(datetime_mod_SOURCES): Removed lib/datetime.c
	* 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

2009-04-05  Vladimir Serbinenko  <phcoder@gmail.com>

	Trim trailing spaces in FAT label and support mtools-like labels

	* fs/fat.c (grub_fat_iterate_dir): New function based
	on grub_fat_find_dir
	(grub_fat_find_dir): use grub_fat_iterate_dir
	(grub_fat_label): likewise

2009-04-04  Vladimir Serbinenko  <phcoder@gmail.com>

	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
	and command.h
	remove extraneous kernel_elf_HEADERS

2009-04-04  Bean  <bean123ch@gnail.com>

	* include/grub/util/misc.h: Add dummy function fsync for mingw.

	* util/misc.c: Likewise.

2009-04-04  Yoshinori K. Okuji  <okuji@enbug.org>

	* loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
	instead of grub_printf.

2009-04-03  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/linux.c (grub_linux_setup_video): Fill
	`params->{red,green,blue,reserved}_{mask_size,field_pos}' with
	values from `mode info' structure instead of hardcoded
	values.

2009-04-01  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Remove all references to MODULE_LDFLAGS, it's
	unused now.
	* genmk.rb: Likewise.
	* configure.ac: Likewise.

2009-04-01  Manoel Abranches  <mrabran@linux.vnet.ibm.com>

	* aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
	TARGET_LDFLAGS.  This corrects a problem with grub-mkelfimage.

2009-04-01  David S. Miller  <davem@davemloft.net>

	* normal/sparc64/setjmp.S: Fix setjmp implementation.
	* include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
	(grub_setjmp): Mark with 'returns_twice' attribute.
	* include/grub/i386/setjmp.h (grub_setjmp): Likewise
	* include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
	* include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.

2009-04-01  Robert Millan  <rmh@aybabtu.com>

	Reapply fix from 2008-07-28 which was accidentally reverted; also
	perform the same fix to a similar check in same function.

	* disk/raid.c (grub_raid_scan_device): Do not abort when two disks
	with the same number are found, just use issue a warning with
	grub_dprintf(), as this error has been reported to be non-fatal.

2009-03-31  Pavel Roskin  <proski@gnu.org>

	* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
	for cross-compilation.

2009-03-30  Robert Millan  <rmh@aybabtu.com>

	Fix i386-ieee1275 build.

	* include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
	Remove declaration.

2009-03-30  Pavel Roskin  <proski@gnu.org>

	* fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
	(grub_hfs_cmp_catkeys): ... this.  Don't assume strings to be
	zero-terminated, rely only on the strlen value.  Fix comparison
	of strings differing in length.

2009-03-30  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/linux.c (grub_cmd_linux): Check for zImage before
	checking for abi version.  Improve error messages on BIOS to notify
	user about `linux16' command.

2009-03-29  Vladimir Serbinenko  <phcoder@gmail.com>

	Leak fixes

	* kern/disk.c (grub_disk_cache_store): Invalidate previous cache
	in case of collision
	* disk/scsi.c (grub_scsi_open): free scsi in case of error

2009-03-29  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
	set `vid_mode' accordingly.
	(grub_linux_boot): Process `vid_mode' and set video mode.

2009-03-29  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in (linux_entry): New function.
	Factorize generation of Linux boot entries.

2009-03-29  Yoshinori K. Okuji  <okuji@enbug.org>

	Make the format of Environment Block plain text. The boot loader
	part is not tested well yet.

	* util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
	(buffer): Removed.
	(envblk): Likewise.
	(usage): Remove "info" and "clear". Add "unset". Update the
	description of "set", as this does not delete variables any
	longer.
	(create_envblk_file): Complete rewrite.
	(open_envblk_file): Likewise.
	(cmd_info): Removed.
	(cmd_list): Likewise.
	(cmd_set): Likewise.
	(cmd_clear): Likewise.
	(list_variables): New function.
	(write_envblk): Likewise.
	(set_variables): Likewise.
	(unset_variables): Likewise.
	(main): Complete rewrite.

	* commands/loadenv.c (buffer): Removed.
	(envblk): Likewise.
	(open_envblk_file): New function.
	(read_envblk_file): Complete rewrite.
	(grub_cmd_load_env): Likewise.
	(grub_cmd_list_env): Likewise.
	(struct blocklist): New struct.
	(free_blocklists): New function.
	(check_blocklists): Likewise.
	(write_blocklists): Likewise.
	(grub_cmd_save_env): Complete rewrite.

	* include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
	a plain text signature.
	(GRUB_ENVBLK_MAXLEN): Removed.
	(struct grub_envblk): Complete rewrite.
	(grub_envblk_find): Removed.
	(grub_envblk_insert): Likewise.
	(grub_envblk_open): New prototype.
	(grub_envblk_set): Likewise.
	(grub_envblk_delete): Put const to VALUE.
	(grub_envblk_iterate): Put const to NAME and VALUE.
	(grub_envblk_close): New prototype.
	(grub_envblk_buffer): New inline function.
	(grub_envblk_size): Likewise.

	* lib/envblk.c: Include grub/mm.h.
	(grub_env_find): Removed.
	(grub_envblk_open): New function.
	(grub_envblk_close): Likewise.
	(escaped_value_len): Likewise.
	(find_next_line): Likewise.
	(grub_envblk_insert): Removed.
	(grub_envblk_set): New function.
	(grub_envblk_delete): Complete rewrite.
	(grub_envblk_iterate): Likewise.

2009-03-28  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
	(linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
	variables.  Use 16-bit loader.
	(linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
	loader.
	* kern/i386/loader.S (grub_linux_boot): Rename to ...
	(grub_linux16_boot): ... this.  Update all users.
	* loader/i386/linux.c (grub_linux32_boot): Rename to ...
	(grub_linux_boot): ... this.  Update all users.

	* loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
	(GRUB_MOD_INIT(linux16)): ... this.  Rename `linux' and `initrd'
	commands to `linux16' and `initrd16'.
	(GRUB_MOD_FINI(linux)): Rename to ...
	(GRUB_MOD_FINI(linux16)): ... this.

2009-03-24  Pavel Roskin  <proski@gnu.org>

	* genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
	not just for compilation.

2009-03-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Move multiboot helper out of kernel

	* conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
	`loader/i386/multiboot_helper.S'.
	* conf/i386-coreboot.rmk: Likewise
	* conf/i386-ieee1275.rmk: Likewise

	* kern/i386/loader.S: Move multiboot helpers from here...
	* loader/i386/multiboot_helper.S: ...moved here
	* include/grub/i386/loader.h: Move declarations of multiboot
	helpers from here...
	* include/grub/i386/multiboot.h: ...moved here
	* loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h

2009-03-22  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/env.c (grub_env_context_open): Added an argument to specify
	whether a new context inherits exported variables from current
	one. This is useful when making a sandbox to interpret a config
	file.
	All callers updated.

	* include/grub/env.h (grub_env_context_open): Updated the prototype.

2009-03-22  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/env.c (grub_env_context_close): Fix memory leaks.

2009-03-22  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/main.c (grub_normal_execute): Added an argument
	BATCH to specify if an interactive interface should be provided
	after reading a config file.
	All callers updated.
	(read_command_list): Prevent being executed twice.
	(read_fs_list): Likewise.

	* include/grub/normal.h (grub_normal_execute): Updated the
	prototype.

2009-03-22  Pavel Roskin  <proski@gno.org>

	* kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
	_start.
	* kern/i386/pc/startup.S: Likewise.
	* kern/i386/efi/startup.S: Likewise.
	* kern/i386/ieee1275/startup.S: Likewise.
	* kern/i386/coreboot/startup.S: Likewise.
	* kern/x86_64/efi/startup.S: Likewise.

	* aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
	* configure.ac: Don't call grub_CHECK_START_SYMBOL.
	* kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.

2009-03-21  Vladimir Serbinenko  <phcoder@gmail.com>

	Bugfixes in multiboot for bugs uncovered by solaris kernel.

	* loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
	limit detection.
	Use vaddr of correct segment for entry_point.

2009-03-21  Bean  <bean123ch@gmail.com>

	* commands/blocklist.c: Add include file <grub/command.h>, remove
	<grub/normal.h> and <grub/arg.h>.
	(grub_cmd_blocklist): Use the new command interface.
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* commands/boot.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/configfile.c: Likewise.
	* commands/crc.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/halt.c: Likewise.
	* commands/handler.c: Likewise.
	* commands/hdparm.c: Likewise.
	* commands/help.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/lsmmap.c: Likewise.
	* commands/lspci.c: Likewise.
	* commands/loadenv.c: Likewise.
	* commands/read.c: Likewise.
	* commands/reboot.c: Likewise.
	* commands/search.c: Likewise.
	* commands/sleep.c: Likewise.
	* commands/test.c: Likewise.
	* commands/usbtest.c: Likewise.
	* commands/videotest.c: Likewise.
	* commands/i386/cpuid.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/pxecmd.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/ieee1275/suspend.c: Likewise.
	* disk/loopback.c: Likewise.
	* font/font_cmd.c: Likewise.
	* hello/hello.c: Likewise.
	* loader/efi/appleloader.c: Likewise.
	* loader/efi/chainloader.c: Likewise.
	* loader/i386/bsd.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/ieee1275/linux.c: Likewise.
	* loader/i386/linux.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/terminfo.c: Likewise.

	* term/i386/pc/vesafb.c: Removed <grub/arg.h>.
	* term/i386/pc/vga.c: Likewise.
	* video/readers/jpeg.c: Likewise.
	* video/readers/png.c: Likewise.
	* video/readers/tga.c: Likewise.

	* util/grub-fstest (cmd_loopback): Removed.
	(cmd_blocklist): Likewise.
	(cmd_ls): Likewise.
	(grub_register_command): Likewise.
	(grub_unregister_command): Likewise.
	(execute_command): Use grub_command_find to locate command and execute
	it.

	* include/grub/efi/chainloader.h: Removed.
	* loader/efi/chainloader_normal.c: Likewise.
	* loader/i386/bsd_normal.c: Likewise.
	* loader/i386/pc/chainloader_normal.c: Likewise.
	* loader/i386/pc/multiboot_normal.c: Likewise.
	* loader/linux_normal.c: Likewise.
	* loader/multiboot_loader_normal.c: Likewise.
	* loader/powerpc/ieee1275/linux_normal.c: Likewise.

	* gencmdlist.sh: Scan new registration command grub_register_extcmd
	and grub_register_command_p1.

	* conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
	kern/command.c, lib/arg.c and commands/extcmd.c.
	(pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
	(minicmd_mod_SOURCES): New variable.
	(minicmd_mod_CFLAGS): Likewise.
	(minicmd_mod_LDFLAGS): Likewise.
	(extcmd_mod_SOURCES): Likewise.
	(extcmd_mod_CFLAGS): Likewise.
	(extcmd_mod_LDFLAGS): Likewise.
	(boot_mod_SOURCES): Removed.
	(boot_mod_CFLAGS): Likewise.
	(boot_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
	kern/corecmd.c.
	(kernel_img_HEADERS): Add command.h.
	(grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
	commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
	and lib/arg.c.
	(pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
	_multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
	remove the corresponding normal mode command.
	(normal_mod_SOURCES): Remove normal/arg.c.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

	* include/grub/arg.h: Move from here ...
	* include/grub/lib/arg.h: ... to here.

	* normal/arg.c: Move from here ...
	* lib/arg.c: ... to here.

	* commands/extcmd.c: New file.
	* commands/minicmd.c: Likewise.
	* include/grub/command.h: Likewise.
	* include/grub/extcmd.h: Likewise.
	* kern/command.c: Likewise.
	* kern/corecmd.c: Likewise.

	* kern/list.c (grub_list_iterate): Return int instead of void.
	(grub_list_insert): New function.
	(grub_prio_list_insert): Likewise.

	* kern/rescue.c (grub_rescue_command): Removed.
	(grub_rescue_command_list): Likewise.
	(grub_rescue_register_command): Likewise.
	(grub_rescue_unregister_command): Likewise.
	(grub_rescue_cmd_boot): Move to minicmd.c
	(grub_rescue_cmd_help): Likewise.
	(grub_rescue_cmd_info): Likewise.
	(grub_rescue_cmd_boot): Likewise.
	(grub_rescue_cmd_testload): Likewise.
	(grub_rescue_cmd_dump): Likewise.
	(grub_rescue_cmd_rmmod): Likewise.
	(grub_rescue_cmd_lsmod): Likewise.
	(grub_rescue_cmd_exit): Likewise.
	(grub_rescue_print_devices): Moved to corecmd.c.
	(grub_rescue_print_files): Likewise.
	(grub_rescue_cmd_ls): Likewise.
	(grub_rescue_cmd_insmod): Likewise.
	(grub_rescue_cmd_set): Likewise.
	(grub_rescue_cmd_unset): Likewise.
	(attempt_normal_mode): Use grub_command_find to get normal module.
	(grub_enter_rescue_mode): Use grub_register_core_commands to register
	commands, remove grub_rescue_register_command calls.

	* normal/command.c (grub_register_command): Removed.
	(grub_unregister_command): Likewise.
	(grub_command_find): Likewise.
	(grub_iterate_commands): Likewise.
	(rescue_command): Likewise.
	(export_command): Moved to corecmd.c.
	(set_command): Removed.
	(unset_command): Likewise.
	(insmod_command): Likewise.
	(rmmod_command): Likewise.
	(lsmod_command): Likewise.
	(grub_command_init): Likewise.

	* normal/completion.c (iterate_command): Use cmd->prio to check for
	active command.
	(complete_arguments): Use grub_extcmd_t structure to find options.
	(grub_normal_do_completion): Change function grub_iterate_commands to
	grub_command_iterate.

	* normal/execute.c (grub_script_execute_cmd): No need to parse
	argument here.

	* normal/main.c (grub_dyncmd_dispatcher): New function.
	(read_command_list): Register unload commands as dyncmd.
	(grub_cmd_normal): Use new command interface, register rescue,
	unregister normal at entry, register normal, unregister rescue at exit.

	* include/grub/list.h (grub_list_test_t): New type.
	(grub_list_iterate): Return int instead of void.
	(grub_list_insert): New function.
	(GRUB_AS_NAMED_LIST_P): New macro.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	(GRUB_PRIO_LIST_PRIO_MASK): New constant.
	(GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
	(grub_prio_list): New structure.
	(grub_prio_list_insert): New function.
	(grub_prio_list_remove): New inline function.

	* include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
	(GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
	(GRUB_COMMAND_FLAG_MENU): Likewise.
	(GRUB_COMMAND_FLAG_BOTH): Likewise.
	(GRUB_COMMAND_FLAG_TITLE): Likewise.
	(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
	(GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
	(GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
	(grub_command): Likewise.
	(grub_register_command): Likewise.
	(grub_command_find): Likewise.
	(grub_iterate_commands): Likewise.
	(grub_command_init): Likewise.
	(grub_arg_parse): Likewise.
	(grub_arg_show_help): Likewise.

	* include/grub/rescue.h (grub_rescue_register_command): Removed.
	(grub_rescue_unregister_command): Likewise.

	* include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
	grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
	grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.

	* include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
	grub_rescue_cmd_initrd.
	* include/grub/i386/loader.h: Likewise.
	* include/grub/x86_64/loader.h: Likewise.

	* include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.

2009-03-21  Bean  <bean123ch@gmail.com>

	* util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
	instead of stat in mingw environment.

	* util/misc.c (grub_millisleep): Use Sleep in mingw environment.

	* aclocal.m4 (grub_CHECK_LINK_DIR): New function.

	* configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
	AC_CONFIG_LINKS.

2009-03-21  Bean  <bean123ch@gmail.com>

	* fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
	out of range error.

2009-03-18  Michel Dänzer  <michel@daenzer.net>

	* fs/ext2.c (grub_ext2_read_block): Take endianness into account when
	checking inode flags for EXT4_EXTENTS_FLAG.

2009-03-18  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/linux.c: Include `<grub/video.h>' and
	`<grub/i386/pc/vbe.h>'..
	(grub_linux_setup_video): New function.  Loosely based on the EFI one.
	(grub_linux32_boot): Attempt to configure video settings with
	grub_linux_setup_video().
	(grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
	to avoid grub_console_fini() which would step out of graphical mode
	unconditionally.

2009-03-14  Robert Millan  <rmh@aybabtu.com>

	Fix build on powerpc.
	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.

2009-03-12  Vladimir Serbinenko  <phcoder@gmail.com>

	* term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
	background image command.

2009-03-12  Colin D Bennett  <colin@gibibit.com>

	* term/gfxterm.c (draw_cursor): Ensure character is redrawn.
	(grub_gfxterm_putchar): Extract pairs of identical calls to
	draw_cursor out of conditional blocks.

2009-03-11  Pavel Roskin  <proski@gnu.org>

	* fs/hfs.c (grub_hfs_strncasecmp): New function.
	(grub_hfs_cmp_catkeys): Use HFS specific string comparison.

2009-03-11  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/multiboot_elfxx.c
	(CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.

2009-03-11  Felix Zielcke  <fzielcke@z-51.de>

	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
	`kern/handler.c'.

2009-03-11  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/multiboot.c (code_size): New variable.
	(grub_multiboot): Define offsets by adding to `code_size' rather
	than subtracting from `grub_multiboot_payload_size'.  Provide
	4-byte alignment to MBI and others by increasing
	`boot_loader_name_length' appropriately.

	* loader/i386/multiboot_elfxx.c
	(CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.

2009-03-09  Felix Zielcke  <fzielcke@z-51.de>

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
	`fs/ext2.c'.

2009-03-08  Robert Millan  <rmh@aybabtu.com>

	Make loader/i386/linux.c usable on i386-pc again.

	* kern/i386/pc/init.c (grub_machine_init): Disable addition of low
	memory to heap.
	* loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
	`#error' stanza.

2009-03-07  Bean  <bean123ch@gmail.com>

	* loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
	allocation.

2009-03-06  Robert Millan  <rmh@aybabtu.com>

	Fix display issue on terminals with screen size other than 80x25
	(e.g. gfxterm with resolution higher than 640x480).

	* normal/main.c (grub_normal_init_page): Display title text in a
	position relative to the center of the terminal instead of relying
	on a hardcoded offset.

2009-03-04  Robert Millan  <rmh@aybabtu.com>

	Filter /etc/grub.d/10_* so that only add-ons for native kernels are
	installed.

	* Makefile.in (host_kernel): New variable.
	* conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
	scripts instead of just the windows one.
	* configure.ac: Initialize and AC_SUBST `host_kernel'.

2009-03-04  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
	`kern/handler.c'.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

2009-03-04  Felix Zielcke  <fzielcke@z-51.de>

	* partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
	or if there's no space for the disk label and print the partition number on a
	invalid magic.

2009-03-04  Felix Zielcke  <fzielcke@z-51.de>

	* util/misc.c: Include <time.h>.
	(grub_millisleep): New function.

2009-03-04  Bean  <bean123ch@gmail.com>

	* configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
	another option -mno-red-zone.

	* commands/handler.c: Change module description.

	* kern/handler.c: Add missing space at the end of description line.

	* kern/list.c: Likewise.

2009-03-03  Robert Millan  <rmh@aybabtu.com>

	Move more components to the relocation area, and fix mbi pointer
	handling to use the destination rather than the origin (thanks to
	Vladimir Serbinenko for spotting).

	* loader/i386/multiboot.c (mbi_dest): New variable.
	(grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
	(grub_multiboot): Put cmdline, boot_loader_name and mbi in the
	relocation area.

2009-03-01  Bean  <bean123ch@gmail.com>

	* include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
	(GRUB_EFI_ACPI_TABLE_GUID): Likewise.
	(GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
	(GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.

	* loader/i386/efi/linux.c (acpi_guid): New variable.
	(acpi_guid): Likewise.
	(EBDA_SEG_ADDR): New constant.
	(LOW_MEM_ADDR): Likewise.
	(FAKE_EBDA_SEG): Likewise.
	(fake_bios_data): New function.
	(grub_linux_boot): Call fake_bios_data.

2009-03-01  Bean  <bean123ch@gmail.com>

	* commands/terminal.c: Removed.

	* commands/handler.c: New file.

	* include/grub/list.h: Likewise.

	* include/grub/handler.h: Likewise.

	* kern/list.c: Likewise.

	* kern/handler.c: Likewise.

	* kern/term.h: Include header file <grub/handler.h>.
	(grub_term_input): Move next field to the beginning.
	(grub_term_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.
	(grub_term_register_input): Changed to inline function.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(grub_term_set_current_input): Likewise.
	(grub_term_set_current_output): Likewise.
	(grub_term_get_current_input): Likewise.
	(grub_term_get_current_output): Likewise.
	(grub_term_iterate_input): Removed.
	(grub_term_iterate_output): Likewise.

	* kern/term.c (grub_term_list_input): Removed.
	(grub_term_list_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.
	(grub_cur_term_input): Change variable as macro.
	(grub_cur_term_output): Likewise.
	(grub_term_register_input): Removed.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(grub_term_set_current_input): Likewise.
	(grub_term_set_current_output): Likewise.
	(grub_term_iterate_input): Likewise.
	(grub_term_iterate_output): Likewise.
	(grub_term_get_current_input): Likewise.
	(grub_term_get_current_output): Likewise.

	* util/grub-editenv.c: Include header file <grub/handler.h>.
	(grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.

	* util/grub-fstest.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.

	* util/grub-probe.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.

	* util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.

	* conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
	(terminal_mod_SOURCES): Likewise.
	(terminal_mod_CFLAGS): Likewise.
	(terminal_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_img_SOURCES): Add list.c and handler.c.
	(kernel_img_HEADERS): Add list.h and handler.h.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_mod_SOURCES): Add list.c and handler.c.
	(kernel_mod_HEADERS): Add list.h and handler.h.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_mod_SOURCES): Add list.c and handler.c.
	(kernel_mod_HEADERS): Add list.h and handler.h.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

2009-02-27  Robert Millan  <rmh@aybabtu.com>

	Factorize elf32 / elf64 code in Multiboot loader.  This will
	prevent it from getting out of sync again.

	* loader/i386/multiboot.c (grub_multiboot_is_elf32,
	grub_multiboot_load_elf32, grub_multiboot_is_elf64,
	grub_multiboot_load_elf64): Move from here ...
	* loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
	grub_multiboot_load_elf): ... to here (new file).

2009-02-27  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in: Rename "single-user mode" to
	"recovery mode".

2009-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Don't leak in SCSI code.
	* disk/scsi.c (grub_scsi_close): free `scsi'.

2009-02-27  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c: Move from here ...
	* loader/i386/multiboot.c: ... to here.  Update all users.

2009-02-27  Robert Millan  <rmh@aybabtu.com>

	Patch from Alexandre Bique <bique.alexandre@gmail.com>
	* util/i386/pc/grub-setup.c (setup): Fix directory path.

2009-02-27  Krzysztof Smiechowicz  <deadwood@wp.pl>

	* fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
	b-tree.

2009-02-27  Robert Millan  <rmh@aybabtu.com>

	* kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
	`0x' qualifier as 0 when base is specified as parameter).

2009-02-24  Bean  <bean123ch@gmail.com>

	* configure.ac: Check for -mcmodel=large in x86_64 target.

	* include/grub/efi/api.h (efi_call_10): New macro.
	(efi_wrap_10): New function.

	* include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
	(GRUB_PE32_REL_BASED_HIGH): Likewise.
	(GRUB_PE32_REL_BASED_LOW): Likewise.
	(GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
	(GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
	(GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
	(GRUB_PE32_REL_BASED_SECTION): Likewise.
	(GRUB_PE32_REL_BASED_REL): Likewise.
	(GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
	(GRUB_PE32_REL_BASED_DIR64): Likewise.
	(GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.

	* kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
	issue.

	* kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
	(efi_wrap_10): New function.

	* kern/x86_64/efi/startup.S (codestart): Use relative addressing.

	* loader/efi/appleloader.c (devpath_5): Add support for late 2008
	MB/MBP model (NV chipset).
	(devdata_devs): Add devpath_5 to the list.

	* load/i386/efi/linux.c (video_base): Remove variable.
	(RGB_MASK): New macro.
	(RGB_MAGIC): Likewise.
	(LINE_MIN): Likewise.
	(LINE_MAX): Likewise.
	(FBTEST_STEP): Likewise.
	(FBTEST_COUNT): Likewise.
	(fb_list): New variable.
	(grub_find_video_card): Remove function.
	(find_framebuf): New function.
	(grub_linux_setup_video): Use find_framebuf to get frame buffer and
	line length.

	* util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
	problem for x86_64.

2009-02-22  Vesa Jääskeläinen  <chaac@nic.fi>

	Patch #25624 by Kevin Lacquement <kevin@lacqui>.

	* util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
	coding tool name.

2009-02-22  Robert Millan  <rmh@aybabtu.com>

	* include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
	* loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
	in our relocation, instead of using it directly from heap.  Also
	use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.

2009-02-21  Robert Millan  <rmh@aybabtu.com>

	Implement USB keyboard support (based on patch by Marco Gerards)

	* conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
	(usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
	(usb_keyboard_mod_LDFLAGS): New variables.

	* term/usb_keyboard.c: New file.

2009-02-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Corrected wrong declaration

	* kern/disk.c: corrected declaration of grub_disk_ata_pass_through.

2009-02-14  Christian Franke  <franke@computer.org>

	* commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
	(grub_lspci_iter): Print class code and programming interface byte.

2009-02-14  Christian Franke  <franke@computer.org>

	* gendistlist.sh: Ignore `.svn' directories.

2009-02-14  Felix Zielcke  <fzielcke@z-51.de>

	* fs/fat.c: Add 2009 to Copyright line.

2009-02-14  Christian Franke  <franke@computer.org>

	* commands/hdparm.c: New file.  Provides `hdparm' command
	which sends ATA commands via grub_disk_ata_pass_through ().

	* conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.

	* disk/ata.c: Include <grub/ata.h>.  Move <grub/misc.h>
	and <grub/cpu/io.h> to include/grub/ata.h.
	(enum grub_ata_addressing_t): Move to include/grub/ata.h.
	(GRUB_CDROM_SECTOR_SIZE): Remove.
	(GRUB_ATA_*): Move to include/grub/ata.h.
	(GRUB_ATAPI_*): Likewise.
	(enum grub_ata_commands): Likewise.
	(enum grub_ata_timeout_milliseconds): Likewise.
	(struct grub_ata_device): Likewise.
	(grub_ata_regset): Likewise.
	(grub_ata_regget): Likewise.
	(grub_ata_regset2): Likewise.
	(grub_ata_regget2): Likewise.
	(grub_ata_check_ready): Likewise.
	(grub_ata_wait_not_busy): Remove static, exported in
	include/grub/ata.h.
	(grub_ata_wait_drq): Likewise.
	(grub_ata_pio_read): Likewise.

	* disk/ata_pthru.c: New file.  Provides grub_ata_pass_through ()
	function for hdparm.mod.

	* include/grub/ata.h: New file, contains declarations from
	disk/ata.c.
	(enum grub_ata_commands): Add new commands for commands/hdparm.c.

	* include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
	(grub_disk_ata_pass_through): New exported variable.

	* kern/disk.c (grub_disk_ata_pass_through): New variable.

2009-02-13  Colin D Bennett  <colin@gibibit.com>

	Support multiple fallback entries, and provide an API to support
	executing default+fallback menu entries.  Renamed the `terminal' menu
	viewer to `text'.

	* include/grub/normal.h (grub_normal_text_menu_viewer): New global
	variable declaration.
	(grub_menu_execute_callback): New structure declaration.
	(grub_menu_execute_callback_t): New typedef.
	(grub_menu_execute_with_fallback): New function declaration.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.

	* normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.

	* normal/menu.c (grub_wait_after_message): Moved to
	`normal/menu_text.c'.
	(draw_border): Likewise.
	(print_message): Likewise.
	(print_entry): Likewise.
	(print_entries): Likewise.
	(grub_menu_init_page): Likewise.
	(get_entry_number): Likewise.
	(print_timeout): Likewise.
	(run_menu): Likewise.
	(grub_menu_execute_entry): Likewise.
	(show_text_menu): Likewise.
	(get_and_remove_first_entry_number): New function.
	(grub_menu_execute_with_fallback): Likewise.
	(get_entry): Renamed to ...
	(grub_menu_get_entry): .. this and made it global.
	(get_timeout): Renamed to ...
	(grub_menu_get_timeout): ... this and made it global.
	(set_timeout): Renamed to ...
	(grub_menu_set_timeout): ... this and made it global.
	(grub_normal_terminal_menu_viewer): Renamed to ...
	(grub_normal_text_menu_viewer): ... this.

	* normal/menu_text.c: New file.  Extracted text-menu-specific code
	from normal/menu.c.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

2009-02-11  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Update old reference to `font' command.

2009-02-10  Felix Zielcke  <fzielcke@z-51.de>

	* fs/fat.c (grub_fat_mount): Fix wrong comparison.

	Based on patch from Javier Martín.

2009-02-09  Felix Zielcke  <fzielcke@z-51.de>

	* conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
	to avoid false positives with FAT.
	(grub_fstest_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

2009-02-09  Felix Zielcke  <fzielcke@z-51.de>

	* fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
	bpb.version_specific.fat12_or_fat16.fstype and
	bpb.version_specific.fat32.fstype.

2009-02-08  Robert Millan  <rmh@aybabtu.com>

	* fs/tar.c: Replace "fs/cpio.c" with "cpio.c".

2009-02-08  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in (host_os, host_cpu): New variables.
	(target_os): Remove.  Update all users.

2009-02-08  Marco Gerards  <marco@gnu.org>

	* Makefile.in (enable_grub_emu_usb): New variable.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
	(grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
	`util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
	(grub_emu_LDFLAGS): Add `$(LIBUSB)'.
	(pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
	`usbtest.mod' and `usbms.mod'.
	(usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
	(usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
	(uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
	(ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
	(usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
	variables.

	* disk/usbms.c: New file.

	* include/grub/usb.h: Likewise.

	* include/grub/usbtrans.h: Likewise.

	* include/grub/usbdesc.h: Likewise.

	* bus/usb/usbtrans.c: Likewise.

	* bus/usb/ohci.c: Likewise.

	* bus/usb/uhci.c: Likewise.

	* bus/usb/usbhub.c: Likewise.

	* bus/usb/usb.c: Likewise.

	* commands/usbtest.c: Likewise.

	* util/usb.c: Likewise.

	* include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.

	* configure.ac: Test for libusb presence.

	* util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.

2009-02-08  Vesa Jääskeläinen  <chaac@nic.fi>

	* kern/mm.c: Add more comments.

2009-02-08  Robert Millan  <rmh@aybabtu.com>

	Patch from Javier Martín.
	* fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
	`EXT4_FEATURE_INCOMPAT_FLEX_BG'.

2009-02-08  Robert Millan  <rmh@aybabtu.com>

	* fs/cpio.c: Split tar functionality to ...
	* fs/tar.c: ... here (new file).  Update all users.

2009-02-07  Robert Millan  <rmh@aybabtu.com>

	* fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
	backward-incompatible features.

	Based on patch from Javier Martín, with some adjustments.

2009-02-07  Michael Scherer  <misc@mandriva.org>

	* fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.

2009-02-07  Robert Millan  <rmh@aybabtu.com>

	* conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
	position of `disk/lvm.c' to ensure grub_init_all() always picks it
	after the RAID stuff.

2009-02-05  Vesa Jääskeläinen  <chaac@nic.fi>

	Fixes problem when running vbetest command as reported by
	Vladimir Serbinenko <phcoder@gmail.com>.

	* (grub_vbe_set_video_mode): Fixed problem with text modes.

2009-02-04  Felix Zielcke  <fzielcke@z-51.de>

	util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
	/dev/md/NpN style mdraid devices.

2009-02-03  Felix Zielcke  <fzielcke@z-51.de>

	* util/unifont2pff.rb: Remove.

2009-02-03  Felix Zielcke  <fzielcke@z-51.de>

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
	`#'.

2009-02-03  Felix Zielcke  <fzielcke@z-51.de>

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

2009-02-02  Christian Franke  <franke@computer.org>

	* lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.

2009-02-01  Felix Zielcke  <fzielcke@z-51.de>

	* INSTALL: Note that we now require at least autoconf 2.59 and
	that LZO is optional.

2009-02-01  Vesa Jääskeläinen  <chaac@nic.fi>

	Base on patch on bug #24154 created by Tomas Tintera
	<trosos@seznam.cz>.

	* video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.

2009-02-01  Vesa Jääskeläinen  <chaac@nic.fi>

	Based on patch on bug #25318 created by Bernhard Rosenkraenzer
	<bero@arklinux.org>.

	* normal/parser.y (script_init): Add missing semicolon.

2009-01-31  Colin D Bennett  <colin@gibibit.com>

	* normal/main.c: Add include to grub/menu_viewer.h.
	(free_menu_entry_classes): Added.
	(grub_normal_menu_addentry): Added class property handling.
	(grub_normal_execute): Changed to use new menu viewer for menu viewing.
	(GRUB_MOD_INIT(normal)): Added register for text based menu viewer.

	* normal/menu_viewer.c: New file.

	* normal/menu.c (run_menu_entry): Renamed to ...
	(grub_menu_execute_entry): ... this and	made it as global.
	(grub_menu_run): Renamed to ...
	(show_text_menu): ... this and made it local.
	(show_text_menu): Adapt to new function names.
	(grub_normal_terminal_menu_viewer): New global variable.

	* include/grub/menu.h: New file.

	* include/grub/menu_viewer.h: New file.

	* include/grub/normal.h: Added include to grub/menu.h.
	(grub_menu_entry): Moved to include/grub/menu.h.
	(grub_menu_entry_t): Likewise.
	(grub_menu): Likewise.
	(grub_menu_t): Likewise.
	(grub_normal_terminal_menu_viewer): Added.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_run): Removed.

	* DISTLIST: Added include/grub/menu.h.
	Added include/grub/menu_viewer.h.
	Added normal/menu_viewer.c.

2009-01-31  Vesa Jääskeläinen  <chaac@nic.fi>

	* normal/execute.c (grub_script_execute_menuentry): Changed to use
	arglist for menutitle arguments.

	* normal/main.c (grub_normal_menu_addentry): Likewise.

	* normal/parser.y (menuentry): Likewise.

	* normal/script.c (grub_script_create_cmdmenu): Likewise.

	* include/grub/script.h (grub_script_cmd_menuentry): Likewise.
	(grub_script_create_cmdmenu): Likewise.

	* include/grub/normal.h (grub_normal_menu_addentry): Likewise.

	* conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
	changes.

	* conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.

2009-01-30  Christian Franke  <franke@computer.org>

	* normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
	in option help text.

2009-01-27  Pavel Roskin  <proski@gnu.org>

	* disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.

2009-01-27  Vesa Jääskeläinen  <chaac@nic.fi>

	* commands/lsmmap.c: Add include to grub/machine/memory.h.

	* fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.

	* term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
	unregister function.

2009-01-27  Vesa Jääskeläinen  <chaac@nic.fi>

	* disk/scsi.c (grub_scsi_read): Fix sign problem.

	* term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.

	* util/grub-mkfont.c (usage): Fix typo.

	* util/elf/grub-mkimage.c (load_modules): Fix warning.

2009-01-26  Daniel Mierswa  <impulze@impulze.org>

	* fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.

	* commands/search.c (search_fs_uuid): Ignore case of the UUID.

	* kern/misc.c (grub_strcasecmp): New function.
	(grub_strcasecmp): Use grub_size_t instead of int for length.
	Fix return value.
	* include/grub/misc.h: Update function prototypes.

2009-01-26  Robert Millan  <rmh@aybabtu.com>

	* configure.ac: Fix cross-compilation check.

2009-01-22  Christian Franke  <franke@computer.org>

	* kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
	(precision) digit string.  Allow `.format2' without `format1' (width).
	Limit input chars for `%s' output to `format2' if specified.  This is
	compatible with standard printf ().

2009-01-22  Christian Franke  <franke@computer.org>

	* disk/ata.c (grub_ata_wait_status): Replace by ...
	(grub_ata_wait_not_busy): ... this function.  Checks only BSY bit,
	other status bits may be invalid while BSY is asserted.
	(grub_ata_check_ready): New function.
	(grub_ata_cmd): Removed.
	(grub_ata_wait_drq): New function.
	(grub_ata_strncpy): Remove inline.
	(grub_ata_pio_read): Reduce to actual block transfer.  BSY wait
	and error check now done by grub_ata_wait_drq ().
	(grub_ata_pio_write): Likewise.
	(grub_atapi_identify): Set DEV before check for !BSY.  Use
	grub_ata_wait_drq () to wait for data.
	(grub_ata_device_initialize): Add status register check to
	detect missing SATA slave devices.  Add debug messages.
	(grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
	(grub_atapi_packet): Set DEV before check for !BSY.  Replace
	transfer loop by grub_ata_pio_write ().
	(grub_ata_identify): Set DEV before check for !BSY. Use
	grub_ata_wait_drq () to wait for data.
	(grub_ata_setaddress): Set DEV before check for !BSY.
	(grub_ata_readwrite): Remove duplicate code, handle batch/rest and
	read/write in one loop.  Fix invalid command on write.  Fix incomplete
	command on (size % batch) == 0.  Add missing error check after write of
	last block.  Add debug messages.
	(grub_atapi_read):  Replace transfer loop by grub_ata_pio_read ().

2009-01-19  Christian Franke  <franke@computer.org>

	* disk/ata.c (GRUB_ATAPI_REG_*): New defines.
	(GRUB_ATAPI_IREASON_*): Likewise.
	(grub_ata_pio_write): Fix timeout error return.
	(grub_atapi_identify): Add grub_ata_wait () after cmd.
	(grub_atapi_wait_drq): New function.
	(grub_atapi_packet): New parameter `size'.
	Use grub_atapi_wait_drq () and direct write instead of
	grub_ata_pio_write ().
	(grub_atapi_read): Replace grub_ata_pio_read () by a loop which
	reads the number of bytes requested by the device for each DRQ
	assertion.
	(grub_atapi_write): Remove old implementation, return not
	implemented instead.

2009-01-19  Christian Franke  <franke@computer.org>

	* disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
	of 512 to calculate data size.
	(grub_scsi_read12): Likewise.
	(grub_scsi_write10): Likewise.
	(grub_scsi_write12): Likewise.
	(grub_scsi_read): Adjust size according to blocksize.
	Add checks for invalid blocksize and unaligned transfer.

2009-01-19  Vesa Jääskeläinen  <chaac@nic.fi>

	* font/font.c (grub_font_loader_init): Re-position unknown glyph.

	* term/gfxterm.c (write_char): Fix background rendering for wide
	width glyphs.

2009-01-19  Robert Millan  <rmh@aybabtu.com>

	* config.guess: Update to latest version from config git.
	* config.sub: Likewise.

2009-01-17  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in: Change font compilation to use new grub-mkfont instead
	of java version.

	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.

2009-01-16  Christian Franke  <franke@computer.org>

	* disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
	(enum grub_ata_timeout_milliseconds): New enum.
	(grub_ata_wait_status): Add parameter milliseconds.
	(grub_ata_cmd): Remove variable `err'.  Remove wait for !DRQ to allow
	recovery from timed-out commands.
	(grub_ata_pio_read): Add parameter milliseconds.  Fix error return,
	return grub_errno instead of REG_ERROR.
	(grub_ata_pio_write): Add parameter milliseconds.
	(grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
	Pass milliseconds to grub_ata_wait_status () and
	grub_ata_pio_read ().
	(grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
	(grub_ata_identify): Remove variable `ataerr'.  Pass milliseconds to
	grub_ata_wait_status ().  Fix IDENTIFY timeout check.
	(grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
	It is not suitable for device detection, because DEV bit is ignored,
	the command may run too long, and not all devices set the signature
	properly.
	(grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
	(grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
	Fix device selection, DEV bit must be set first to address the registers
	of the correct device.
	(grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
	grub_ata_pio_read/write ().
	(grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
	(grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().

2009-01-13  Carles Pina i Estany  <carles@pina.cat>

	* util/grub-editenv.c (main): Use fseeko(), not fseek().

2009-01-13  Bean  <bean123ch@gmail.com>

	* util/grub-mkfont.c (write_font): forget to remove some debug code.

2009-01-13  Bean  <bean123ch@gmail.com>

	* Makefile.in: (enable_grub_mkfont): New variable.
	(freetype_cflags): Likewise.
	(freetype_libs): Likewise.

	* common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
	(grub_mkfont_SOURCES): New variable.
	(grub_mkfont_CFLAGS): Likewise.
	(grub_mkfont_LDFLAGS): Likewise.

	* configure.ac (--enable-grub-mkfont): New option. Check for freetype2
	library if `--enable-grub-mkfont' is requested.
	(enable_grub_mkfont): New variable.
	(freetype_cflags): Likewise.
	(freetype_libs): Likewise.

	* util/grub-mkfont.c: New file.

2009-01-12  Christian Franke  <franke@computer.org>

	* disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
	mode check.  Fix setting of compat_use[].

2009-01-10  Robert Millan  <rmh@aybabtu.com>

	Update a few copyright years which we forgot to do in 2008 (only for
	files whose changes made in 2008 were copyright-significant)

	* Makefile.in: Add 2008 to Copyright line.
	* disk/ieee1275/ofdisk.c: Likewise.
	* disk/efi/efidisk.c: Likewise.
	* kern/dl.c: Likewise.
	* kern/sparc64/ieee1275/init.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* boot/i386/pc/boot.S: Likewise.
	* genfslist.sh: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/ufs.c: Likewise.
	* gensymlist.sh.in: Likewise.
	* genkernsyms.sh.in: Likewise.
	* include/grub/misc.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/elf.h: Likewise.
	* include/grub/kernel.h: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/dl.h: Likewise.
	* include/grub/i386/linux.h: Likewise.
	* include/grub/i386/pc/biosdisk.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/util/misc.h: Likewise.
	* normal/execute.c: Likewise.
	* normal/arg.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/lexer.c: Likewise.
	* normal/parser.y: Likewise.
	* normal/misc.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/hexdump.c: Likewise.
	* commands/terminal.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/help.c: Likewise.
	* partmap/pc.c: Likewise.
	* loader/efi/chainloader.c: Likewise.
	* loader/multiboot_loader.c: Likewise.
	* loader/i386/pc/multiboot2.c: Likewise.
	* term/efi/console.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* util/lvm.c: Likewise.
	* util/console.c: Likewise.
	* util/i386/efi/grub-mkimage.c: Likewise.
	* util/raid.c: Likewise.

2009-01-06  Vesa Jääskeläinen  <chaac@nic.fi>

	* commands/videotest.c: Removed include to grub/machine/memory.h.

	* conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
	videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
	(video_mod_SOURCES): Removed.
	(video_mod_CFLAGS): Likewise.
	(video_mod_LDFLAGS): Likewise.
	(gfxterm_mod_SOURCES): Likewise.
	(gfxterm_mod_CFLAGS): Likewise.
	(gfxterm_mod_LDFLAGS): Likewise.
	(videotest_mod_SOURCES): Likewise.
	(videotest_mod_CFLAGS): Likewise.
	(videotest_mod_LDFLAGS): Likewise.
	(bitmap_mod_SOURCES): Likewise.
	(bitmap_mod_CFLAGS): Likewise.
	(bitmap_mod_LDFLAGS): Likewise.
	(tga_mod_SOURCES): Likewise.
	(tga_mod_CFLAGS): Likewise.
	(tga_mod_LDFLAGS): Likewise.
	(jpeg_mod_SOURCES): Likewise.
	(jpeg_mod_CFLAGS): Likewise.
	(jpeg_mod_LDFLAGS): Likewise.
	(png_mod_SOURCES): Likewise.
	(png_mod_CFLAGS): Likewise.
	(png_mod_LDFLAGS): Likewise.

	* conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
	bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
	(video_mod_SOURCES): Added.
	(video_mod_CFLAGS): Likewise.
	(video_mod_LDFLAGS): Likewise.
	(videotest_mod_SOURCES): Likewise.
	(videotest_mod_CFLAGS): Likewise.
	(videotest_mod_LDFLAGS): Likewise.
	(bitmap_mod_SOURCES): Likewise.
	(bitmap_mod_CFLAGS): Likewise.
	(bitmap_mod_LDFLAGS): Likewise.
	(tga_mod_SOURCES): Likewise.
	(tga_mod_CFLAGS): Likewise.
	(tga_mod_LDFLAGS): Likewise.
	(jpeg_mod_SOURCES): Likewise.
	(jpeg_mod_CFLAGS): Likewise.
	(jpeg_mod_LDFLAGS): Likewise.
	(png_mod_SOURCES): Likewise.
	(png_mod_CFLAGS): Likewise.
	(png_mod_LDFLAGS): Likewise.
	(gfxterm_mod_SOURCES): Likewise.
	(gfxterm_mod_CFLAGS): Likewise.
	(gfxterm_mod_LDFLAGS): Likewise.

	* term/gfxterm.c: Removed include to grub/machine/memory.h,
	grub/machine/console.h.

2009-01-04  Jerone Young  <jerone@gmail.com>

	Make on screen instructions clearer

	Based on patch created by Jidanni <jidanni@jidanni.org>

	* normal/menu.c: print clearer instructions on the screen

2009-01-02  Colin D Bennett  <colin@gibibit.com>

	New font engine.

	Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
	build system and fixed gfxterm.c to work with different	sized fonts.

	* configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.

	* configure: Re-generated.

	* DISTLIST: Removed font/manager.c.
	Added font/font.c.
	Added font/font_cmd.c.

	* Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF.  Added Font tool
	compilation.

	* include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype.  Changed users.

	* kern/misc.c (grub_utf8_to_ucs4): Changed prototype.

	* kern/term.c: Changed users of grub_utf8_to_ucs4.

	* normal/menu.c: Likewise.

	* conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
	(font_mod_SOURCES): Added font/font_cmd.c, font/font.c.

	* include/grub/font.h: Replaced with new file.

	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
	(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
	(GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
	(GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
	(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
	(grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
	fg_red, fg_green, fg_blue, fg_alpha.
	(grub_video_adapter): Removed blit_glyph.
	(grub_video_blit_glyph): Removed.

	* font/manager.c: Removed file.

	* font/font.c: New file.

	* font/font_cmd.c: Likewise.

	* video/video.c (grub_video_blit_glyph): Removed.

	* video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
	(grub_video_vbe_map_rgba): Likewise.
	(grub_video_vbe_unmap_color_int): Likewise.
	(grub_video_vbe_blit_glyph): Removed.
	(grub_video_vbe_adapter): Removed blit_glyph.

	* video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
	(get_pixel): Likewise.
	(set_pixel): Likewise.

	* commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.

	* term/gfxterm.c: Adapted to new font engine.

	* term/i386/pc/vesafb.c: Marked as deprecated.  Made it compile.

	* term/i386/pc/vga.c: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.

	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.

	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.

	* util/grub.d/00_header.in: Changed to use new loadfont command.

	* util/grub-mkconfig_lib.in: Changed font extension.

2008-12-28  Felix Zielcke  <fzielcke@z-51.de>

	* util/getroot.c (grub_util_get_grub_dev): Add support for
	/dev/md/dNNpNN style partitionable mdraid devices.

2008-12-12  Alex Smith  <alex@alex-smith.me.uk>

	* fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
	at a time limit of the PXE TFTP API correctly.
	(grub_pxefs_close): Likewise.

2008-11-29  Robert Millan  <rmh@aybabtu.com>

	* disk/ata.c (grub_ata_pciinit): Handle errors raised by
	grub_ata_device_initialize() calls.

2008-11-28  Krzysztof Smiechowicz  <deadwood@wp.pl>

	* fs/affs.c (grub_affs_iterate_dir): Return failure when directory
	iteration failed.
	* fs/sfs.c (grub_sfs_iterate_dir): Likewise.

2008-11-28  Robert Millan  <rmh@aybabtu.com>

	Fix build on powerpc-ieee1275.  Based on patch created by
	Manoel Abranches <mrabran@linux.vnet.ibm.com>.
	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
	`kern/ieee1275/mmap.c'.
	* include/grub/powerpc/ieee1275/memory.h: New file.

	Provide grub-install on coreboot.
	* conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
	(grub_install_SOURCES): New variable.
	* util/i386/pc/grub-install.in: Add a few condition checks to make it
	usable on coreboot.

2008-11-25  Felix Zielcke  <fzielcke@z-51.de>

	* util/grub-fstest.c (grub_term_get_current_input): Change return type
	to `grub_term_input_t'.
	(grub_term_get_current_output): Change return type to
	`grub_term_output_t'.

2008-11-22  Robert Millan  <rmh@aybabtu.com>

	Fix breakage on coreboot due to declaration mismatch.
	* term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
	(grub_vga_text_term): Use grub_vga_text_init_fini() instead of
	grub_vga_text_cls().

	* kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
	comments.  Avoid copying one more byte than necessary (just in case).

	* conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
	to 0x200000 (avoids trouble with some OFW implementations, and matches
	with the one in Yaboot).
	Reported by Manoel Abranches

2008-11-20  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
	(grub_get_rtc, grub_exit): Abort with grub_fatal() if called.

	* util/grub-mkconfig_lib.in (grub_warn): New function.
	(convert_system_path_to_grub_path): Use grub_warn() when issuing
	warnings, to obtain consistent formatting.
	* util/grub.d/00_header.in: Likewise.
	* util/update-grub_lib.in: Likewise.

	* loader/i386/linux.c (allocate_pages): Fix a warning.
	Move comment text to `#error' stanza.

	Harmonize ieee1275's grub_available_iterate() with the generic
	grub_machine_mmap_iterate() interface (fixes a recently-introduced
	build problem on i386-ieee1275):
	* kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
	* kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here.  Add third
	parameter `type'.  Update all users of this function.
	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
	`kern/ieee1275/mmap.c'.
	* kern/ieee1275/init.c
	* include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
	with ...
	(grub_machine_mmap_iterate): ... this.
	* include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
	return type to `grub_err_t'.  Update all implementations of this
	function prototype.
	* include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
	Likewise.

	Add `lsmmap' command (lists firmware-provided memory map):
	* commands/lsmmap.c: New file.
	* conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
	(lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
	variables.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.

2008-11-19  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
	* loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
	constraints to initrd allocation (based on code from
	loader/i386/pc/linux.c).  Without them, initrd was allocated too high
	for Linux to find it.

2008-11-14  Robert Millan  <rmh@aybabtu.com>

	* fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
	order to cope with duplicate slashes.

2008-11-14  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
	Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000).  We
	don't want to mess with lower memory, because it is used in the Linux
	loader.

	* loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
	an appropriate place in lower memory, between 0x10000 and 0x90000,
	like loader/i386/efi/linux.c does.  Linux often panics if real_mode_mem
	is in our heap (probably as a result of it being corrupted during
	decompression).  Add #error instance with comment to explain why this
	loader isn't currently usable on PC/BIOS.

2008-11-14  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
	(GRUB_SERIAL_PORT_NUM): Fix miscalculation.

2008-11-12  Robert Millan  <rmh@aybabtu.com>

	Make loader/i386/linux.c buildable on i386-pc (although disabled).

	* include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
	(struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
	from here ...
	* include/grub/i386/pc/memory.h: ... to here.

2008-11-12  Robert Millan  <rmh@aybabtu.com>

	Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
	split).

	* include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
	(grub_console_cur_color, grub_console_real_putchar)
	(grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
	(grub_console_setcolorstate, grub_console_setcolor)
	(grub_console_getcolor): Move from here ...
	* include/grub/i386/vga_common.h: ... to here (new file).

	* term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
	`<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
	`<grub/i386/io.h>'.
	* term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
	`<grub/i386/vga_common.h>'.

2008-11-12  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
	* conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
	(vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
	variables.
	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
	`term/i386/pc/console.c' with `term/i386/vga_common.c'.

	* kern/i386/coreboot/init.c (grub_machine_init): Replace call to
	grub_console_init() with call to grub_vga_text_init().
	(grub_machine_fini): Replace call to
	grub_console_fini() with call to grub_vga_text_fini() and
	grub_at_keyboard_fini().

	* include/grub/i386/pc/console.h: Include `<grub/term.h>'.
	(grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
	(grub_console_setcolorstate, grub_console_setcolor)
	(grub_console_getcolor): New function prototypes.

	* term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
	(grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
	(grub_vga_text_setcursor): Static-ize.
	(grub_vga_text_term): New structure.
	(GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.

	* term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
	(grub_console_cur_color, grub_console_standard_color)
	(grub_console_normal_color, grub_console_highlight_color)
	(map_char, grub_console_putchar, grub_console_getcharwidth)
	(grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
	(grub_console_getcolor): Move from here ...
	* term/i386/vga_common.c: ... to here (same function names).

2008-11-12  Robert Millan  <rmh@aybabtu.com>

	Use newly-added Multiboot support in coreboot.

	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
	`kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.

	* kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
	alignment, set `MULTIBOOT_MEMORY_INFO' flag.
	(codestart): Store the MBI in `startup_multiboot_info' when we're
	being loaded using Multiboot.

	* kern/i386/coreboot/init.c (grub_machine_init): Move
	grub_at_keyboard_init() call to beginning of function (useful for
	debugging).  Call grub_machine_mmap_init() before attempting to use
	grub_machine_mmap_iterate().
	(grub_lower_mem, grub_upper_mem): Move from here ...
	* kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
	here (new file).

	* include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
	function prototype.

2008-11-12  Robert Millan  <rmh@aybabtu.com>

	Fix a regression introduced by the at_keyboard.mod split.  Because
	some terminals are default on some platforms and non-default on
	others, the first terminal being registered determines which is
	going to be default.

	* kern/term.c (grub_term_register_input): If this is the first
	terminal being registered, set it as the current one.
	(grub_term_register_output): Likewise.

	* term/efi/console.c (grub_console_init): Do not call
	grub_term_set_current_output() or grub_term_set_current_input().
	* term/ieee1275/ofconsole.c (grub_console_init): Likewise.
	* term/i386/pc/console.c (grub_console_init): Likewise.
	(grub_console_fini): Do not call grub_term_set_current_input()
	(but leave grub_term_set_current_output() to restore text mode).

2008-11-10  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Add backward compatibility check for
	versions of terminal.mod that don't understand `terminal_input' or
	`terminal_output'.

2008-11-09  Robert Millan  <rmh@aybabtu.com>

	* commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
	`terminal_input' / `terminal_output', not `terminal'.

2008-11-08  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in (include_DATA): Fix srcdir=. assumption.
	(DISTCLEANFILES): Add `build_env.mk'.

2008-11-08  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
	`struct grub_term_output'.  Remove `.checkkey' and `.getkey'
	members.  Update all users.
	* util/console.c (grub_ncurses_term): Split in ...
	(grub_ncurses_term_input): ... this, and ...
	(grub_ncurses_term_output): ... this.  Update all users.
	* term/ieee1275/ofconsole.c: Remove stale `#endif'.

2008-11-08  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
	(PKGDATA): Add $(pkgdata_SRCDIR).
	(pkglib_BUILDDIR): New variable.
	(pkgdata_SRCDIR): New variable.
	(build_env.mk): New target.
	(include_DATA): New variable.
	(install-local): Install $(include_DATA) files in $(includedir).

2008-11-07  Pavel Roskin  <proski@gnu.org>

	* gendistlist.sh: Use C locale for sorting to ensure consistent
	output on all systems.

	* util/grub.d/00_header.in: Remove incorrect space before
	"serial".

2008-11-07  Robert Millan  <rmh@aybabtu.com>

	* include/multiboot2.h (struct multiboot_header): Add `flags' member as
	per specification.
	* loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
	* loader/multiboot_loader.c (find_multi_boot2_header): New function
	(based on find_multi_boot1_header).
	(grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
	using find_multi_boot2_header(), and abort if neither Multiboot or
	Multiboot headers were found.

2008-11-07  Robert Millan  <rmh@aybabtu.com>

	Modularize at_keyboard.mod:

	* conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
	(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
	(at_keyboard_mod_LDFLAGS): New variables.

	Actual terminal split:

	* include/grub/term.h (struct grub_term): Split in ...
	(struct grub_term_input): ... this, and ...
	(struct grub_term_output): ... this.  Update all users.
	(grub_term_set_current): Split in ...
	(grub_term_set_current_input): ... this, and ...
	(grub_term_set_current_output): ... this.
	(grub_term_get_current): Split in ...
	(grub_term_get_current_input): ... this, and ...
	(grub_term_get_current_output): ... this.
	(grub_term_register): Split in ...
	(grub_term_register_input): ... this, and ...
	(grub_term_register_output): ... this.
	(grub_term_unregister): Split in ...
	(grub_term_unregister_input): ... this, and ...
	(grub_term_unregister_output): ... this.
	(grub_term_iterate): Split in ...
	(grub_term_iterate_input): ... this, and ...
	(grub_term_iterate_output): ... this.

	* kern/term.c (grub_term_list): Split in ...
	(grub_term_list_input): ... this, and ...
	(grub_term_list_output): ... this.  Update all users.
	(grub_cur_term): Split in ...
	(grub_cur_term_input): ... this, and ...
	(grub_cur_term_output): ... this.  Update all users.
	(grub_term_set_current): Split in ...
	(grub_term_set_current_input): ... this, and ...
	(grub_term_set_current_output): ... this.
	(grub_term_get_current): Split in ...
	(grub_term_get_current_input): ... this, and ...
	(grub_term_get_current_output): ... this.
	(grub_term_register): Split in ...
	(grub_term_register_input): ... this, and ...
	(grub_term_register_output): ... this.
	(grub_term_unregister): Split in ...
	(grub_term_unregister_input): ... this, and ...
	(grub_term_unregister_output): ... this.
	(grub_term_iterate): Split in ...
	(grub_term_iterate_input): ... this, and ...
	(grub_term_iterate_output): ... this.

	* kern/misc.c (grub_abort): Split use of grub_term_get_current() into
	a check for input and one for output (and only attempt to get keys
	from user when input works).

	* util/grub-probe.c (grub_term_get_current): Split in ...
	(grub_term_get_current_input): ... this, and ...
	(grub_term_get_current_output): ... this.
	* util/grub-fstest.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/grub-editenv.c: Likewise.

	Portability adjustments:

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
	`term/i386/pc/at_keyboard.c'.
	* kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
	grub_keyboard_controller_init() (now handled by terminal .init).
	* kern/i386/coreboot/init.c (grub_machine_init): Add call to
	grub_at_keyboard_init().
	* include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
	(grub_console_checkkey, grub_console_getkey): Remove (now provided by
	at_keyboard.mod via input terminal interface).
	* include/grub/i386/coreboot/console.h: Convert into a stub for
	`<grub/i386/pc/console.h>'.

	Migrate full terminals to new API:

	* term/efi/console.c (grub_console_term): Split into ...
	(grub_console_term_input): ... this, and ...
	(grub_console_term_output): ... this.  Update all users.
	* term/ieee1275/ofconsole.c: Remove __i386__ hack.
	(grub_ofconsole_init): Split into ...
	(grub_ofconsole_init_input): ... this, and ...
	(grub_ofconsole_init_output): ... this.
	(grub_ofconsole_term): Split into ...
	(grub_ofconsole_term_input): ... this, and ...
	(grub_ofconsole_term_output): ... this.  Update all users.
	* term/i386/pc/serial.c (grub_serial_term): Split into ...
	(grub_serial_term_input): ... this, and ...
	(grub_serial_term_output): ... this.  Update all users.
	* term/i386/pc/console.c (grub_console_term): Split into ...
	(grub_console_term_input): ... this, and ...
	(grub_console_term_output): ... this.  Update all users.
	(grub_console_term_input): Only enable it on PC/BIOS platform.
	(grub_console_init): Remove grub_keyboard_controller_init() call.

	Migrate input terminals to new API:

	* term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
	`i386' and `i386/pc' to enable build on x86_64 (this driver is
	i386-specific anyway).
	(grub_console_checkkey): Rename to ...
	(grub_at_keyboard_checkkey): ... this.  Static-ize.  Update all
	users.
	(grub_keyboard_controller_orig): New variable.
	(grub_console_getkey): Rename to ...
	(grub_at_keyboard_getkey): ... this.  Static-ize.  Update all
	users.
	(grub_keyboard_controller_init): Static-ize.  Save original
	controller value so that it can be restored ...
	(grub_keyboard_controller_fini): ... here (new function).
	(grub_at_keyboard_term): New structure.
	(GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
	functions.

	Migrate output terminals to new API:

	* term/i386/pc/vga.c (grub_vga_term): Change type to
	`struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
	members.  Update all users.
	* term/gfxterm.c (grub_video_term): Change type to
	`struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
	members.  Update all users.
	* include/grub/i386/pc/console.h (grub_console_checkkey)
	(grub_console_getkey): Do not export (no longer needed by gfxterm,
	etc).

	Migrate `terminal' command and userland tools to new API:

	* commands/terminal.c (grub_cmd_terminal): Split into ...
	(grub_cmd_terminal_input): ... this, and ...
	(grub_cmd_terminal_output): ... this.
	(GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
	`terminal_input' and `terminal_output'.
	* util/grub.d/00_header.in: Adjust `terminal' calls to new
	`terminal_input' / `terminal_output' API.
	* util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
	${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
	provided ${GRUB_TERMINAL}, convert it).

2008-11-04  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_freebsd.in: New file.  Generate grub configuration
	for FreeBSD.
	* conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.

2008-11-03  Bean  <bean123ch@gmail.com>

	* kern/elf.c (grub_elf32_load): Revert to previous code.
	(grub_elf64_load): Likewise.

	* loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.

2008-11-01  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in (CPPFLAGS): Fix builddir=. assumption.
	(TARGET_CPPFLAGS): Likewise.
	* genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.

2008-11-01  Carles Pina i Estany  <carles@pina.cat>

	* normal/menu.c (run_menu): Add Previous and Next Page keys in menu.

2008-10-29  Guillem Jover  <guillem.jover@nokia.com>

	* disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
	addition of objects until the code is not going to be able to fail.

2008-10-29  Guillem Jover  <guillem.jover@nokia.com>

	* disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
	(add a missing NULL check, and correct them by moving the pointer
	operations after the actual check).

2008-10-29  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-install.in: Handle empty string as output from
	make_system_path_relative_to_its_root().

2008-10-05  Hans Lambermont  <hans@lambermont.dyndns.org>

	* disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
	circular metadata worst case scenario. If the metadata is circular
	then copy the wrap in place.
	* include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
	project lib/format_text/layout.h
	Circular metadata bug found and patch debugged by Jan Derk Gerlings.

2008-10-03  Felix Zielcke  <fzielcke@z-51.de>

	* util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.

2008-10-03  Felix Zielcke  <fzielcke@z-51.de>

	* util/update-grub_lib.in: Mention filename in warning message.

2008-09-29  Felix Zielcke  <fzielcke@z-51.de>

	* NEWS: Update for rename of update-grub to grub-mkconfig.

2008-09-29  Felix Zielcke  <fzielcke@z-51.de>

	* util/update-grub_lib.in: Copy to ...
	* util/grub-mkconfig_lib.in: ... this.  Update all users.
	* util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
	* util/update-grub.in: Rename to ...
	* util/grub-mkconfig.in: ... this.  Update all users.  Remove `-y'
	option. Add `--output' option to allow users to specify the generated
	configuration file.  Default to stdout.
	(update_grub_dir): Rename to ...
	(grub_mkconfig_dir): ... this.
	(grub_cfg): Default to an empty string.
	* conf/common.rmk (update-grub): Rename to ...
	(grub-mkconfig): ... this.
	(update-grub_lib): Copy to ...
	(grub-mkconfig_lib): ... this.
	(update-grub_SCRIPTS): Copy to ...
	(grub-mkconfig_SCRIPTS): ... this. Update all users.
	(update-grub_DATA): Rename to ...
	(grub-mkconfig_DATA): ... this.

2008-09-28  Robert Millan  <rmh@aybabtu.com>

	* fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
	to `modified'.  Add the real `created' field.
	(grub_iso9660_uuid): Use `modified' rather than `created' for
	constructing the UUID.

2008-09-28  Felix Zielcke  <fzielcke@z-51.de>

	fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
	Based on code from Tomas Ebenlendr <ebik@ucw.cz>.

2008-09-28  Bean  <bean123ch@gmail.com>

	* fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
	Thanks to Christian Franke for finding this bug.

2008-09-25  Robert Millan  <rmh@aybabtu.com>

	* util/grub-mkdevicemap.c (make_device_map): Actually replace all
	instances of grub_util_get_disk_name() (see previous commit).

2008-09-25  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
	`util/i386/get_disk_name.c'.
	* conf/i386-efi.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
	`util/ieee1275/get_disk_name.c'.
	* include/grub/util/misc.h (grub_util_get_disk_name): Remove.
	* util/ieee1275/get_disk_name.c: Remove file.
	* util/i386/get_disk_name.c: Remove file.
	* util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
	"hd%d" for device.map entries, rather than using
	grub_util_get_disk_name().

2008-09-24  Carles Pina i Estany  <carles@pina.cat>

	* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
	warning.
	* commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.

2008-09-24  Carles Pina i Estany  <carles@pina.cat>

	* include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
	Changed to 0x5100.
	(GRUB_TERM_PPAGE): Changed to 0x4900.

2008-09-24  Robert Millan  <rmh@aybabtu.com>

	* include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
	macros (they were i386-pc specific).
	* include/grub/sparc64/ieee1275/console.h: Likewise.
	* include/grub/efi/console.h: Likewise.

2008-09-22  Bean  <bean123ch@gmail.com>

	* fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
	resident and in attribute list.

	* include/grub/ntfs.h (BMP_LEN): Removed.

2008-09-22  Bean  <bean123ch@gmail.com>

	* disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
	scsi->name and scsi->luns, as they will be set in grub_scsi_open.

	* disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
	error occurs, as grub_disk_open will call grub_disk_close, which will
	call p->close (scsi).

2008-09-21  Felix Zielcke  <fzielcke@z-51.de>

	* configure.ac (AC_INIT): Quote `GRUB' string and version number.
	(AC_PREREQ): Bumped to 2.59.
	(AC_TRY_COMPILE): Replace obsolete macro with ...
	(AC_COMPILE_IFELSE): ... this.
	* aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
	(AC_LINK_IFELSE): ... this.

2008-09-21  Felix Zielcke  <fzielcke@z-51.de>

	* autogen.sh: Add a call to `gendistlist.sh'.

2008-09-19  Christian Franke  <franke@computer.org>

	* aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
	* configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
	* include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
	Export __enable_execute_stack() to modules.
	* kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
	New function.

2008-09-09  Felix Zielcke  <fzielcke@z-51.de>

	* Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
	Sort the list.

2008-09-09  Felix Zielcke  <fzielcke@z-51.de>

	* util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
	#include <grub/util/hostdisk.h>.

2008-09-08  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
	segments when their filesz is zero (grub_file_read() interprets
	zero-size as "read until EOF", which results in memory corruption).
	Use `lowest_segment' rather than 0 for calculating the current
	segment load address.

2008-09-08  Robert Millan  <rmh@aybabtu.com>

	* util/hostdisk.c (open_device): Replace a grub_util_info() call
	with grub_dprintf("hostdisk", ...), as it was so verbose that it
	clobbered useful information.

2008-09-08  Robert Millan  <rmh@aybabtu.com>

	* include/grub/util/biosdisk.h: Move to ...
	* include/grub/util/hostdisk.h: ... here.  Update all users.
	* util/biosdisk.c: Move to ...
	* util/hostdisk.c: ... here.  Update all users.

2008-09-07  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
	variables.
	(grub_multiboot): Move `mbi' allocation upwards, so that mmap address
	and length can be stored directly in the `mbi->mmap_addr' and
	`mbi->mmap_length' struct fields.

2008-09-07  Robert Millan  <rmh@aybabtu.com>

	* conf/i386.rmk: New file.  Provides declaration for building
	`cpuid.mod'.
	* conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
	(cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
	variables.
	Include `conf/i386.mk'.
	* conf/i386-efi.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.

2008-09-07  Vesa Jääskeläinen  <chaac@nic.fi>

	Based on patch created by Colin D Bennett <colin@gibibit.com>.
	Adds optimization support for BGR based modes.

	* include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
	(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_index): Likewise.
	(grub_video_i386_vbeblit_replace_directN): Added.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
	(grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.

	* include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
	(grub_video_i386_vbefill_R8G8B8): Likewise.
	(grub_video_i386_vbefill_index): Likewise.
	(grub_video_i386_vbefill_direct32): Added.
	(grub_video_i386_vbefill_direct24): Likewise.
	(grub_video_i386_vbefill_direct16): Likewise.
	(grub_video_i386_vbefill_direct8): Likewise.

	* include/grub/video.h (grub_video_blit_format): Removed
	GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
	(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
	GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
	GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
	GRUB_VIDEO_BLIT_FORMAT_BGR_565.

	* video/video.c (grub_video_get_blit_format): Updated to use new
	blit formats.  Added handling for 16 bit color modes.

	* video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
	fillers.
	(common_blitter): Updated to use new blitters.

	* video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
	Removed.
	(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_index): Likewise.
	(grub_video_i386_vbeblit_replace_directN): Added.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
	(grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
	(grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
	(grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
	(grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.

	* video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
	(grub_video_i386_vbefill_R8G8B8): Likewise.
	(grub_video_i386_vbefill_index): Likewise.
	(grub_video_i386_vbefill_direct32): Added.
	(grub_video_i386_vbefill_direct24): Likewise.
	(grub_video_i386_vbefill_direct16): Likewise.
	(grub_video_i386_vbefill_direct8): Likewise.

	* video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
	types.

	* video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
	types.

	* video/readers/png.c (grub_png_decode_image_header): Adapt to new
	blitter types.

	* video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
	types.

2008-09-06  Felix Zielcke  <fzielcke@z-51.de>

	* disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
	RAID level 1.

2008-09-06  Felix Zielcke  <fzielcke@z-51.de>

	* fs/iso9660.c (grub_iso9660_date): New structure.
	(grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
	(grub_iso9660_uuid): New function.

2008-09-05  Bean  <bean123ch@gmail.com>

	* fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.

	* fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
	insensitive bit for names in Win32 and Win32 & DOS namespace.

	* include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.

	* include/grub/types.h (LONG_MAX): Likewise.

2008-09-04  Felix Zielcke  <fzielcke@z-51.de>

	* util/getroot.c: Include <config.h>.
	(grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
	add support for /dev/md/N devices and handle LVM double dash escaping.

2008-09-04  Felix Zielcke  <fzielcke@z-51.de>

	* config.guess: Update to latest version from config git.
	* config.sub: Likewise.

2008-09-03  Robert Millan  <rmh@aybabtu.com>

	* disk/scsi.c (grub_scsi_open): Remove size limit when printing
	`disk->total_sectors'.

2008-09-01  Colin D Bennett  <colin@gibibit.com>

	* include/grub/normal.h: Fixed incorrect comment for
	GRUB_COMMAND_FLAG_NO_ARG_PARSE.

2008-09-01  Colin D Bennett  <colin@gibibit.com>

	* commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
	values with defines.

	* include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
	(GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
	(GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
	(GRUB_VBE_MODEATTR_COLOR): Likewise.
	(GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
	(GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
	(GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
	(GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
	(GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
	(GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
	(GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
	(GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
	(GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
	(GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
	(GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
	(GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
	(GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
	(GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
	(GRUB_VBE_MEMORY_MODEL_YUV): Likewise.

2008-08-31  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
	declaration.
	(grub_multiboot): Fix a few warnings.

2008-08-31  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c: Update comment not to say that
	boot_device support is unimplemented.

2008-08-31  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c: Update comment not to say that a.out
	or memory map support are unimplemented.

2008-08-31  Colin D Bennett  <colin@gibibit.com>

	* util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.

2008-08-31  Colin D Bennett  <colin@gibibit.com>

	* commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
	total video memory in 'vbeinfo' output; show color format details for
	each video mode.

2008-08-30  Pavel Roskin  <proski@gnu.org>

	* util/genmoddep.c: Remove for real this time.
	* DISTLIST: Remove util/genmoddep.c.

2008-08-30  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
	as required by Multiboot spec (it was already 4-byte aligned, but
	only by chance).

2008-08-29  Pavel Roskin  <proski@gnu.org>

	* kern/powerpc/ieee1275/crt0.S: Rename to ...
	* kern/powerpc/ieee1275/startup.S: ... this.
	* conf/powerpc-ieee1275.rmk: Adjust for the above.
	* DISTLIST: Likewise.

	* kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
	grub/cpu/kernel.h.  Add start label for consistency with other
	platforms.  Add grub_prefix immediately after start.  Add jump
	to the code after grub_prefix.
	* include/grub/powerpc/kernel.h: Provide valid values for
	GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.

2008-08-29  Bean  <bean123ch@gmail.com>

	* configure.ac: Change host_os to cygwin for mingw.
	(asprintf): New check for function.

	* include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
	#if ! defined (__CYGWIN__) && ! defined (__MINGW32__).

	* include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
	declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
	sync, sleep and grub_util_get_disk_size for mingw.

	* util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
	to get size in mingw.
	(open_device): Use flag O_BINARY if it's defined.
	(find_root_device): Add dummy code for mingw.

	* util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
	(get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
	(get_scsi_disk_name): Return 0 for mingw.

	* util/hostfs.c: #include <grub/util/misc.h>.
	(grub_hostfs_open): Use "rb" flag to open file, use
	grub_util_get_disk_size to get disk size for mingw.

	* util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
	(asprintf): New function if HAVE_ASPRINTF is not set.
	(sync): New function for mingw.
	(sleep): Likewise.
	(grub_util_get_disk_size): Likewise.

2008-08-28  Pavel Roskin  <proski@gnu.org>

	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
	kern/time.c.

2008-08-28  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (find_grub_drive): Declare missing `i' variable.

2008-08-28  Robert Millan  <rmh@aybabtu.com>

	Change find_grub_drive() syntax so it doesn't prevent it from
	detecting NULL names as errors.

	* util/biosdisk.c (find_grub_drive): Move free slot search code
	from here ...
	(find_free_slot): ... to here.
	(read_device_map): Use find_free_slot() to search for free slots.

2008-08-27  Marco Gerards  <marco@gnu.org>

	* conf/common.rmk (pkglib_MODULES): Add scsi.mod.
	(scsi_mod_SOURCES): New variable.
	(scsi_mod_CFLAGS): Likewise
	(scsi_mod_LDFLAGS): Likewise.

	* disk/scsi.c: New file.

	* include/grub/scsi.h: Likewise.

	* include/grub/scsicmd.h: Likewise.

	* disk/ata.c: Include <grub/scsi.h>.
	(grub_atapi_packet): Do not use grub_ata_cmd, use registers
	instead.
	(grub_ata_iterate): Skip ATAPI devices.
	(grub_ata_open): Only handle ATAPI devices.
	(struct grub_atapi_read): Removed.
	(grub_atapi_readsector): Likewise.
	(grub_ata_read): No longer handle ATAPI devices.
	(grub_ata_write): Likewise.
	(grub_atapi_iterate): New function.
	(grub_atapi_read): Likewise.
	(grub_atapi_write): Likewise.
	(grub_atapi_open): Likewise.
	(grub_atapi_close): Likewise.
	(grub_atapi_dev): New variable.
	(GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
	(GRUB_MOD_FINI(ata)): Unregister ATAPI.

	* include/grub/disk.h (enum grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_SCSI_ID'.

2008-08-26  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (grub_util_biosdisk_open, open_device)
	(grub_util_biosdisk_get_grub_dev): Make error messages a bit more
	descriptive.

2008-08-23  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
	(grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
	disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
	(pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
	dm_nv.mod.
	(raid5rec_mod_SOURCES): New macro.
	(raid5rec_mod_CFLAGS): Likewise.
	(raid5rec_mod_LDFLAGS): Likewise.
	(raid6rec_mod_SOURCES): Likewise.
	(raid6rec_mod_CFLAGS): Likewise.
	(raid6rec_mod_LDFLAGS): Likewise.
	(mdraid_mod_SOURCES): Likewise.
	(mdraid_mod_CFLAGS): Likewise.
	(mdraid_mod_LDFLAGS): Likewise.
	(dm_nv_mod_SOURCES): Likewise.
	(dm_nv_mod_CFLAGS): Likewise.
	(dm_nv_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
	(grub_emu_SOURCES):  Add disk/raid5_recover.c, disk/raid6_recover.c,
	disk/mdraid_linux.c and disk/dmraid_nvidia.c.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
	disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* disk/raid5_recover.c: New file.

	* disk/raid6_recover.c: Likewise.

	* disk/mdraid_linux.c: Likewise.

	* disk/dmraid_nvidia.c: Likewise.

	* disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
	ULONG_MAX.

	* disk/raid.c (grub_raid_open): Use the size of the smallest disk to
	calculate the size of raid device.
	(grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
	different layout of raid5.
	(grub_raid_scan_device): Remove code specific to mdraid.
	(grub_raid_list): New variable.
	(free_array): New function.
	(grub_raid_register): Likewise.
	(grub_raid_unregister): Likewise.
	(grub_raid_rescan): Likewise.
	(GRUB_MOD_INIT): Don't iterate device here.
	(GRUB_MOD_FINI): Use free_array to release resource.

	* include/grub/raid.h: Remove macro and structure specific to mdraid.
	(grub_raid5_recover_func_t): New function variable type.
	(grub_raid6_recover_func_t): Likewise.
	(grub_raid5_recover_func): New variable.
	(grub_raid6_recover_func): Likewise.
	(grub_raid_register): New function.
	(grub_raid_unregister): Likewise.
	(grub_raid_rescan): Likewise.
	(grub_raid_block_xor): Likewise.

	* util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
	(CMD_CRC): New macro.
	(part): Removed.
	(read_file): Handle device as well as file.
	(cmd_crc): New function.
	(fstest): Handle multiple disks.
	(options): Remove part, raw and long, add root and diskcount.
	(usage): Add crc, remove -p, -r, -l, add -r and -c.
	(main): Find the first non option entry and ignore subsequent options,
	add handling for the new options, support multiple disks.

	* util/grub-probe.c (probe): Add mdraid to abstraction_name.

2008-08-23  Bean  <bean123ch@gmail.com>

	* normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.

	* genfslist.sh: Ignore kernel.mod.

	* genpartmaplist.sh: Likewise.

2008-08-23  Robert Millan  <rmh@aybabtu.com>

	* util/getroot.c (find_root_device): Skip anything that starts with
	a dot, not just directories.  This avoids things like /dev/.tmp.md0.

2008-08-22  Felix Zielcke  <fzielcke@z-51.de>

	* util/update-grub.in (GRUB_GFXMODE): Export variable.
	* util/grub.d/00_header.in: Allow the administrator to change default
	gfxmode via ${GRUB_GFXMODE}.

2008-08-21  Felix Zielcke  <fzielcke@z-51.de>

	* fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.

2008-08-21  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/linux.c: New file.  Implements generic 32-bit Linux
	loader.
	* conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
	`loader/i386/pc/linux.c' with `loader/i386/linux.c'.

2008-08-20  Carles Pina i Estany  <carles@pina.cat>

	* menu/normal.c (run_menu): Replace hardcoded numbers with macros
	(16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)

2008-08-19  Robert Millan  <rmh@aybabtu.com>

	* term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
	(struct grub_virtual_screen): Remove `cursor_color'.
	(grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
	initialization.
	(write_cursor): Use `virtual_screen.fg_color' to draw cursor.

2008-08-18  Robert Millan  <rmh@aybabtu.com>

	Unify (identical) linux_normal.c files.
	* loader/i386/efi/linux_normal.c: Move from here ...
	* loader/linux_normal.c: ... to here.  Update all users.
	* loader/i386/pc/linux_normal.c: Delete.  Update all users.
	* loader/i386/ieee1275/linux_normal.c: Likewise.

2008-08-18  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
	(LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
	(LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
	(LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
	(LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
	New macros.
	(GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
	* loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
	(GRUB_LINUX_CL_END_OFFSET): ... to here.
	* loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
	(GRUB_LINUX_CL_OFFSET): ... this.  Update all users.
	(GRUB_EFI_CL_END_OFFSET): Rename to ...
	(GRUB_LINUX_CL_END_OFFSET): ... this.  Update all users.
	(grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
	Initialize `params->video_cursor_x' and `params->video_cursor_y'
	portably using grub_getxy().
	Replace `-EFI' with `-bzImage' in boot message.

2008-08-17  Robert Millan  <rmh@aybabtu.com>

	* include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).

2008-08-17  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.

	* include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
	(GRUB_MACHINE_MEMORY_RESERVED): New macros.
	(grub_machine_mmap_iterate): New function declaration.
	* include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
	structure.
	(GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
	macros.

	* kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
	type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
	Move e820 parsing from here ...
	* kern/i386/pc/mmap.c: New file.
	(grub_machine_mmap_iterate): ... to here.

	* include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
	(GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
	(GRUB_MACHINE_MEMORY_AVAILABLE): ... this.  Update all users.
	(grub_available_iterate): Redeclare to return `void', and redeclare
	its hook to use grub_uint64_t as addr and size parameters, and rename
	to ...
	(grub_machine_mmap_iterate): ... this.  Update all users.

	* kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
	to make it more readable.  Rename to ...
	(grub_machine_mmap_iterate): ... this.

	* loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
	(grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
	(grub_multiboot): Allocate an extra region after the payload, and fill
	it with a Multiboot memory map.  Adjust a.out loader to calculate size
	with the extra space.
	(grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
	with the extra space.

2008-08-17  Carles Pina i Estany  <carles@pina.cat>

	* menu/normal.c (run_menu): Add Home and End keys in grub-menu.

2008-08-17  Felix Zielcke  <fzielcke@z-51.de>

	* gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
	mdate-sh to the list `find' searches for.
	* DISTLIST: Regenerated.

2008-08-16  Felix Zielcke  <fzielcke@z-51.de>

	* gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
	genkernsyms.sh.  Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
	genmoddep.awk, gensymlist.sh.in.
	(DISTDIRS): Add bus, docs, hook, lib.
	* DISTLIST: Regenerated.
	* NEWS: Add cygwin support and change the `os-prober' entry a bit.

2008-08-16  Robert Millan  <rmh@aybabtu.com>

	* disk/raid.c (grub_raid_init): Handle/report errors set by
	grub_device_iterate().
	* disk/lvm.c (grub_lvm_init): Likewise.

2008-08-15  Bean  <bean123ch@gmail.com>

	* conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(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/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(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/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(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/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(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/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
	and datehook.mod.
	(datetime_mod_SOURCES): New macro.
	(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.

	* kern/env.c (grub_env_insert): Fix a bug in prevp pointer.

	* commands/date.c: New file.

	* hook/datehook.c: Likewise.

	* include/grub/lib/datetime.h: Likewise.

	* include/grub/i386/cmos.h: Likewise.

	* lib/datetime.c: Likewise.

	* lib/i386/datetime.c: Likewise.

	* lib/efi/datetime.c: Likewise.

2008-08-14  Robert Millan  <rmh@aybabtu.com>

	* conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
	(grub_mkelfimage_SOURCES): New variable.
	(util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.

	* conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
	(grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.

	* kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
	* kern/i386/coreboot/init.c: Likewise.

	* kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
	with `<grub/cpu/kernel.h>'.
	(GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
	to ...
	(GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
	* kern/i386/coreboot/startup.S: Likewise.

	* include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
	(GRUB_MOD_GAP): Remove.
	* include/grub/powerpc/kernel.h: New file.
	* include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
	(GRUB_KERNEL_MACHINE_DATA_END): Remove.
	* include/grub/i386/kernel.h: New file.
	* include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
	(GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
	(GRUB_KERNEL_MACHINE_DATA_END): Remove.

	* util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
	`grub-mkelfimage'.
	Use --directory when invoking grub_mkimage.

	* util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
	(add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
	GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
	and GRUB_KERNEL_CPU_PREFIX.

2008-08-14  Felix Zielcke  <fzielcke@z-51.de>

	* include/grub/err.h (grub_err_printf): New function prototype.
	* util/misc.c (grub_err_printf): New function.
	* kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
	grub_printf.
	* kern/err.c (grub_print_error): Use grub_err_printf.

2008-08-13  Robert Millan  <rmh@aybabtu.com>

	* docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.

2008-08-13  Robert Millan  <rmh@aybabtu.com>

	* docs/grub.cfg: Use the native device name for the example GNU/Hurd
	boot entry.

2008-08-12  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
	of the relocation code from here ...
	(grub_multiboot): ... to here.
	(forward_relocator, backward_relocator): Move from here ...
	* kern/i386/loader.S (grub_multiboot_forward_relocator)
	(grub_multiboot_backward_relocator): ... to here.
	(grub_multiboot_real_boot): Use %edx for entry offset.  Put Multiboot
	magic in %eax.  Use %ebp for jumping (so %edx is not trashed).
	* include/grub/i386/loader.h (grub_multiboot_forward_relocator)
	(grub_multiboot_forward_relocator_end)
	(grub_multiboot_backward_relocator)
	(grub_multiboot_backward_relocator_end): New variables.

2008-08-12  Bean  <bean123ch@gmail.com>

	* disk/raid.c (grub_raid_read): Fix a bug in raid0 code.

2008-08-11  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/linuxbios/startup.S: Move from here ...
	* kern/i386/coreboot/startup.S: ... to here.

	* kern/i386/linuxbios/init.c: Move from here ...
	* kern/i386/coreboot/init.c: ... to here.

	* kern/i386/linuxbios/table.c: Move from here ...
	* kern/i386/coreboot/mmap.c: ... to here.

	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.

2008-08-11  Robert Millan  <rmh@aybabtu.com>

	* kern/device.c (grub_device_open): Do not handle grub_disk_open()
	errors.  Leave it to the upper layer to handle them.

2008-08-09  Christian Franke  <franke@computer.org>

	* Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
	* conf/common.rmk: Install `grub-pe2elf' only if requested.
	Install `grub.d/10_windows' only on Cygwin.
	* configure.ac: Add subst of `target_os'.
	Check `target_os' also before setting TARGET_OBJ2ELF.
	Add `--enable-grub-pe2elf'.

2008-08-08  Robert Millan  <rmh@aybabtu.com>

	* kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
	(grub_last_time): Change type to grub_uint64_t.
	(grub_disk_open): Migrate code from to using grub_get_time_ms().
	(grub_disk_close): Likewise.

	* normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
	(run_menu): Migrate code from to using grub_get_time_ms().

	* util/misc.c (grub_get_time_ms): New function.

2008-08-08  Marco Gerards  <marco@gnu.org>

	* disk/ata.c (grub_ata_regget): Change return type to
	`grub_uint8_t'.
	(grub_ata_regget2): Likewise.
	(grub_ata_wait_status): New function.
	(grub_ata_wait_busy): Removed function, updated all users to use
	`grub_ata_wait_status'.
	(grub_ata_wait_drq): Likewise.
	(grub_ata_cmd): New function.
	(grub_ata_pio_read): Change return type to `grub_uint8_t'.  Add
	error handling.
	(grub_ata_pio_write): Add error handling.
	(grub_atapi_identify): Likewise.
	(grub_atapi_packet): Use `grub_ata_cmd' and improve error
	handling.
	(grub_ata_identify): Use `grub_ata_cmd' and improve error
	handling.  Actually use the detected registers.  Reorder the
	detection logic such that it is easier to read.
	(grub_ata_pciinit): Do not assign the same ID to each controller.
	(grub_ata_setaddress): Use `grub_ata_cmd' and improve error
	handling.
	(grub_atapi_readsector): Check the result of `grub_ata_pio_read'.

	* include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.

2008-08-08  Marco Gerards  <marco@gnu.org>

	* NEWS: Update.

2008-08-07  Bean  <bean123ch@gmail.com>

	* include/grub/x86_64/pci.h: New file.

2008-08-07  Christian Franke  <franke@computer.org>

	* kern/i386/pit.c (TIMER2_SPEAKER): New define.
	(TIMER2_GATE): Likewise.
	(grub_pit_wait): Add enable/disable of the timer2 gate
	bit of port 0x61.  This fixes a possible infinite loop.

2008-08-07  Bean  <bean123ch@gmail.com>

	* conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
	kern/i386/tsc.c and kern/i386/pit.c.

	* include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
	x86_64 platform.

	* kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
	<grub/i386/tsc.h>.

	* kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.

2008-08-07  Bean  <bean123ch@gmail.com>

	* conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,

	* include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
	multiple inclusion. Add #include <grub/types.h>.

2008-08-06  Christian Franke  <franke@computer.org>

	* conf/common.rmk: Build and install `10_windows'.
	* util/grub.d/10_windows.in: New script.

2008-08-06  Pavel Roskin  <proski@gnu.org>

	* kern/i386/pit.c: Include `<grub/i386/pit.h>'.

2008-08-06  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
	* kern/i386/tsc.c: Include `<grub/i386/pit.h>'.

2008-08-06  Bean  <bean123ch@gmail.com>

	* fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
	(grub_pxefs_fs_int): Remove dummy definition.
	(grub_pxefs_open): Use data->block_size to store the current block
	size setting.
	(grub_pxefs_read): Use block size stored in data->block_size. As the
	value of grub_pxe_blksize can be changed after the file is opened.

2008-08-06  Bean  <bean123ch@gmail.com>

	* fs/i386/pc/pxe.c (curr_file): new variable.
	(grub_pxefs_open): Simply the handling of pxe file system. Don't
	require the dummy internal file system anymore.
	(grub_pxefs_read): Removed.
	(grub_pxefs_close): Likewise.
	(grub_pxefs_fs_int): Likewise.
	(grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
	connection when we switch file.
	(grub_pxefs_close_int): Renamed to grub_pxefs_close.

2008-08-06  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
	`halt.mod'.
	(reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
	(halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.

	* kern/i386/halt.c: New file.
	* kern/i386/reboot.c: Likewise.
	* include/grub/i386/reboot.h: Likewise.
	* include/grub/i386/halt.h: Likewise.

	* commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
	Include `<grub/cpu/halt.h>'.
	* commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
	[! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.

	* term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
	(SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
	(KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
	(KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
	(KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
	(KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
	from here ...
	* include/grub/i386/at_keyboard.h: ... to here.

2008-08-05  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
	* conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
	`kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
	`kern/generic/millisleep.c'.

	* kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
	instead of grub_get_rtc().
	(grub_tsc_init): Initialize `tsc_boot_time'.

	* kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
	(grub_machine_init): Use grub_tsc_init() rather than
	installing an RTC-based handler via grub_install_get_time_ms().

	* kern/i386/pit.c: New file.
	* include/grub/i386/pit.h: Likewise.

2008-08-05  Bean  <bean123ch@gmail.com>

	* boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.

	* conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
	(pkglib_MODULES): Add pxe.mod and pxecmd.mod.
	(pxe_mod_SOURCES): New macro.
	(pxe_mod_CFLAGS): Likewise.
	(pxe_mod_LDFLAGS): Likewise.
	(pxecmd_mod_SOURCES): Likewise.
	(pxecmd_mod_CFLAGS): Likewise.
	(pxecmd_mod_LDFLAGS): Likewise.

	* kern/i386/pc/startup.S (grub_pxe_scan): New function.
	(grub_pxe_call): Likewise.

	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.

	* commands/i386/pc/pxecmd.c: New file.

	* fs/i386/pc/pxe.c: Likewise.

	* include/grub/i386/pc/pxe.h: Likewise.

2008-08-05  Bean  <bean123ch@gmail.com>

	* util/console.c (grub_console_cur_color): New variable.
	(grub_console_standard_color): Likewise.
	(grub_console_normal_color): Likewise.
	(grub_console_highlight_color): Likewise.
	(color_map): Likewise.
	(use_color): Likewise.
	(NUM_COLORS): New macro.
	(grub_ncurses_setcolorstate): Handle color properly.
	(grub_ncurses_setcolor): Don't change color here, just remember the
	settings, color will be set in grub_ncurses_setcolorstate.
	(grub_ncurses_getcolor): New function.
	(grub_ncurses_init): Initialize color pairs.
	(grub_ncurses_term): New member grub_ncurses_getcolor.

2008-08-05  Colin D Bennett  <colin@gibibit.com>

	High resolution timer support.  Implemented for x86 CPUs using TSC.
	Extracted generic grub_millisleep() so it's linked in only as needed.
	This requires a Pentium compatible CPU; if the RDTSC instruction is
	not supported, then it falls back on the generic grub_get_time_ms()
	implementation that uses the machine's RTC.

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
	`kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
	`kern/generic/millisleep.c'.

	* conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
	`kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.

	* conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
	`kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.

	* conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
	`kern/generic/millisleep.c'.

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.

	* conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.

	* kern/generic/rtc_get_time_ms.c: New file.

	* kern/generic/millisleep.c: New file.

	* kern/misc.c: Don't include
	<kern/time.h> anymore.
	(grub_millisleep_generic): Removed.

	* commands/sleep.c (grub_interruptible_millisleep): Uses
	grub_get_time_ms() instead of grub_get_rtc().

	* include/grub/i386/tsc.h (grub_get_tsc): New file.  New inline
	function.
	(grub_cpu_is_cpuid_supported): New inline function.
	(grub_cpu_is_tsc_supported): New inline function.
	(grub_tsc_init): New function prototype.
	(grub_tsc_get_time_ms): New function prototype.

	* kern/i386/tsc.c (grub_get_time_ms): New file.

	* include/grub/time.h: Include <grub/types.h.
	(grub_millisleep_generic): Removed.
	(grub_get_time_ms): New prototype.
	(grub_install_get_time_ms): New prototype.
	(grub_rtc_get_time_ms): New prototype.

	* kern/time.c (grub_get_time_ms): New function.
	(grub_install_get_time_ms): New function.

	* kern/i386/efi/init.c: Include <grub/cpu/tsc.h>.  Don't include
	<grub/time.h> anymore.
	(grub_millisleep): Removed.
	(grub_machine_init): Call grub_tsc_init.

	* kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
	get_time_ms() implementation.

	* kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
	(ieee1275_get_time_ms): New function.
	(grub_machine_init): Install get_time_ms() implementation.

	* kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
	(grub_machine_init): Call grub_tsc_init().
	(grub_millisleep): Removed.

	* kern/ieee1275/init.c (grub_millisleep): Removed.
	(grub_machine_init): Install ieee1275_get_time_ms()
	implementation.
	(ieee1275_get_time_ms): New function.
	(grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
	real work.

2008-08-05  Marco Gerards  <marco@gnu.org>

	* disk/ata.c: Include <grub/pci.h>.
	(enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
	(grub_ata_initialize): Rewritten.
	(grub_ata_device_initialize): New function.

2008-08-04  Pavel Roskin  <proski@gnu.org>

	* kern/main.c: Include grub/mm.h.

2008-08-04  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
	(COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
	corruption problem).

2008-08-04  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
	warnings introduced in my last commit.

2008-08-03  Robert Millan  <rmh@aybabtu.com>

	Make PCI available on all i386 architectures.

	* include/grub/i386/pc/pci.h: Move from here ...
	* include/grub/i386/pci.h: ... to here.

	* include/grub/i386/pc/pci.h: Remove.
	* include/grub/i386/efi/pci.h: Remove.
	* include/grub/x86_64/efi/pci.h: Remove.

	* include/grub/pci.h: Replace `<grub/machine/pci.h>' with
	`<grub/cpu/pci.h>'.

	* conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
	(pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
	(lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.

	* conf/i386-ieee1275.rmk: Likewise.

2008-08-03  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
	(grub_console_setcursor): Make it possible to set cursor off.

2008-08-03  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Be platform-agnostic.  Probe for existence
	of modules instead of assuming which platform provides what.
	* util/update-grub.in: Likewise.

2008-08-03  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
	instead of `grub_install_dos_part' to determine whether a drive needs
	to be prepended to prefix (`grub_install_dos_part' is not reliable,
	because it can be overridden when loading GRUB via Multiboot).

2008-08-02  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-install.in: Remove trailing slash from prefix.

2008-08-02  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
	of informational grub_dprintf() calls.

2008-08-02  Robert Millan  <rmh@aybabtu.com>

	* disk/memdisk.c (memdisk_size): Don't initialize.
	(GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().

	* include/grub/i386/pc/kernel.h
	(GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
	(GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
	(grub_memdisk_image_size, grub_arch_memdisk_addr)
	(grub_arch_memdisk_size): Remove.

	* include/grub/kernel.h (struct grub_module_header): Remove `offset'
	field (was only used to transfer a constant).  Add `type' field to
	support multiple module types.
	(grub_module_iterate): New function.

	* kern/device.c (grub_device_open): Do not hide error messages
	when grub_disk_open() fails.  Use grub_print_error() instead.

	* kern/i386/pc/init.c (grub_arch_modules_addr)
	(grub_arch_memdisk_size): Remove functions.
	(grub_arch_modules_addr): Return the module address in high memory
	(now that it isn't copied anymore).

	* kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
	(codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
	decompression routine (grub_total_module_size already includes that
	now).  Don't copy modules back to low memory.

	* kern/main.c: Include `<grub/mm.h>'.
	(grub_load_modules): Split out (and use) ...
	(grub_module_iterate): ... this function, which iterates through
	module objects and runs a hook.
	Comment out grub_mm_init_region() call, as it would cause non-ELF
	modules to be overwritten.

	* util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
	the memdisk image in its own region, make it part of the module list.
	* util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
	(main): Parse --memdisk|-m option, and pass user-provided path as
	parameter to generate_image().
	(add_segments): Pass `memdisk_path' down to load_modules().
	(load_modules): Embed memdisk image in module section when requested.
	* util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
	`header.type' instead of `header.offset'.

	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
	(memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
	(memdisk_mod_LDFLAGS): New variables.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.

2008-08-02  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (playground, forward_relocator)
	(backward_relocator): New variables.  Used to allocate and relocate
	the payload, respectively.
	(grub_multiboot_load_elf32): Load into heap instead of requested
	address, install the appropriate relocator code in each bound of
	the payload, and set the entry point such that
	grub_multiboot_real_boot() will jump to one of them.

	* kern/i386/loader.S (grub_multiboot_payload_size)
	(grub_multiboot_payload_orig, grub_multiboot_payload_dest)
	(grub_multiboot_payload_entry_offset): New variables.
	(grub_multiboot_real_boot): Set cpu context to what the relocator
	expects, and jump to the relocator instead of the payload.

	* include/grub/i386/loader.h (grub_multiboot_payload_size)
	(grub_multiboot_payload_orig, grub_multiboot_payload_dest)
	(grub_multiboot_payload_entry_offset): Export.

2008-08-01  Bean  <bean123ch@gmail.com>

	* normal/menu_entry.c (editor_getline): Don't return the original
	string as result, as it will be released by lexer once it has done
	using it.

2008-08-01  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
	within menuentries, not before them.
	util/grub.d/10_hurd.in: Likewise.

2008-08-01  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkglib_MODULES): Add bufio.mod.
	(bufio_mod_SOURCES): New macro.
	(bufio_mod_CFLAGS): Likewise.
	(bufio_mod_LDFLAGS): Likewise.

	* include/grub/bufio.h: New file.

	* io/bufio.c: Likewise.

	* video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
	(grub_video_reader_png): Use grub_buffile_open to open file.

	* video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
	(grub_video_reader_jpeg): Use grub_buffile_open to open file.

	* video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
	(grub_video_reader_tga): Use grub_buffile_open to open file.

	* font/manager.c: Include <grub/bufio.h>.
	(add_font): Use grub_buffile_open to open file.

2008-07-31  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
	ELF segments, use a macro for arbitrarily accessing any of them instead
	of preparing a pointer that allows access to one at a time.
	(grub_multiboot_load_elf64): Likewise.

2008-07-31  Bean  <bean123ch@gmail.com>

	* boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
	GRUB_KERNEL_MACHINE_DATA_END.

2008-07-30  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
	Increase from 0x50 to 0x60.
	* util/i386/pc/grub-install.in: Detect cross-disk installs, and
	use UUIDs to identify the root drive for them.  If that's not
	possible, abort.
	* util/i386/pc/grub-setup.c (setup): Do not special-case, or even
	check, for cross-disk installs.

2008-07-30  Robert Millan  <rmh@aybabtu.com>

	* kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
	is non-empty, use it to set the `prefix' environment variable instead
	of the usual approach.
	* kern/i386/linuxbios/init.c (make_install_device): Remove function.
	(grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
	environment variable instead of dummy make_install_device().

	* kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
	(start): Insert a data section, with `grub_prefix' variable.
	* kern/i386/linuxbios/startup.S: Likewise.

	* include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
	New variable reference.
	* include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
	New macro.  Defines offset of `grub_prefix' within startup.S (relative
	to `start').
	(GRUB_KERNEL_MACHINE_DATA_END): New macro.  Defines the end of data
	section within startup.S (relative to `start').
	* include/grub/i386/coreboot/kernel.h: Likewise.

	* util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
	Overwrite grub_prefix with its contents, at the beginning of the
	first segment.
	(main): Understand -p|--prefix.

2008-07-30  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.

2008-07-30  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/vga_text.c (grub_console_cls): Use
	grub_console_gotoxy() to go back to beginning of the screen.
	Found by Patrick Georgi <patrick.georgi@coresystems.de>

2008-07-29  Christian Franke  <franke@computer.org>

	* util/update-grub_lib.in (make_system_path_relative_to_its_root):
	Add conversion of emulated mount points on Cygwin.

2008-07-29  Christian Franke  <franke@computer.org>

	* util/update-grub.in: Add a check for admin
	group on Cygwin.
	Remove old `grub.cfg.new' before creation.
	Add `-f' to `mv' to handle the different filesystem
	semantics of Windows.

2008-07-29  Bean  <bean123ch@gmail.com>

	* normal/main.c (get_line): Fix buffer overflow bug.

2008-07-28  Robert Millan  <rmh@aybabtu.com>

	* partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
	(struct grub_apple_header): New struct.  Describes the layout of
	the partmap header.
	(apple_partition_map_iterate): Check the header magic as well as the
	partition magic (which was already being checked).

2008-07-28  Pavel Roskin  <proski@gnu.org>

	* genmk.rb: Add a warning to the beginning of the output that
	it's a generated file and should not be edited.

2008-07-28  Robert Millan  <rmh@aybabtu.com>

	* disk/raid.c (grub_raid_scan_device): Do not abort when two disks
	with the same number are found, just use issue a warning with
	grub_dprintf(), as this error has been reported to be non-fatal.

2008-07-27  Robert Millan  <rmh@aybabtu.com>

	* disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
	information.

2008-07-27  Bean  <bean123ch@gmail.com>

	* fs/fat.c (GRUB_FAT_MAXFILE): New constant.
	(grub_fat_find_dir): Ignore case when comparing filename.

2008-07-27  Bean  <bean123ch@gmail.com>

	* fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
	smallino, as it's more descriptive, and i8count can be confused with
	the other field count.
	(grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
	inode type.

2008-07-27  Bean  <bean123ch@gmail.com>

	* commands/crc.c: New file.

	* lib/crc.c: Likewise.

	* include/grub/lib/crc.h: Likewise.

	* util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.

	* commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
	(hexdump): Move this function to ...

	* lib/hexdump.c: ... here.

	* include/grub/hexdump.h: Renamed to ...

	* include/grub/lib/hexdump.h: ... this.

	* commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h

	* util/grub-editenv.c: Likewise.

	* include/envblk.h: Renamed to ...

	* include/lib/envblk.h: ... this.

	* util/envblk.c: Renamed to ...

	* lib/envblk.c: ... this.

	* conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
	lib/hexdump.c.
	(grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
	(pkglib_MODULES): Add crc.mod.
	(hexdump_mod_SOURCES): Add lib/hexdump.c.
	(loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
	(crc_mod_SOURCES): New macro.
	(crc_mod_CFLAGS): Likewise.
	(crc_mod_LDFLAGS): Likewise.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.

2008-07-27  Felix Zielcke  <fzielcke@z-51.de>

	* commands/help.c: Include <grub/term.h>.
	(TERM_WIDTH): Removed.  Updated all users.

2008-07-27  Pavel Roskin  <proski@gnu.org>

	* util/getroot.c (find_root_device): Rephrase a comment to avoid
	spurious warnings about a comment within a comment.

2008-07-25  Robert Millan  <rmh@aybabtu.com>

	* util/getroot.c (find_root_device): Skip devices that match
	/dev/dm-[0-9].  This lets the real device be found for any type of
	abstraction (LVM, EVMS, RAID..).
	(grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
	and /dev/evms (for EVMS) before traversing /dev.  If a /dev/dm-[0-9]
	device is found first, find_root_device() will now skip it.

2008-07-24  Pavel Roskin  <proski@gnu.org>

	* include/grub/types.h: Use __builtin_bswap32() and
	__builtin_bswap64() with gcc 4.3 and newer.

2008-07-24  Christian Franke  <franke@computer.org>

	* util/i386/pc/grub-install.in: If `--debug' is specified,
	pass `--verbose' to grub-setup.
	Abort script if make_system_path_relative_to_its_root() fails.

2008-07-24  Bean  <bean123ch@gmail.com>

	* configure.ac: Fixed a bug caused by the previous cygwin patch,
	variable `target_platform' should be `platform'.

2008-07-24  Bean  <bean123ch@gmail.com>

	* video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
	(grub_png_init_fixed_block): New function.
	(grub_png_decode_image_data): Handle fixed huffman code compression.

2008-07-24  Bean  <bean123ch@gmail.com>

	* common.rmk (bin_UTILITIES): Add grub-pe2elf.
	(grub_pe2elf_SOURCES): New macro.
	(CLEANFILES): Add grub-pe2elf.

	* include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
	(GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
	(GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
	(GRUB_PE32_SCN_ALIGN_MASK): Likewise.
	(GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
	(GRUB_PE32_SYM_CLASS_STATIC): Likewise.
	(GRUB_PE32_SYM_CLASS_FILE): Likewise.
	(GRUB_PE32_DT_FUNCTION): Likewise.
	(GRUB_PE32_REL_I386_DIR32): Likewise.
	(GRUB_PE32_REL_I386_REL32): Likewise.
	(grub_pe32_symbol): New structure.
	(grub_pe32_reloc): Likewise.

	* util/grub-pe2elf.c: New file.

	* configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
	start symbol in non pc platform.

	* genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.

	The following patches are from Christian Franke.

	* include/grub/dl.h: Remove .previous, gas supports this only
	for ELF format.

	* include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
	Remove .type, gas supports this only for ELF format.

	* kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
	nullbytes in symbol table. This fixes an infinite loop if table is
	zero filled.

	* Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
	TARGET_IMG_LDFLAGS and EXEEXT.

	* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
	TARGET_IMG_LDFLAGS_AC.
	(grub_CHECK_STACK_ARG_PROBE): New function.

	* conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.

	* conf/i386-pc-cygwin-ld-img.sc: New linker script.

	* configure.ac: Add check for linker script "conf/${target}-img-ld.c"
	to set TARGET_IMG_LD* accordingly.
	Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
	Add call to grub_CHECK_STACK_ARG_PROBE.
	Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.

	* genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.

	* genmk.rb: Add EXEEXT to CLEANFILES.

2008-07-23  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
	define the codes for arrows and lines used for the menu).
	(ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
	as well.

	* util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
	fonts, because the latter are too slow.

2008-07-21  Bean  <bean123ch@gmail.com>

	* kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
	a20. Run keyboard test last, as it will cause macbook to halt.

2008-07-18  Pavel Roskin  <proski@gnu.org>

	* kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P.  We cannot
	load foreign architecture modules correctly anyway.  Keep
	support for loading host architecture modules, whether we
	compile them or not.

2008-07-17  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Use -m32 or -m64 regardless of whether we had to
	change target_cpu.  The compiler default can mismatch target_cpu
	in any case.

	* disk/efi/efidisk.c: Fix format warnings on x86_64.
	* kern/efi/efi.c: Likewise.

	* aclocal.m4 (grub_PROG_TARGET_CC): New macro.  Check if the
	target compiler is functional.
	* configure.ac: Call grub_PROG_TARGET_CC once all target flags
	are set up.

	* configure.ac: Default to efi platform for x86_64-apple.  Allow
	powerpc64 CPU, default to ieee1275 platform for it.  Split CPU
	adjustments from the rest, only do them if target is not
	explicitly given.  Merge other adjustments with the final sanity
	check.  Remove an extraneous check for supported CPU.  Be
	specific which CPU and which platform is not supported.

	* configure.ac: Default to pc platform for x86_64.

2008-07-17  Robert Millan  <rmh@aybabtu.com>

	Partial LinuxBIOS -> Coreboot rename.

	* conf/i386-linuxbios.rmk: Renamed to ...
	* conf/i386-coreboot.rmk: ... this.
	* Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
	* configure.ac: Accept "coreboot" as input platform (but maintain
	compatibility with "linuxbios").
	* include/grub/i386/linuxbios: Renamed to ...
	* include/grub/i386/coreboot: ... this.

2008-07-17  Bean  <bean123ch@gmail.com>

	* conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
	(appleldr_mod_SOURCE): New variable.
	(appleldr_mod_CFLAGS): Likewise.
	(appleldr_mod_LDFLAGS): Likewise.
	(pci_mod_SOURCES): Likewise.
	(pci_mod_CFLAGS): Likewise.
	(pci_mod_LDFLAGS): Likewise.
	(lspci_mod_SOURCES): Likewise.
	(lspci_mod_CFLAGS): Likewise.
	(lspci_mod_LDFLAGS): Likewise.

	* conf/x86_64-efi.rmk: New file.

	* disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
	macro.
	(grub_efidisk_write): Likewise.

	* include/efi/api.h (efi_call_0): New macro.
	(efi_call_1): Likewise.
	(efi_call_2): Likewise.
	(efi_call_3): Likewise.
	(efi_call_4): Likewise.
	(efi_call_5): Likewise.
	(efi_call_6): Likewise.

	* include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
	grub_rescue_cmd_chainloader.

	* include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
	(grub_pe32_optional_header): Change some fields based on i386 or
	x86_64 platform.
	(GRUB_PE32_PE32_MAGIC): Likewise.

	* include/grub/efi/uga_draw.h: New file.

	* include/grub/elf.h (STN_ABS): New constant.
	(R_X86_64_NONE): Relocation constant for x86_64.
	(R_X86_64_64): Likewise.
	(R_X86_64_PC32): Likewise.
	(R_X86_64_GOT32): Likewise.
	(R_X86_64_PLT32): Likewise.
	(R_X86_64_COPY): Likewise.
	(R_X86_64_GLOB_DAT): Likewise.
	(R_X86_64_JUMP_SLOT): Likewise.
	(R_X86_64_RELATIVE): Likewise.
	(R_X86_64_GOTPCREL): Likewise.
	(R_X86_64_32): Likewise.
	(R_X86_64_32S): Likewise.
	(R_X86_64_16): Likewise.
	(R_X86_64_PC16): Likewise.
	(R_X86_64_8): Likewise.
	(R_X86_64_PC8): Likewise.

	* include/grub/i386/efi/pci.h: New file.

	* include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
	Change it value based on platform.
	(GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
	(GRUB_E820_RAM): Likewise.
	(GRUB_E820_RESERVED): Likewise.
	(GRUB_E820_ACPI): Likewise.
	(GRUB_E820_NVS): Likewise.
	(GRUB_E820_EXEC_CODE): Likewise.
	(GRUB_E820_MAX_ENTRY): Likewise.
	(grub_e820_mmap): New structure.
	(linux_kernel_header): Change the efi field according to different
	kernel version, also field from linux_kernel_header.

	* include/grub/kernel.h (grub_module_info): Add padding for x86_64.

	* include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
	(GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
	(GRUB_PCI_ADDR_SPACE_IO): Likewise.
	(GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
	(GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
	(GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
	(GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
	(GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
	(GRUB_PCI_ADDR_MEM_MASK): Likewise.
	(GRUB_PCI_ADDR_IO_MASK): Likewise.

	* include/grub/x86_64/efi/kernel.h: New file.

	* include/grub/x86_64/efi/loader.h: Likewise.

	* include/grub/x86_64/efi/machine.h: Likewise.

	* include/grub/x86_64/efi/pci.h: Likewise.

	* include/grub/x86_64/efi/time.h: Likewise.

	* include/grub/x86_64/linux.h: Likewise.

	* include/grub/x86_64/setjmp.h: Likewise.

	* include/grub/x86_64/time.h: Likewise.

	* include/grub/x86_64/types.h: Likewise.

	* kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
	 GRUB_TARGET_SIZEOF_VOID_P.

	* kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
	(grub_efi_locate_handle): Likewise.
	(grub_efi_open_protocol): Likewise.
	(grub_efi_set_text_mode): Likewise.
	(grub_efi_stall): Likewise.
	(grub_exit): Likewise.
	(grub_reboot): Likewise.
	(grub_halt): Likewise.
	(grub_efi_exit_boot_services): Likewise.
	(grub_get_rtc): Likewise.

	* kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
	(GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
	(grub_efi_allocate_pages): Wrap efi calls.
	(grub_efi_free_pages): Wrap efi calls.
	(grub_efi_get_memory_map): Wrap efi calls.

	* kern/x86_64/dl.c: New file.

	* kern/x86_64/efi/callwrap.S: Likewise.

	* kern/x86_64/efi/startup.S: Likewise.

	* loader/efi/appleloader.c: Likewise.

	* loader/efi/chainloader.c (cmdline): New variable.
	(grub_chainloader_unload): Wrap efi calls.
	(grub_chainloader_boot): Likewise.
	(grub_rescue_cmd_chainloader): Wrap efi calls, handle
	command line.

	* loader/efi/chainloader_normal.c (chainloader_command):
	Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
	command line.

	* loader/i386/efi/linux.c (allocate_pages): Change allocation
	method.
	(grub_e820_add_region): New function.
	(grub_linux_boot): Construct e820 map from efi map, handle x86_64
	booting.
	(grub_find_video_card): New function.
	(grub_linux_setup_video): New function.
	(grub_rescue_cmd_linux): Probe for video information.

	* normal/x86_64/setjmp.S: New file.

	* term/efi/console.c (map_char): New function.
	(grub_console_putchar): Map unicode char.
	(grub_console_checkkey): Wrap efi calls.
	(grub_console_getkey): Likewise.
	(grub_console_getwh): Likewise.
	(grub_console_gotoxy): Likewise.
	(grub_console_cls): Likewise.
	(grub_console_setcolorstate): Likewise.
	(grub_console_setcursor): Likewise.

	* util/i386/efi/grub-mkimage.c: Add support for x86_64.

2008-07-16  Pavel Roskin  <proski@gnu.org>

	* loader/i386/efi/linux.c (allocate_pages): Fix warnings in
	format strings.

	* util/i386/efi/grub-mkimage.c (get_target_address): Return a
	pointer, not an integer.  This fixes a warning and prevents
	precision loss on 64-bit systems.
	(relocate_addresses): Remove unneeded cast.

2008-07-15  Pavel Roskin  <proski@gnu.org>

	* kern/i386/ieee1275/init.c: Include grub/cache.h.

	* term/ieee1275/ofconsole.c: Disable code unused on i386.

	* kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
	Fix comparison between signed and unsigned.

	* include/grub/i386/ieee1275/console.h: Declare
	grub_console_init() and grub_console_fini().

	* loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
	It's empty and unused.

	* fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
	beginning to avoid warnings with some compilers.

	* loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
	[__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.

2008-07-14  Pavel Roskin  <proski@gnu.org>

	* kern/env.c (grub_register_variable_hook): Don't copy empty
	string, it leaks memory.  Pass "" to grub_env_set(), it should
	handle constant strings.

	* commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
	* commands/cmp.c (grub_cmd_cmp): Likewise.
	* kern/dl.c (grub_dl_flush_cache): Likewise.
	(grub_dl_load_core): Likewise.
	* kern/elf.c (grub_elf32_load_phdrs): Likewise.
	(grub_elf64_load_phdrs): Likewise.

2008-07-13  Pavel Roskin  <proski@gnu.org>

	* lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
	between signed and unsigned.
	(LzmaEnc_Finish): Fix warning about an unused parameter.

2008-07-13  Bean  <bean123ch@gmail.com>

	* Makefile.in (enable_lzo): New rule.

	* conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.

	* configure.ac (ENABLE_LZO): New option --enable-lzo.

	* boot/i386/pc/lnxboot.S: #include <config.h>.

	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
	its value according to the compression algorithm used, lzo or lzma.

	* util/i386/pc/grub-mkimage.c (compress_kernel): Use different
	compression algorithm according to configure macro.

	* kern/i386/pc/startup.S (codestart): Likewise.

	* kern/i386/pc/lzma_decode.S: New file.

	* include/grub/lib/LzFind.h: Likewise.

	* include/grub/lib/LzHash.h: Likewise.

	* include/grub/lib/LzmaDec.h: Likewise.

	* include/grub/lib/LzmaEnc.h: Likewise.

	* include/grub/lib/LzmaTypes.h: Likewise.

	* lib/LzFind.c: Likewise.

	* lib/LzmaDec.c: Likewise.

	* lib/LzmaEnc.c: Likewise.

2008-07-13  Bean  <bean123ch@gmail.com>

	* fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
	(grub_ext4_extent_header): New structure.
	(grub_ext4_extent): Likewise.
	(grub_ext4_extent_idx): Likewise.
	(grub_ext4_find_leaf): New function.
	(grub_ext2_read_block): Handle extents.

2008-07-12  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.

2008-07-11  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/40_custom.in: New file. Example on how to add custom
	entries to /etc/grub.d.
	* conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
	40_custom (implicitly, by merging all the grub.d rules).

2008-07-11  Pavel Roskin  <proski@gnu.org>

	* commands/read.c (grub_getline): Fix invalid memory access.
	Don't add newline to the variable value.

	* term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
	[!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
	(serial_hw_get_port): Check validity of the port number.
	(grub_cmd_serial): Check return value of serial_hw_get_port().

2008-07-07  Pavel Roskin  <proski@gnu.org>

	* boot/i386/pc/diskboot.S (notification_string): Replace
	"Loading kernel" with just "loading".  This is shorter, less
	confusing and saves a few bytes for possible future changes.

2008-07-05  Pavel Roskin  <proski@gnu.org>

	* disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
	size for ATAPI devices, they are undefined.  Output sector
	number in decimal form.

	* disk/ata.c: Use named constants for status bits.

2008-07-04  Pavel Roskin  <proski@gnu.org>

	* kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
	grub_addr_t before casting it to the void pointer to fix a
	warning.  Non-addressable regions are discarded earlier.
	(grub_arch_modules_addr): Cast _end to grub_addr_t.
	* kern/i386/linuxbios/table.c: Include grub/misc.h.
	(check_signature): Don't shadow table_header.
	(grub_linuxbios_table_iterate): Cast numeric constants to
	grub_linuxbios_table_header_t.
	* include/grub/i386/linuxbios/init.h: Add noreturn attribute to
	grub_stop().

	* kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
	prevent warnings.

	* include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
	pointer, which can cause warnings.  Support 64-bit addresses.

	* util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
	of sizeof(long).  This fixes PowerPC image generation on x86_64.

2008-07-04  Robert Millan  <rmh@aybabtu.com>

	This fixes a performance issue when pc & gpt partmap iterators
	didn't abort iteration even after our hook found what it was
	looking for (often causing expensive probes of non-existent drives).

	Some callers relied on previous buggy behaviour, since they would
	raise an error when their own hooks caused early abortion of its
	iteration.

	* kern/device.c (grub_device_open): Improve error message.
	* disk/lvm.c (grub_lvm_open): Likewise.
	* disk/raid.c (grub_raid_open): Likewise.

	* partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
	when hook requests it, independently of grub_errno.
	(pc_partition_map_probe): Do not fail when find_func() caused
	early abortion of pc_partition_map_iterate().

	* partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
	when hook requests it, independently of grub_errno.
	(gpt_partition_map_probe): Do not fail when find_func() caused
	early abortion of gpt_partition_map_iterate().

	* kern/partition.c (grub_partition_iterate): Abort parent iteration
	when hook requests it, independently of grub_errno.  Do not fail when
	part_map_iterate_hook() caused early abortion of p->iterate().

	* util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
	when grub_partition_iterate() returned with non-zero.

2008-07-03  Pavel Roskin  <proski@gnu.org>

	* disk/ata.c (grub_ata_pio_write): Check status before writing,
	like we do in grub_ata_pio_read().
	(grub_ata_readwrite): Always write individual sectors.  Fix the
	sector count for the remainder.
	(grub_ata_write): Enable writing to ATA devices.  Correctly
	report error for ATAPI devices.

2008-07-02  Pavel Roskin  <proski@gnu.org>

	* boot/i386/pc/cdboot.S: Add _start entry to fix a linker
	warning.

	* disk/ata.c (grub_ata_readwrite): Don't increment sector number
	for every read sector, we already increment it for the whole
	batch.  This fixes reading more than 256 sectors at once.

	* util/grub-editenv.c (cmd_info): Cast argument to long
	explicitly.  ptrdiff_t reduces to int on i386.

	* util/grub-editenv.c (main): Be specific which parameter is
	missing.

	* disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
	(memdisk): Make memdisk_orig_addr a pointer.

	* fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
	for file offsets, use grub_off_t instead.  Fix printf format
	warnings.

	* fs/reiserfs.c: Remove #warning, TODO list items don't belong
	there.  Real unexpected warnings should not drown in the noise
	about known problems.

	* commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
	grub_disk_addr_t for memory addresses.

	* loader/aout.c (grub_aout_load): Cast load_addr to pointer
	explicitly to fix a warning.

	* util/grub-editenv.c (cmd_info): Fix warning in printf format.

	* Makefile.in (MODULE_LDFLAGS): New variable.
	* aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro.  Check if
	the linker accepts --build-id=none.
	* configure.ac: Call grub_PROG_LD_BUILD_ID_NONE.  Substitute
	MODULE_LDFLAGS.
	* genmk.rb: Use MODULE_LDFLAGS when linking modules.

	* fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
	those in Linux XFS code.  Provide a way to access 64-bit parent
	inode.
	(grub_xfs_iterate_dir): Use the new names.  Avoid reading past
	the end of struct grub_xfs_dir_header.

2008-07-02  Bean  <bean123ch@gmail.com>

	* include/grub/ieee1275.h (grub_ieee1275_flag): New constant
	GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
	and GRUB_IEEE1275_FLAG_NO_ANSI.

	* kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
	GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
	and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.

	* kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
	immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.

	* kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
	GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.

	* term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
	esc sequence on non ANSI terminal.
	(grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.

	* util/elf/grub-mkimage.c (add_segments): Move ELF header to the
	beginning of file.

2008-07-02  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (bin_UTILITIES): Add grub-editenv.
	(grub_editenv_SOURCES): New variable.
	(pkglib_MODULES): Add loadenv.mod.
	(loadenv_mod_SOURCES): New variable.
	(loadenv_mod_CFLAGS): Likewise.
	(loadenv_mod_LDFLAGS): Likewise.

	* include/grub/envblk.h: New file.

	* util/envblk.c: New file.

	* util/grub-editenv.c: New file.

	* commands/loadenv.c: New file.

2008-07-01  Pavel Roskin  <proski@gnu.org>

	* include/multiboot2.h (struct multiboot_tag_module): Use char,
	not unsigned char.  This fixes warnings and is consistent with
	other tags.

	* disk/fs_uuid.c (search_fs_uuid): Correctly increment count.

	* normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.

	* term/tparm.c (analyze): Always set *popcount.

	* loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
	cast to fix a warning.

	* loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
	cast to suppress a warning.

	* fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
	grub_fshelp_read_file() expects.

	* fs/fat.c: Fix UUID calculation on big-endian systems.  We
	write uuid as a 32-bit value in CPU byte order, so declare and
	use it as such.

	* disk/raid.c: Cast grub_dprintf() arguments to unsigned long
	long if the format specifier expects it.
	* partmap/gpt.c (gpt_partition_map_iterate): Likewise.
	* partmap/pc.c (pc_partition_map_iterate): Likewise.
	* fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
	long to fix a warning.
	* fs/reiserfs.c (grub_reiserfs_read): Change casts in
	grub_dprintf() arguments to fix warnings.

2008-06-30  Pavel Roskin  <proski@gnu.org>

	* util/i386/pc/grub-setup.c (setup): Write install_dos_part and
	install_bsd_part immediately before core.img is embedded or
	modified on disk.  This fixes core.img verification if core.img
	cannot be embedded.

	* util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
	core_path to calculate the blocklist.
	Patch from Javier Martín <lordhabbit@gmail.com>

2008-06-29  Robert Millan  <rmh@aybabtu.com>

	* fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro.  Maps filesystem
	block to disk block.
	(grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
	Patch from Niels Böhm <bitbucket@arcor.de>

2008-06-29  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (font_path): Search for fonts in
	/boot/grub first, which is more likely to be readable (we aren't
	deciding where fonts live, just looking for them).

2008-06-26  Pavel Roskin  <proski@gnu.org>

	* util/biosdisk.c (read_device_map): Don't leave dead map
	entries for devices failing stat() check.

	* util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
	core_path_dev for the core.img path on the target device.

2008-06-26  Robert Millan  <rmh@aybabtu.com>

	* disk/fs_uuid.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
	(fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
	(fs_uuid_mod_LDFLAGS): New variables.
	* include/grub/disk.h (grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_UUID_ID'.
	* kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
	implement iterate().

2008-06-26  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
	"/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
	Linux image includes no initrd.

2008-06-21  Javier Martín  <lordhabbit@gmail.com>

	* util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
	call to resolve the core image location that effectively appended the
	name twice.

2008-06-21  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
	call from here ...

	* util/grub.d/10_hurd.in: ... to here ...
	* util/grub.d/10_linux.in: ... and here.

2008-06-19  Robert Millan  <rmh@aybabtu.com>

	* kern/main.c (grub_main): Export `prefix' variable immediately
	after it has been set by grub_machine_set_prefix().

2008-06-19  Robert Millan  <rmh@aybabtu.com>

	* commands/search.c (search_label, search_fs_uuid, search_file): Print
	search result when not saving to variable, not the other way around.
	When saving to variable, abort iteration as soon as a match is found.

2008-06-19  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (prepare_grub_to_access_device): Remove
	check for partition that provides /boot/grub.  Its logic is flawed,
	as it prevents prepare_grub_to_access_device() from being called
	multiple times.

2008-06-19  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (prepare_grub_to_access_device): Issue
	"insmod" command directly when abstraction modules are needed,
	instead of relying on GRUB_PRELOAD_MODULES (which had no effect
	since it had already been processed).

2008-06-19  Pavel Roskin  <proski@gnu.org>

	* conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
	changed.  This is needed in case GRUB_LIBDIR changes.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-linuxbios.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.

2008-06-18  Pavel Roskin  <proski@gnu.org>

	* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
	kernel_elf_symlist.c to symlist.c for consistency with other
	architectures.  Update all users.
	* conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.

2008-06-18  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
	it in prefix.

	* util/i386/pc/grub-setup.c (main): Don't handle prefix at all.  Set
	`must_embed' to 1 when root_dev is a RAID device.  When dest_dev is
	a RAID device, run setup() for all members independently on whether
	LVM abstraction is being used.
	(setup): Don't handle prefix at all; let grub-mkimage take care of it.
	If grub-mkimage has set `*install_dos_part == -2', don't override this
	value.
	Perform *install_dos_part adjustments independently on whether
	we're embedding or not.
	Clarify error message when image is too big for embedding.
	Remove duplicate *install_dos_part stanza.

2008-06-17  Robert Millan  <rmh@aybabtu.com>

	* term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
	(grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
	variables.
	(grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
	values in grub_ofconsole_normal_color and
	grub_ofconsole_highlight_color (they're not directly related to
	background and foreground).
	(grub_ofconsole_setcolorstate): Extract background and foreground
	from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.

2008-06-17  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (prepare_grub_to_access_device): Use
	/boot/grub for the check in last commit, not /boot (they could be
	different partitions).

2008-06-16  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (prepare_grub_to_access_device): If we were
	asked to setup access for the same partition that provides /boot,
	don't bother using UUIDs since our root already has the value we
	want.

2008-06-16  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (convert_system_partition_to_system_disk): Detect
	I2O devices.
	Patch from Sven Mueller <sven@debian.org>.

2008-06-16  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Check for $EUID instead of $UID.
	Reported by Vincent Zweije.

2008-06-16  Bean  <bean123ch@gmail.com>

	* fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
	(grub_ext2_read_block): Likewise.
	(grub_ext2_read_inode): Likewise.
	(grub_ext2_mount): Likewise.
	(grub_ext2_close): Likewise.
	(grub_ext3_get_journal): Removed.

	* fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
	(grub_reiserfs_read_symlink): Likewise.
	(grub_reiserfs_mount): Likewise.
	(grub_reiserfs_open): Likewise.
	(grub_reiserfs_read): Likewise.
	(grub_reiserfs_close): Likewise.
	(grub_reiserfs_get_journal): Removed.

	* fs/fshelp.c (grub_fshelp_read): Removed.
	(grub_fshelp_map_block): Likewise.

	* include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
	(grub_fshelp_journal): Likewise.
	(grub_fshelp_read): Likewise.
	(grub_fshelp_map_block): Likewise.

2008-06-16  Pavel Roskin  <proski@gnu.org>

	* conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
	floating point anymore.
	* include/grub/powerpc/libgcc.h: Leave only necessary exports.

2008-06-15  Pavel Roskin  <proski@gnu.org>

	* commands/ls.c (grub_ls_list_files): Use integer calculations
	for human readable format, avoid floating point use.
	* kern/misc.c (grub_ftoa): Remove.
	(grub_vsprintf): Remove floating point support.

2008-06-15  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in: Use the underlying device for loop-AES
	devices.
	Reported by Max Vozeler.

2008-06-15  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
	in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
	skipped later.
	(main): If a memdisk was requested, add "(memdisk)" drive explicitly to
	the beginning of the prefix.

	* kern/i386/pc/init.c (make_install_device): Remove memdisk check.
	It is assumed that if we have a memdisk, grub-mkimage has set
	grub_prefix to include the "(memdisk)" drive in it.

2008-06-15  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
	Initialize keyboard controller after registering the terminal, so that
	grub_printf() can be called from grub_keyboard_controller_init().

2008-06-15  Robert Millan  <rmh@aybabtu.com>

	* fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
	extent-btree which is written as big endian on disk.
	Reported by Alain Greppin  <al@chilibi.org>.

2008-06-14  Robert Millan  <rmh@aybabtu.com>

	* util/i386/efi/grub-install.in (modules): Remove `_chain'.
	* util/i386/pc/grub-install.in (modules): Likewise.

2008-06-13  Pavel Roskin  <proski@gnu.org>

	* commands/ls.c (grub_ls_list_files): Fix format warnings.

2008-06-13  Bean  <bean123ch@gmail.com>

	* commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.

	* fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.

	* fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
	to indicate sparse block.

2008-06-12  Pavel Roskin  <proski@gnu.org>

	* fs/ext2.c (grub_ext2_read_inode): Don't normalize block
	number, grub_fshelp_read() does it for us.

	* fs/fshelp.c (grub_fshelp_read): New function.  Implement
	linear disk read with journal translation.
	* fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
	* include/grub/fshelp.h: Declare grub_fshelp_read().

2008-06-09  Pavel Roskin  <proski@gnu.org>

	* fs/minix.c (grub_minix_mount): Handle error reading
	superblock.

2008-06-08  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-setup.c (main): If install drive is an LVM,
	don't append the RAID prefix afterwards.
	Reported by Clint Adams.

2008-06-08  Robert Millan  <rmh@aybabtu.com>

	Based on description from Pavel:
	* kern/disk.c (grub_disk_check_range): Rename to ...
	(grub_disk_adjust_range): ... this.  Add a comment explaining the
	tasks performed by this function.

2008-06-08  Robert Millan  <rmh@aybabtu.com>

	* include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
	`num_serial' (for consistency with other variables).
	(struct grub_ntfs_data): Add `uuid' member.
	* fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
	(grub_ntfs_uuid): New function.
	(grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.

2008-06-07  Pavel Roskin  <proski@gnu.org>

	* util/biosdisk.c (open_device): Revert last change to the
	function, it broke installation.  The sector needs to be
	different dependent on which device is opened.

2008-06-06  Robert Millan  <rmh@aybabtu.com>

	Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
	rest of GRUB, and breakage doesn't happen if its value were modified.

	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
	Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
	a constant (same value).
	* kern/i386/pc/startup.S: Replace hardcoded `0x50' with
	`GRUB_KERNEL_MACHINE_DATA_END' (same value).

2008-06-06  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (open_device): Do not modify sector offset when
	accessing a partition.  kern/disk.c already handles this for us.

2008-06-06  Robert Millan  <rmh@aybabtu.com>

	* util/grub-emu.c (grub_machine_init): Move code in this function from
	here ...
	(main): ... to here (before grub_util_biosdisk_init() call, to prevent
	segfault in case grub_printf() is called).

	* util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
	grub_probe.  Update all users not to explicitly add it again.
	(grub_device): New variable; contains corresponding device for grubdir.
	(fs_module, partmap_module, devabstraction_module): Pass
	`--device ${grub_device}' to grub_probe to avoid traversing /dev
	every time.

2008-06-05  Robert Millan  <rmh@aybabtu.com>

	* normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
	is found, print it (same layout as with labels).

2008-06-04  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (get_drive): Rename to ...
	(find_grub_drive): ... this.  Update all users.

	(get_os_disk): Rename to ...
	(convert_system_partition_to_system_disk): ... this.  Update all users.

	(find_drive): Rename to ...
	(find_system_device): ... this.  Update all users.

2008-06-04  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (get_os_disk): Handle IDA devices.
	* util/grub-mkdevicemap.c (get_mmc_disk_name)
	(make_device_map): Likewise.

2008-06-01  Robert Millan  <rmh@aybabtu.com>

	*  util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
	before dereferencing it.

	* fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
	union with fat12/fat16-specific ones.  Add some new fields, including
	`num_serial' for both versions.
	(struct grub_fat_data): Add `uuid' member.
	(grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
	names.  Initialize `data->uuid' using `num_serial'.
	(grub_fat_uuid): New function.
	(grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.

	* fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
	(grub_reiserfs_uuid): New function.
	(grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
	member.

	* fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
	(grub_xfs_uuid): New function.
	(grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.

2008-06-01  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (prepare_grub_to_access_device): Generate
	code that is backward compatible with pre-uuid search command.

2008-05-31  Robert Millan  <rmh@aybabtu.com>

	* disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
	floppies after everything else, to ensure floppy drive isn't accessed
	unnecessarily (patch from Bean).

2008-05-31  Robert Millan  <rmh@aybabtu.com>

	* commands/search.c (search_label, search_fs_uuid, search_file): Do
	not print device names when we were asked to set a variable.

2008-05-31  Robert Millan  <rmh@aybabtu.com>

	* term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
	using "cursor-on" and "cursor-off" commands (understood at least by
	the Open Firmware flavour on OLPC).

2008-05-31  Michael Gorven  <michael@gorven.za.net>

	* term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
	on and off sequences.

2008-05-31  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
	* util/update-grub.in: Likewise.

2008-05-30  Pavel Roskin  <proski@gnu.org>

	* util/biosdisk.c (linux_find_partition): Simplify logic and
	make the code more universal.  Keep special processing for
	devfs, but use a simple rule for all other devices.  If the
	device ends with a number, append 'p' and the partition number.
	Otherwise, append only the partition number.

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
	* util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
	GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
	the `root' parameter to Linux.

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* commands/search.c (options): Rename --fs_uuid to --fs-uuid.
	* util/update-grub_lib.in (prepare_grub_to_access_device): Replace
	--fs_uuid with --fs-uuid.
	* util/update-grub.in: Allow filesystem UUID probes to fail (since not
	all filesystems support them).

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
	grub_printf() flags, since we're printing in units of 2 bytes.

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Remove obsolete comment referencing
	convert_system_path_to_grub_path().
	* util/update-grub.in: Likewise.
	* util/update-grub_lib.in (is_path_readable_by_grub): New function.
	(convert_system_path_to_grub_path): Add a warning message explaining
	that this function is deprecated.  Rely on is_path_readable_by_grub()
	for the readability checks.
	(font_path): Use is_path_readable_by_grub() for the readability
	check rather than convert_system_path_to_grub_path().

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (prepare_grub_to_access_device): New function.
	* util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
	converting it first.
	* util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
	grub.cfg for access to font file, and afterwards call it again to set
	the root device.

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* commands/search.c (options): Add --fs_uuid option.
	(search_fs_uuid): New function.
	(grub_cmd_search): Fix --set argument passing.
	Use search_fs_uuid() when requested via --fs_uuid.
	(grub_search_init): Update help message.
	* fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
	and redeclare it as an array of 16-bit words.
	(grub_ext2_uuid): New function.
	(grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
	* include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
	* util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
	(GRUB_DEVICE_BOOT_UUID): New variables.
	(GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
	* util/grub.d/00_header.in: Set root using `search --fs_uuid' command
	whenever possible.
	* util/grub.d/10_hurd.in: Avoid explicit use of root drive.  Instead,
	just assume `root' variable has the right value.
	* util/grub.d/10_linux.in: Likewise.
	* util/grub-probe.c (probe): Probe for filesystem UUID when requested
	via PRINT_FS_UUID.
	(main): Recognise `-t fs_uuid' argument.

2008-05-30  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (map): Redefine structure to hold information
	about GRUB drive name.
	(get_drive): Reimplement without assuming (and verifying) BIOS-like
	drive names.
	(call_hook): Remove.
	(grub_util_biosdisk_iterate): Access drive names via `.drive' struct
	member.  Assume drive has partitions.
	(grub_util_biosdisk_open): Access device names via `.device' struct
	member.
	(open_device): Likewise.
	(find_drive): Likewise.
	(read_device_map): Adjust map[] usage to match the new struct
	definition.  Don't check for duplicates (still possible, but not cheap
	anymore).
	(grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
	(make_device_name): Remove assumption of BIOS-like drive names.

2008-05-30  Pavel Roskin  <proski@gnu.org>

	* conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
	compiling execute.c doesn't need grub_script.tab.h anymore.
	(normal/command.c_DEPENDENCIES): Likewise.
	(normal/function.c_DEPENDENCIES): Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-linuxbios.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

2008-05-29  Pavel Roskin  <proski@gnu.org>

	* disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
	when scanning metadata for volume group name.

	* include/grub/script.h: Don't include grub_script.tab.h.  It's
	a generated file, which may only be included from the files with
	DEPENDENCIES rules in the makefile.  Don't use typedef YYSTYPE,
	use union YYSTYPE, as the later allows forward declaration.
	* normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.

2008-05-29  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
	(OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
	[GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
	(grub_console_checkkey): Add grub_dprintf() call to report unknown
	scan codes.

2008-05-29  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
	control key combinations.

2008-05-29  Robert Millan  <rmh@aybabtu.com>

	* util/powerpc/ieee1275/grub-install.in: Move from here ...
	* util/ieee1275/grub-install.in: ... to here.
	* powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
	* i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
	(grub_install_SOURCES): Likewise.

2008-05-29  Robert Millan  <rmh@aybabtu.com>

	* fs/affs.c: Update copyright year.
	* fs/ext2.c: Likewise.
	* fs/fshelp.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/ntfs.c: Likewise.
	* fs/xfs.c: Likewise.
	* include/grub/fshelp.h: Likewise.
	* util/grub-mkdevicemap.c: Likewise.

2008-05-28  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Allow chmod call to fail, since /boot/grub/
	might need to be fatfs to support some firmware implementations
	(e.g. OFW or EFI).

2008-05-28  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
	devices.
	* util/grub-mkdevicemap.c (get_mmc_disk_name)
	(make_device_map): Likewise.

2008-05-20  Bean  <bean123ch@gmail.com>

	* fs/fshelp.c (grub_fshelp_map_block): New function.
	(grub_fshelp_find_file): Use 64-bit type for pos and block address.
	Use `>>' and `&' operator to avoid 64-bit divide and modulo.

	* include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
	(GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
	(grub_fshelp_journal): New structure.
	(grub_fshelp_map_block): New function prototype.
	(grub_fshelp_read_file): Use grub_disk_addr_t as block type.
	(grub_fshelp_map_block): Likewise.

	* fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
	(EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
	(EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
	(EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
	(EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
	(EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
	(EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
	(EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
	(EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
	(EXT3_JOURNAL_FLAG_DELETED): Likewise.
	(EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
	(grub_ext2_sblock): New members for journal support.
	(grub_ext3_journal_header): New structure.
	(grub_ext3_journal_revoke_header): Likewise.
	(grub_ext3_journal_block_tag): Likewise.
	(grub_ext3_journal_sblock): Likewise.
	(grub_fshelp_node): New members logfile and journal.
	(grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
	grub_fshelp_map_block to get real block number.
	(grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
	number.
	(grub_ext2_read_inode): Likewise.
	(grub_ext3_get_journal): New function.
	(grub_read_inode): Initialize journal using grub_ext3_get_journal.
	(grub_ext2_close): Release memory used by journal.

	* fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
	(REISERFS_MAGIC_DESC_BLOCK): New macro.
	(grub_reiserfs_transaction_header): Renamed to
	grub_reiserfs_description_block, replace field data with real_blocks.
	(grub_reiserfs_commit_block): New structure.
	(grub_reiserfs_data): New member journal.
	(grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
	number.
	(grub_reiserfs_read_symlink): Likewise.
	(grub_reiserfs_iterate_dir): Likewise.
	(grub_reiserfs_open): Likewise.
	(grub_reiserfs_read): Likewise.
	(grub_reiserfs_get_journal): New function.
	(grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
	three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
	using grub_reiserfs_get_journal.
	(grub_reiserfs_close): Release memory used by journal.

	* fs/affs.c (grub_affs_read_block): Change block type to
	grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.

	* fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.

	* fs/hfsplus.c (grub_hfsplus_read_block): Likewise.

	* fs/ntfs.c (grub_ntfs_read_block): Likewise.

	* fs/udf.c (grub_udf_read_block): Change block type to
	grub_disk_addr_t. Use type cast to avoid warning.

	* fs/xfs.c (grub_xfs_read_block): Likewise.

2008-05-16  Christian Franke  <franke@computer.org>

	* commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
	to ensure that break with ESC will always work.
	* commands/sleep.c (grub_interruptible_millisleep): Likewise.
	Remove ESC from keyboard queue.

2008-05-16  Christian Franke  <franke@computer.org>

	* util/biosdisk.c: [__CYGWIN__] Add includes.
	(grub_util_biosdisk_open): Use Linux code also for Cygwin.
	(get_os_disk): Move variable declarations to OS specific
	parts to avoid warning.
	[__GNU__] (get_os_disk): Fix /dev/sdXsN case.
	[__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
	(grub_util_biosdisk_get_grub_dev): Use Linux code also for
	Cygwin.
	* util/getroot.c: [__CYGWIN__] Add includes.
	(strip_extra_slashes): Fix "/" case.
	[__CYGWIN__] (get_win32_path): New function.
	[__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
	[__CYGWIN__] (find_root_device): Disable.
	[__CYGWIN__] (get_bootsec_serial): New function.
	[__CYGWIN__] (find_cygwin_root_device): Likewise.
	[__linux__] (grub_guess_root_device): Add early returns to simplify
	structure.
	[__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
	[__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
	check for Linux only.

2008-05-15  Bean  <bean123ch@gmail.com>

	* kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
	keyboard hang problem in apple's intel mac.

2008-05-09  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
	devices.
	* util/grub-mkdevicemap.c (get_virtio_disk_name)
	(make_device_map): Likewise.
	Reported by Aurelien Jarno <aurel32@debian.org>

2008-05-07  Ian Campbell  <ijc@hellion.org.uk>

	* util/biosdisk.c (get_os_disk): Recognise xvd type disks.
	* util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
	(make_device_map): Output entries for xvd type disks.

2008-05-07  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
	devices.
	* util/grub-mkdevicemap.c (get_cciss_disk_name)
	(make_device_map): Likewise.
	Reported by Roland Dreier <rdreier@cisco.com>

2008-05-07  Robert Millan  <rmh@aybabtu.com>

	* disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
	grub_strstr() call.  Correct a few mistakes in failure path handling.

2008-05-06  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (make_system_path_relative_to_its_root):
	Do not print a trailing slash (therefore, the root directory is an
	empty string).
	(convert_system_path_to_grub_path): Do not remove trailing slash
	from make_system_path_relative_to_its_root() output.

	* util/i386/pc/grub-install.in: Add trailing slash to output from
	make_system_path_relative_to_its_root().

2008-05-06  Robert Millan  <rmh@aybabtu.com>

	* util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'.  This
	ensures that output lines aren't intermangled with those sent to
	stderr (via grub_util_info()).
	* util/grub-probe.c (grub_refresh): Likewise.
	* util/i386/pc/grub-setup.c (grub_refresh): Likewise.

2008-05-05  Christian Franke  <franke@computer.org>

	* util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
	Add Cygwin device names.
	(get_ide_disk_name) [__CYGWIN__]: Likewise.
	(get_scsi_disk_name) [__CYGWIN__]: Likewise.
	(check_device): Return error instead of success on empty name.
	(make_device_map): Move label inside linux specific code to
	prevent compiler warning.

2008-04-30  Robert Millan  <rmh@aybabtu.com>

	Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
	* util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
	first boot option.
	* util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.

2008-04-29  Robert Millan  <rmh@aybabtu.com>

	* docs/grub.cfg: New file (example GRUB configuration).

2008-04-26  Robert Millan  <rmh@aybabtu.com>

	* DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST).  Add
	`loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
	and `disk/ieee1275/nand.c'.

2008-04-25  Bean  <bean123ch@gmail.com>

	* Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
	i386-linuxbios.

	* commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
	change the buffer size to 4096 for cdrom device.

	* conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
	and nand.mod.
	(_linux_mod_SOURCES): New variable.
	(_linux_mod_CFLAGS): Likewise.
	(_linux_mod_LDFLAGS): Likewise.
	(linux_mod_SOURCES): Likewise.
	(linux_mod_CFLAGS): Likewise.
	(linux_mod_LDFLAGS): Likewise.
	(nand_mod_SOURCES): Likewise.
	(nand_mod_CFLAGS): Likewise.
	(nand_mod_LDFLAGS): Likewise.

	* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
	GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
	type property. (nand device in olpc don't have this property)

	* include/grub/disk.h (grub_disk_dev_id): New macro
	GRUB_DISK_DEVICE_NAND_ID.

	* include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
	function prototype.
	(grub_rescue_cmd_initrd): Likewise.

	* include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
	(linux_kernel_params): Add new member ofw_signature, ofw_num_items,
	ofw_cif_handler and ofw_idt, adjust padding number.

	* include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
	GRUB_MACHINE_IEEE1275 is defined.

	* include/grub/ieee1275/ieee1275.h (grub_available_iterate):
	Use NESTED_FUNC_ATTR attribute on the hook parameter.

	* kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
	on nested function heap_init.
	(grub_upper_mem): New variable for i386-ieee1275.
	(grub_get_extended_memory): New function for i386-ieee1275.
	(grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.

	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
	NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
	property.

	* loader/i386/ieee1275/linux.c: New file.

	* loader/i386/ieee1275/linux_normal.c: New file.

	* disk/ieee1275/nand.c: New file.

2008-04-18  Thomas Schwinge  <tschwinge@gnu.org>

	* util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
	value.
	* util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.

2008-04-18  Robert Millan  <rmh@aybabtu.com>

	Restructures early code path on ieee1275 to unify grub_main() as
	the first C function that is executed in every platform.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
	* kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
	cmain().
	* kern/powerpc/ieee1275/crt0.S (_start): Likewise.
	* kern/ieee1275/cmain.c (cmain): Rename to ...
	* kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
	* kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
	at the beginning.

2008-04-18  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Fix syntax error when setting
	`GRUB_PRELOAD_MODULES'.
	Reported by Stephane Chazelas <stephane@artesyncp.com>

2008-04-17  Lubomir Kundrak  <lkundrak@redhat.com>

	* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
	section into account, newer toolchains generate unique build ids
	* configure.ac: remove the test for --build-id=none acceptance,
	we want build ids to be preserved
	* genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
	far from other sections don't cause the raw binary images grow
	size

2008-04-15  Robert Millan  <rmh@aybabtu.com>

	* disk/lvm.c: Update copyright year.
	* kern/misc.c: Likewise.

2008-04-14  Vesa Jaaskelainen  <chaac@nic.fi>

	* disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
	there is no memory left for physical volume name.

2008-04-14  Vesa Jaaskelainen  <chaac@nic.fi>

	* disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
	volume name mapping to support bigger than 9 character names properly.

2008-04-13  Robert Millan  <rmh@aybabtu.com>

	* disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
	as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm

2008-04-13  Christian Franke  <franke@computer.org>

	* util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
	to create a floppy emulation boot CD when non emulation mode
	does not work.
	Enable Joliet CD filesystem extension.

2008-04-13  Robert Millan  <rmh@aybabtu.com>

	* kern/misc.c (grub_strncat): Fix off-by-one error.
	Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>

	* kern/env.c (grub_env_context_close): Clear current context, not
	previous one.
	Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>

	* kern/misc.c (grub_strcat): Minor speed optimization (same code size).

2008-04-13  Robert Millan  <rmh@aybabtu.com>

	Improve robustness when handling LVM.

	* disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
	(and leave `*p' unmodified).
	(grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
	through it.
	(grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
	iterating through it.
	(grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
	through it.
	(grub_lvm_scan_device): Check the return value (and fail gracefully
	when due) on each grub_lvm_getvalue() or grub_strstr() call.
	Don't assume `vg->pvs != NULL' when iterating through it.

2008-04-13  Robert Millan  <rmh@aybabtu.com>

	* gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
	* genmk.rb (partmap): New variable.
	(CLEANFILES, PARTMAPFILES): Add #{partmap}.
	(#{partmap}): New target rule.
	* genpartmaplist.sh: New file.
	* Makefile.in (pkglib_DATA): Add partmap.lst.
	(partmap.lst): New target rule.
	* util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
	modules (including all partition maps), instead of preloading them.

2007-04-13  Fabian Greffrath  <fabian.greffrath@web.de>

	* util/grub.d/30_os-prober.in: New script. Use `os-prober' and
	`linux-boot-prober' (if installed) to detect other operating
	systems which are installed on the computer and add them to
	the boot menu.
	* conf/common.rmk: Build and install 30_os-prober.

2008-04-12  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/init.c: Move from here ...
	* kern/ieee1275/init.c: ... to here.  Update all users.

	* kern/powerpc/ieee1275/cmain.c: Move from here ...
	* kern/ieee1275/cmain.c: ... to here.  Update all users.

	* kern/powerpc/ieee1275/openfw.c: Move from here ...
	* kern/ieee1275/openfw.c: ... to here.  Update all users.

	* loader/powerpc/ieee1275/multiboot2.c: Move from here ...
	* loader/ieee1275/multiboot2.c: ... to here.  Update all users.

2008-04-10  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Always use "_cv_" in cache variables for
	compatibility with Autoconf 2.62.

2008-04-07  Robert Millan  <rmh@aybabtu.com>

	Revert grub/machine/init.h addition by Pavel (since it breaks on
	i386-ieee1275 and others):
	* util/i386/pc/misc.c: Remove grub/machine/init.h.
	* util/powerpc/ieee1275/misc.c: Likewise.

2008-04-07  Robert Millan  <rmh@aybabtu.com>

	* util/grub-probe.c (probe): Improve error message.

2008-04-07  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (read_device_map): Skip devices that don't exist
	(this prevents the presence of a bogus entry from ruining the whole
	thing).

2008-04-06  Pavel Roskin  <proski@gnu.org>

	* util/biosdisk.c: Include grub/util/biosdisk.h.
	* util/grub-fstest.c (execute_command): Make static.
	* util/grub-mkdevicemap.c (check_device): Likewise.
	* util/i386/pc/misc.c: Include grub/machine/init.h.
	* util/powerpc/ieee1275/misc.c: Likewise.
	* util/lvm.c: Include grub/util/lvm.h.
	* util/misc.c: Include grub/kernel.h, grub/misc.h and
	grub/cache.h.
	* util/raid.c: Include grub/util/raid.h.
	(grub_util_getdiskname): Make static.

	* util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
	grub_hostfs_fini(), as they are called from grub_init_all() and
	grub_fini_all() respectively.  This fixes an infinite loop in
	grub-fstest due to double registration of hostfs.
	Reported by Christian Franke <Christian.Franke@t-online.de>

2008-04-05  Pavel Roskin  <proski@gnu.org>

	* bus/pci.c (grub_pci_iterate): For multifunction devices, probe
	all 8 functions.  Otherwise, probe function 0 only.

2008-04-04  Pavel Roskin  <proski@gnu.org>

	* commands/lspci.c (grub_lspci_iter): Print the bus number
	correctly.

	* commands/lspci.c (grub_pci_classes): Fix typos.
	(grub_lspci_iter): Don't print func twice.  Print vendor ID
	before device ID, as it's normally done.

	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
	Fix signedness warnings.
	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
	Likewise.
	* util/ieee1275/get_disk_name.c: Include config.h so that
	_GNU_SOURCE is defined and getline() is declared.  Mark an
	unused argument as such.  Fix a signedness warning.

2008-04-02  Pavel Roskin  <proski@gnu.org>

	* genkernsyms.sh.in: Use more robust assignments for CC and
	srcdir.  Quote srcdir.
	* gensymlist.sh.in: Likewise.  Assert at the compile time that
	the symbol table is not empty.

	* disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
	* fs/cpio.c (grub_cpio_read): Likewise.

2008-04-01  Pavel Roskin  <proski@gnu.org>

	* disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
	* disk/host.c (grub_host_open): Likewise.
	* disk/loopback.c (grub_loopback_open): Likewise.
	* disk/memdisk.c (grub_memdisk_open): Use a string pointer for
	disk->id as in disk/host.c, not a multi-character constant.

	* util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek().  The
	later is obsolete, potentially dangerous and sets a bad example.
	* util/i386/efi/grub-mkimage.c (make_header): Likewise.
	* util/misc.c (grub_util_get_image_size): Likewise.

	* disk/loopback.c (options): Improve help for "--partitions".

	* normal/arg.c (grub_arg_show_help): Fix spacing of the long
	options to align them with the short options, e.g. "echo -e".

2008-03-31  Bean  <bean123ch@gmail.com>

	* video/reader/png.c (grub_png_data): New member is_16bit and
	image_data.
	(grub_png_decode_image_header): Detect 16 bit png image.
	(grub_png_convert_image): New function to convert 16 bit image to 8 bit.
	(grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
	(grub_video_reader_png): Release memory occupied by image_data.

	* fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
	4096 bytes.
	(grub_nfs_mount): Skip the test for sector per cluster.

	* include/grub/ntfs.h (MAX_SPC): Removed.

2008-03-31  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkgdata_MODULES): Add afs.mod.
	(grub_probe_SOURCES): Add fs/afs.c.
	(grub_fstest_SOURCES): Likewise.
	(afs_mod_SOURCES): New variable.
	(afs_mod_CFLAGS): Likewise.
	(afs_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* fs/afs.c: New file.

2008-03-30  Pavel Roskin  <proski@gnu.org>

	* disk/host.c: Include grub/misc.h to fix a warning.
	* util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
	warnings about implicit declarations.

	* fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
	variable.
	* include/grub/i386/loader.h: Change declaration of
	grub_linux_boot() to match what grub_loader_set() expects.
	* util/getroot.c (grub_guess_root_device): Return const char* to
	fix a warning.
	* util/grub-probe.c (probe): Fix a warning about uninitialized
	abstraction_name variable.
	* util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
	second argument as unused to fix a warning.

	* loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
	missing grub_error() call.

	* util/update-grub_lib.in: Define datarootdir, since Autoconf
	2.60 and newer uses it to define datadir.

	* commands/sleep.c: Fix warning about implicit declaration.
	* disk/memdisk.c: Likewise.
	* loader/aout.c: Likewise.
	* loader/i386/bsd_normal.c: Likewise.
	* util/grub-probe.c: Likewise.

	* commands/i386/cpuid.c (has_longmode): Make static.
	* disk/i386/pc/biosdisk.c (cd_drive): Likewise.
	* include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.

	* kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
	GDT.  This is more robust, as %ds can change.
	(grub_biosdisk_rw_int13_extensions): Don't clear %ds before
	calling real_to_prot().
	(grub_biosdisk_get_diskinfo_int13_extensions): Likewise.

2008-03-28  Pavel Roskin  <proski@gnu.org>

	* kern/i386/pc/startup.S: Assert that uncompressed functions
	don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
	* kern/i386/pc/lzo1x.S: Remove all .align directives in the
	code, as they push parts of the code (error handlers) beyond
	GRUB_KERNEL_MACHINE_RAW_SIZE.  Speed is not as important in this
	code as correctness and size.

2008-03-28  Pavel Roskin  <proski@gnu.org>

	* kern/i386/pc/startup.S
	(grub_biosdisk_get_diskinfo_int13_extensions): When converting
	data block address to the real mode, keep offset minimal.  This
	works around a bug in AWARD BIOS on old Athlon systems, which
	makes CD detection hang.

2008-03-26  Pavel Roskin  <proski@gnu.org>

	* normal/color.c (grub_parse_color_name_pair): Make `name' a
	const.
	* include/grub/normal.h: Add grub_parse_color_name_pair()
	declaration.

2008-03-24  Bean  <bean123ch@gmail.com>

	* disk/i386/pc/biosdisk.c (cd_start): Removed.
	(cd_count): Removed.
	(cd_drive): New variable.
	(grub_biosdisk_get_drive): Don't check for (cdN) device.
	(grub_biosdisk_call_hook): Likewise.
	(grub_biosdisk_iterate): Change cdrom detection method.
	(grub_biosdisk_open): Replace cd_start with cd_drive.
	(GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
	detect cdrom device.

	* include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
	Removed.
	(GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
	(GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
	(GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
	(GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
	(GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
	(GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
	(GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
	(grub_biosdisk_cdrp): New structure.
	(grub_biosdisk_get_cdinfo_int13_extensions): New function.

	* include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.

	* kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
	device.

	* kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
	New function.

2008-03-20  Robert Millan  <rmh@aybabtu.com>

	Remove 2 TiB limit in ata.mod.
	* disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
	(grub_ata_dumpinfo): Print sector count with 0x%llx.
	(grub_ata_identify): Interpret `&info16[100]' as a pointer to
	grub_uint64_t instead of grub_uint32_t.

2008-03-05  Bean  <bean123ch@gmail.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
	(grub_multiboot): Set boot device.

	* boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.

2008-03-02  Bean  <bean123ch@gmail.com>

	* fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
	symlink_buffer.

2008-03-01  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
	texinfo.tex.

	* docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
	modified.

	* docs/fdl.texi: New file.

	* docs/mdate-sh: New file. Copied from gnulib.
	* docs/texinfo.tex: Likewise.

	* config.guess: Updated from gnulib.
	* install-sh: Likewise.

2008-02-28  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
	(aout_mod_SOURCES): New variable.
	(aout_mod_CFLAGS): Likewise.
	(aout_mod_LDFLAGS): Likewise.

	* conf/i386-ieee1275.rmk: Likewise.

2008-02-28  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Reorganise terminal validity check.  Accept
	`ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
	Based on suggestion by Franklin PIAT.

2008-02-28  Fabian Greffrath  <greffrath@leat.rub.de>

	* include/grub/util/getroot.h (grub_util_check_block_device): Export new
	function.
	* util/getroot.c (grub_util_check_block_device): New function that
	returns the given argument if it is a block device and returns NULL else.
	* util/grub-probe.c (argument_is_device): New variable.
	(probe): Promote device_name from a variable to an argument. Receive
	device_name from grub_util_check_block_device() if path is NULL and from
	grub_guess_root_device() else. Do not free() device_name anymore.
	(options): Introduce new parameter '-d, --device'.
	(main): Add description of the new parameter to the help screen.
	Rename path variable to argument. Set argument_is_device if the '-d'
	option is given. Pass argument to probe() depending on
	argument_is_device.

2008-02-24  Bean  <bean123ch@gmail.com>

	* fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
	(GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
	(GRUB_ISO9660_VOLDESC_SUPP): Likewise.
	(GRUB_ISO9660_VOLDESC_PART): Likewise.
	(GRUB_ISO9660_VOLDESC_END): Likewise.
	(grub_iso9660_primary_voldesc): New member escape.
	(grub_iso9660_data): New member joliet.
	(grub_iso9660_convert_string): New function.
	(grub_iso9660_mount): Detect joliet extension.
	(grub_iso9660_iterate_dir): Convert filename when joliet is detected.
	(grub_iso9660_iso9660_label): Likewise.

	* conf/common.rmk (pkgdata_MODULES): Add udf.mod.
	(grub_setup_SOURCES): Add fs/udf.c.
	(grub_fstest_SOURCES): Likewise.
	(udf_mod_SOURCES): New variable.
	(udf_mod_CFLAGS): Likewise.
	(udf_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* fs/udf.c: New file.

2008-02-24  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
	(normal/lexer.c_DEPENDENCIES): New variables.
	* conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
	(normal/lexer.c_DEPENDENCIES): Likewise.
	* conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
	(normal/lexer.c_DEPENDENCIES): Likewise.
	* conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
	(normal/lexer.c_DEPENDENCIES): Likewise.
	* conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
	(normal/lexer.c_DEPENDENCIES): Likewise.
	* conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
	(normal/lexer.c_DEPENDENCIES): Likewise.

2008-02-23  Robert Millan  <rmh@aybabtu.com>

	* partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
	since they were intended to be in hex.  This didn't break previously
	because of a bug in gpt_partition_map_iterate() (see below).

	(gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
	when checking the validity of GPT header.
	Remove `partno', since it always provides the same information as `i'.

2008-02-21  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/grub/efi/time.h: Fix a wrong comment.

2008-02-19  Pavel Roskin  <proski@gnu.org>

	* kern/rescue.c (grub_enter_rescue_mode): Improve initial
	message.

2008-02-19  Bean  <bean123ch@gmail.com>

	* conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
	(aout_mod_SOURCES): New variable.
	(aout_mod_CFLAGS): Likewise.
	(aout_mod_LDFLAGS): Likewise.
	(_bsd_mod_SOURCES): New variable.
	(_bsd_mod_CFLAGS): Likewise.
	(_bsd_mod_LDFLAGS): Likewise.
	(bsd_mod_SOURCES): New variable.
	(bsd_mod_CFLAGS): Likewise.
	(bsd_mod_LDFLAGS): Likewise.

	* include/grub/aout.h: New file.

	* include/grub/i386/loader.h (grub_unix_real_boot): New function.

	* include/grub/i386/bsd.h: New file.

	* include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
	to make it public.

	* kern/elf.c (grub_elf32_load): Get the physical address after the hook
	function is called, so that it's possible to change it inside the hook.
	(grub_elf64_load): Likewise.
	(grub_elf_file): Don't close the file if elf header is not found.
	(grub_elf_close): Close the file if grub_elf_file fails (The new
	grub_elf_file won't close it).
	(grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
	(grub_elf64_size): Likewise.

	* kern/i386/loader.S (grub_unix_real_boot): New function.

	* loader/aout.c: New file.

	* loader/i386/bsd.c: New file.

	* loader/i386/bsd_normal.c: New file.

	* loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.

	* loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
	can test other formats.

2008-02-19  Robert Millan  <rmh@aybabtu.com>

	* partmap/gpt.c: Include `<grub/gpt_partition.h>'.
	(grub_gpt_partition_type_empty): Redefine with macro from
	`<grub/gpt_partition.h>'.
	(gpt_partition_map_iterate): Adjust partition type comparison.

	Export `entry' as partmap-specific `part.data' struct.
	(grub_gpt_header, grub_gpt_partentry): Move from here ...

	* include/grub/gpt_partition.h (grub_gpt_header)
	(grub_gpt_partentry): ... to here (new file).

	* util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.

	(grub_gpt_partition_type_bios_boot): New const variable, defined
	with macro from `<grub/gpt_partition.h>'.

	(setup): Replace `first_start' with `embed_region', which keeps
	track of the embed region (and is partmap-agnostic).

	Replace find_first_partition_start() with find_usable_region(),
	which finds a usable region for embedding using partmap-specific
	knowledge (supports PC/MSDOS and GPT).

	Fix all assumptions that the embed region start at sector 1, using
	`embed_region.start' from now on.  Similarly, use `embed_region.end'
	rather than `first_start' to calculate available size.

	In grub_util_info() message, replace "into after the MBR" with an
	indication of the specific sector our embed region starts at.

2008-02-19  Robert Millan  <rmh@aybabtu.com>

	* DISTLIST: Replace `commands/ieee1275/halt.c' and
	`commands/ieee1275/reboot.c' with `commands/halt.c' and
	`commands/reboot.c'.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
	(halt_mod_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
	(halt_mod_SOURCES): Likewise.

2008-02-17  Christian Franke  <franke@computer.org>

	* commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.

2008-02-17  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
	set `first_start' to 0 for non-PC/MSDOS partition maps.

2008-02-16  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
	do not assume partition map is PC/MSDOS before performing checks that
	are specific to that layout.

2008-02-13  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
	`commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
	* kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.

2008-02-13  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac: Only a cosmetic change on the handling of
	-fno-stack-protector.

2008-02-12  Alexandre Boeglin  <alex@boeglin.org>

	* conf/i386-efi.rmk (grub_emu_SOURCES): Replace
	commands/i386/pc/halt.c and reboot.c by commands/halt.c and
	reboot.c.
	(grub_install_SOURCES): Add halt.mod and reboot.mod.
	(halt_mod_SOURCES): New variable.
	(halt_mod_CFLAGS): Likewise.
	(halt_mod_LDFLAGS): Likewise.
	(reboot_mod_SOURCES): Likewise.
	(reboot_mod_CFLAGS): Likewise.
	(reboot_mod_LDFLAGS): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
	commands/ieee1275/halt.c and reboot.c by commands/halt.c and
	reboot.c.
	(halt_mod_SOURCES): Likewise.
	(reboot_mod_SOURCES): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Replace
	commands/i386/pc/reboot.c by commands/reboot.c.
	(reboot_mod_SOURCES): Likewise.

	* commands/i386/pc/reboot.c: merge this file ...

	* commands/ieee1275/reboot.c: ... and this file ...

	* commands/reboot.c: ... to this file.
	Add some precompiler directive to include the correct header for
	each machine.

	* commands/ieee1275/halt.c: move this file ...

	* commands/halt.c: ... to here.
	Add some precompiler directive to include the correct header for
	each machine.

	* include/grub/efi/efi.h (grub_reboot): New function declaration.
	(grub_halt): Likewise.

	* kern/efi/efi.c (grub_reboot): New function.
	(grub_halt): Likewise.

2008-02-12  Robert Millan  <rmh@aybabtu.com>

	* util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
	/dev (like it is done for /dev/mapper).  This doesn't provide support
	for EVMS, but at least it is now easy to identify the problem when it
	arises.

2008-02-11  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
	(grub_util_biosdisk_get_grub_dev): Check open() exit status by
	comparing it with -1, not 0.

2008-02-10  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
	`disk/lvm.c'.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
	`disk/lvm.c' to the end of the list.
	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.

2008-02-10  Robert Millan  <rmh@aybabtu.com>

	* kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'.  Call
	grub_print_error() instead.  This will let user know why we're entering
	rescue mode.
	Based on suggestions from Sam Morris.

2008-02-10  Alexandre Boeglin  <alex@boeglin.org>

	* normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
	on remaining N args, instead of "--" arg N times.

2008-02-09  Vesa Jaaskelainen  <chaac@nic.fi>

	* font/manager.c (unknown_glyph): Added variable for unknown glyph.
	(fill_with_default_glyph): Changed to use unknown_glyph for fill
	pattern for unknown glyphs.

2008-02-09  Robert Millan  <rmh@aybabtu.com>

	* configure.ac: Probe for `help2man'.
	* Makefile.in (builddir): New variable.
	(HELP2MAN): Likewise.  Set to `true' when @HELP2MAN@ doesn't provide it,
	or otherwise add a few flags/options to it.
	(install-local): For every executable utility or script that is
	installed, invoke $(HELP2MAN) to install a manpage based on --help
	output.

	* util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
	that it doesn't prevent --help from working in build tree.

	* util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
	with `bug-grub@gnu.org'.
	* util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
	* util/update-grub.in (usage): New function.
	Implement proper argument check, with support for --help and --version
	(as well as existing -y).

2008-02-09  Christian Franke  <franke@computer.org>

	* commands/cat.c (grub_cmd_cat): Print '\r' as hex to
	avoid overwriting previous output.
	* kern/rescue.c (grub_rescue_cmd_cat): Likewise.

2008-02-09  Robert Millan  <rmh@aybabtu.com>

	* normal/menu.c (run_menu): If timeout is set to zero, don't bother
	drawing the menu.

2008-02-09  Robert Millan  <rmh@aybabtu.com>

	* commands/sleep.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
	(sleep_mod_SOURCES): New variable.
	(sleep_mod_CFLAGS): Likewise.
	(sleep_mod_LDFLAGS): Likewise.

2008-02-09  Robert Millan  <rmh@aybabtu.com>

	* disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
	situations in which we can deduce the RAID size and the superblock
	doesn't match it.

2008-02-09  Robert Millan  <rmh@aybabtu.com>

	* disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function.  Construct
	and return a grub_diskmemberlist_t composed of LVM physical volumes.
	[GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.

	* disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function.  Construct
	and return a grub_diskmemberlist_t composed of physical array members.
	[GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.

	* include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
	prototype.
	[GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
	[GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
	[GRUB_UTIL] (grub_disk_memberlist_t): New typedef.

	* util/grub-probe.c (probe): Move partmap probing code from here ...
	(probe_partmap): ... to here.
	(probe): Use probe_partmap() once for the disk we're probing, and
	additionally, when such disk contains a memberlist() struct member,
	once for each disk that is contained in the structure returned by
	memberlist().

2008-02-09  Robert Millan  <rmh@aybabtu.com>

	* util/grub-probe.c (main): When `verbosity > 1', set `debug'
	environment variable to 'all' in order to obtain debug output from
	non-util/ code.
	* util/i386/pc/grub-setup.c (main): Likewise.

2008-02-08  Robert Millan  <rmh@aybabtu.com>

	* disk/raid.c (grub_raid_scan_device): Check for
	`array->device[sb.this_disk.number]' rather than for
	`array->device[sb.this_disk.number]->name', since the latter is not
	guaranteed to be accessible.

2008-02-08  Robert Millan  <rmh@aybabtu.com>

	* disk/raid.c: Update copyright.
	* fs/cpio.c: Likewise.
	* include/grub/raid.h: Likewise.
	* loader/i386/pc/multiboot.c: Likewise.
	* util/hostfs.c: Likewise.

2008-02-08  Robert Millan  <rmh@aybabtu.com>

	* include/grub/raid.h (struct grub_raid_array): Change type of `device'
	to a grub_disk_t array.
	* disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
	`device[x]'.
	(grub_raid_scan_device): Replace `device[x].name' accesses with
	`device[x]->name'.  Simplify initialization of `array->device[x]'.

2008-02-08  Robert Millan  <rmh@aybabtu.com>

	* disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
	grub_dprintf() calls.
	* kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
	error message.

2008-02-07  Christian Franke  <franke@computer.org>

	* util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
	instead of fseek and ftell to support large files.
	(grub_hostfs_read): Likewise.

2008-02-07  Robert Millan  <rmh@aybabtu.com>

	Patch from Jeroen Dekkers.
	* disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
	failure, since successfully reading all array members might not be
	required.

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

	* util/grub-probe.c (probe): Simplify partmap probing (with the
	assumption that the first word up to the underscore equals to
	the module name).

2008-02-06  Christian Franke  <franke@computer.org>

	* fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
	(and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
	last block of a cpio or tar stream.
	Check for "TRAILER!!!" instead of any empty data
	block to detect last block of a cpio stream.
	(grub_cpio_dir): Fix constness of variable np.
	(grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
	cpio or tar trailer is detected.  This fixes a crash
	on open of a non existing file.

2008-02-05  Bean  <bean123ch@gmail.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
	address of entry.
	(grub_multiboot_load_elf64): Likewise.
	(grub_multiboot): Initialize mbi structure.

	* util/grub-fstest.c: Don't include unused header file script.h.

	* conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
	of file.
	(grub_fstest_SOURCES): Likewise.

2008-02-05  Robert Millan  <rmh@aybabtu.com>

	* include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
	(GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
	(GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
	(GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.

	* kern/i386/pc/startup.S: Include `<grub/term.h>'.
	(translation_table): Replace hardcoded values with macros
	provided by `<grub/term.h>'.

	* term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
	(keyboard_map): Correct/add a few values, with macros provided
	by `<grub/term.h>'.
	(keyboard_map_shift): Zero values that don't differ from their
	`keyboard_map' equivalents.
	(grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
	Discard the second scan code that is always sent by Caps lock.
	Only use `keyboard_map_shift' when it provides a non-zero value,
	otherwise fallback to `keyboard_map'.

2008-02-04  Bean  <bean123ch@gmail.com>

	* Makefile.in (enable_grub_fstest): New variable.

	* conf/common.rmk (grub_fstest_init.lst): New rule.
	(grub_fstest_init.h): Likewise.
	(grub_fstest_init.c): Likewise.
	(util/grub-fstest.c_DEPENDENCIES): New variable.
	(grub_fstest_SOURCES): Likewise.

	* configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.

	* util/grub-fstest.c: New file.

2008-02-03  Yoshinori K. Okuji  <okuji@enbug.org>

	Make grub-setup handle a separate root device.

	* util/i386/pc/grub-setup.c (setup): Always open the root device,
	so that the root device can be compared with the destination
	device.
	When embedding the core image, if the root and destination devices
	are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
	0xFF.
	When not embedding, set ROOT_DRIVE to 0xFF.

2008-02-03  Yoshinori K. Okuji  <okuji@enbug.org>

	Add support for having a grub directory in a different drive. This
	is still only the data handling part.

	* kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
	(codestart): Save %dh in GRUB_ROOT_DRIVE.
	(grub_root_drive): New variable.

	* kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
	instead of GRUB_BOOT_DRIVE to construct a device name. Set
	GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
	as it was.

	* include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.

	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
	macro.
	(GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.

	* boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
	is bogus, because PXE booting does not specify any drive
	correctly.

	* boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
	am not sure if this is really correct.

	* boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
	is always identical to the boot drive when booting from a CD.

	* boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
	longer.
	(root_drive): New variable.
	(real_start): Unconditionally set %dh to ROOT_DRIVE.
	(setup_sectors): Push %dx right after popping it, because %dh will
	be modified later.
	(copy_buffer): Restore %dx.

2008-02-03  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
	use `cdboot.img' for cdrom images.

2008-02-03  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Issue scripting commands for GRUB to
	only setup gfxterm when `font' command has succeeded.

2008-02-03  Robert Millan  <rmh@aybabtu.com>

	* loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
	(grub_rescue_cmd_multiboot_loader)
	(grub_rescue_cmd_module_loader): Enable multiboot1 calls.

2008-02-03  Pavel Roskin  <proski@gnu.org>

	* kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
	%edx and %esi from stack only after grub_gate_a20() is called.
	grub_gate_a20() clobbers %edx.

2008-02-03  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac (AC_INIT): Bumped to 1.96.

	* DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
	commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
	include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
	video/readers/png.c.

2008-02-03  Bean  <bean123ch@gmail.com>

	* conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
	(cdboot_img_SOURCES): New variable.
	(cdboot_img_ASFLAGS): New variable.
	(cdboot_img_LDFLAGS): New variable.

	* boot/i386/pc/cdboot.S: New file.

	* disk/i386/pc/biosdisk.c (cd_start): New variable.
	(cd_count): Likewise.
	(grub_biosdisk_get_drive): Add support for cd device.
	(grub_biosdisk_call_hook): Likewise.
	(grub_biosdisk_iterate): Likewise.
	(grub_biosdisk_open): Likewise.
	(GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
	(grub_biosdisk_rw): Support reading from cd device.
	(GRUB_MOD_INIT): Iterate cd devices.

	* include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
	(GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
	(GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.

	* kern/i386/pc/init.c (make_install_device): Check for cd device.

2008-02-02  Robert Millan  <rmh@aybabtu.com>

	* commands/read.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
	(read_mod_SOURCES): New variable.
	(read_mod_CFLAGS): Likewise.
	(read_mod_LDFLAGS): Likewise.

2008-02-02  Robert Millan  <rmh@aybabtu.com>

	* normal/main.c (grub_normal_execute): Check for `menu->size' when
	determining whether menu has to be displayed.

2008-02-02  Marco Gerards  <marco@gnu.org>

	* bus/pci.c: New file.

	* include/grub/pci.h: Likewise.

	* include/grub/i386/pc/pci.h: Likewise.

	* commands/lspci.c: Likewise.

	* conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
	`lspci.mod'.
	(pci_mod_SOURCES): New variable.
	(pci_mod_CFLAGS): Likewise.
	(pci_mod_LDFLAGS): Likewise.
	(lspci_mod_SOURCES): Likewise.
	(lspci_mod_CFLAGS): Likewise.
	(lspci_mod_LDFLAGS): Likewise.

2008-02-02  Bean  <bean123ch@gmail.com>

	* fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
	(grub_ufs_get_file_block): Fix indirect block calculation problem.

	* fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
	(grub_xfs_btree_node): New structure.
	(grub_xfs_btree_root): New structure.
	(grub_xfs_inode): New members nblocks, extsize, nextents and btree.
	(GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
	(GRUB_XFS_EXTENT_BLOCK): Likewise.
	(GRUB_XFS_EXTENT_SIZE): Likewise.
	(grub_xfs_read_block): Support btree format type.
	(grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
	Use directory block as basic unit.

	* fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.

	* aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
	__attribute__ ((__regparm__ (1))).

2008-02-01  Robert Millan  <rmh@aybabtu.com>

	Correct a mistake in previous commit.

	* conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
	top.
	(normal/command.c_DEPENDENCIES): New variable.

2008-02-01  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
	top.
	(normal/command.c_DEPENDENCIES): New variable.
	(grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-linuxbios.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	(grub_emu_SOURCES): Add `fs/fshelp.c'.

	* genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.

2008-02-01  Robert Millan  <rmh@aybabtu.com>

	* kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
	call at beginning of function.

2008-01-31  Pavel Roskin  <proski@gnu.org>

	* util/powerpc/ieee1275/grub-mkrescue.in: New file.
	* conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
	(grub_mkrescue_SOURCES): Likewise.
	* DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.

2008-01-30  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
	(util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
	* conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
	(grub_probe_SOURCES): ... to here.

	* conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
	(util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-linuxbios.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.

2008-01-30  Tristan Gingold  <gingold@free.fr>

	* kern/rescue.c: Silently accept empty lines.

2008-01-29  Bean  <bean123ch@gmail.com>

	* boot/i386/pc/lnxboot.S (data_start): Code cleanup.
	(real_code_2): Code cleanup and change comment style.
	(move_memory): Avoid using 32-bit address mode.

2008-01-29  Bean  <bean123ch@gmail.com>

	* conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
	(png_mod_SOURCES): New variable.
	(png_mod_CFLAGS): Likewise.
	(png_mod_LDFLAGS): Likewise.

	* video/readers/png.c: New file.

2008-01-28  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
	* kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
	`ifndef GRUB_MOD_GAP' hack.
	* util/elf/grub-mkimage.c (add_segments): Likewise.

2008-01-27  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
	`GRUB_MOD_GAP' for platforms in which it's not defined.
	* util/elf/grub-mkimage.c (add_segments): Likewise.

2008-01-27  Robert Millan  <rmh@aybabtu.com>

	Get grub-emu to build again (including parallel builds).

	* conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
	Split into ...
	(util/grub-emu.c_DEPENDENCIES): ... this, ...
	(normal/execute.c_DEPENDENCIES): ... this, ...
	(grub-emu_DEPENDENCIES): ... and this.

	* conf/i386-efi.rmk: Likewise.
	* conf/i386-linuxbios.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	(grub_emu_SOURCES): Remove duplicated `kern/file.c'.

2008-01-27  Robert Millan  <rmh@aybabtu.com>

	* NEWS: Add a few items.

2008-01-27  Robert Millan  <rmh@aybabtu.com>

	Fix parallel builds with grub-emu.  Based on earlier commit for
	grub-probe and grub-setup.

	* conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
	(util/grub-emu.c_DEPENDENCIES): ... this.
	* conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
	(util/grub-emu.c_DEPENDENCIES): ... this.
	* conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
	(util/grub-emu.c_DEPENDENCIES): ... this.
	* conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
	(util/grub-emu.c_DEPENDENCIES): ... this.
	* conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
	(util/grub-emu.c_DEPENDENCIES): ... this.

2008-01-27  Pavel Roskin  <proski@gnu.org>

	* include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
	to create a gap between _end and the modules added to the image
	with grub-mkrescue.  That fixes "CLAIM failed" on PowerMAC.
	* kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
	* util/elf/grub-mkimage.c (add_segments): Likewise.

2008-01-26  Pavel Roskin  <proski@gnu.org>

	* kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
	just return an error.

2008-01-26  Bean  <bean123ch@gmail.com>

	* fs/reiserfs.c (grub_fshelp_node): New member next_offset.
	(grub_reiserfs_get_item): Save offset of the next item.
	(grub_reiserfs_iterate_dir): Use next_offset to find next item.

2008-01-25  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
	make all filesystem sources appear together (possibly fixing omissions
	while at it).
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.  Additionally,
	add `kern/file.c'.
	* conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
	* conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.

	* util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
	(probe): Add a sanity check to make sure of our ability to read
	requested files when probing for filesystem type.

	* genmk.rb: Update copyright year (2007).

	* include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
	(grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
	(grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
	(grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
	(grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
	: Remove function prototypes.

2008-01-25  Robert Millan  <rmh@aybabtu.com>

	Revert my previous commits (based on wrong assumption of how grub_errno
	works).

	* kern/disk.c (grub_disk_open): Stop resetting grub_errno.
	* kern/file.c (grub_file_open): Likewise.

2008-01-24  Pavel Roskin  <proski@gnu.org>

	* include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
	that hang if GRUB tries to setup colors.
	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
	colors for firmwares that don't support it.
	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
	Recognize Open Hack'Ware, set flags to work around its
	limitations.

2008-01-24  Robert Millan  <rmh@aybabtu.com>

	* kern/file.c (grub_file_open): Do not account previous failures of
	unrelated functions when grub_errno is checked for.
	Reported by Oleg Strikov.

2008-01-24  Bean  <bean123ch@gmail.com>

	* fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
	(grub_ufs_sblock): New member volume name.
	(grub_ufs_find_file): Fix string copy bug.
	(grub_ufs_label): Implement this function properly.

	* fs/hfs.c (grub_hfs_cnid_type): New enum.
	(grub_hfs_iterate_records): Use the correct file number for extents
	and catalog file. Fix problem in next index calculation.
	(grub_hfs_find_node): Replace recursive function call with loop.
	(grub_hfs_iterate_dir): Replace recursive function call with loop.

2008-01-23  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
	`<grub/symbol.h>' and `<grub/multiboot.h>'.
	(grub_multiboot2_real_boot): New function prototype.

	* include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
	[!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.

	* kern/i386/ieee1275/init.c (grub_os_area_addr)
	(grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.

2008-01-23  Robert Millan  <rmh@aybabtu.com>

	* kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
	#ifdef'ed out grub_printf().

2008-01-23  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
	grub_dprintf calls, since they make "debug=all" mode unusable.
	(grub_console_checkkey): Likewise.

2008-01-23  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
	`term/i386/pc/at_keyboard.c'.
	(pkglib_MODULES): Add `serial.mod'.
	(serial_mod_SOURCES): New variable.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.

	* include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'.  Remove
	`<grub/powerpc/ieee1275/console.h>'.
	(grub_keyboard_controller_init): New function prototype.
	(grub_console_checkkey): Likewise.
	(grub_console_getkey): Likewise.

	* kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
	keyboard on i386.

	* term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
	grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.

2008-01-23  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/pc/init.c (make_install_device): When memdisk image is
	present, "(memdisk)/boot/grub" becomes the default prefix.

	* util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
	a memdisk tarball with all the modules.  Add --overlay=DIR option that
	allows users to overlay additional files into the image.

2008-01-23  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
	and `machine/memory.h'.
	(pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
	(_multiboot_mod_SOURCES): New variable.
	(_multiboot_mod_CFLAGS): Likewise.
	(_multiboot_mod_LDFLAGS): Likewise.
	(multiboot_mod_SOURCES): Likewise.
	(multiboot_mod_CFLAGS): Likewise.
	(multiboot_mod_LDFLAGS): Likewise.

	* include/grub/i386/ieee1275/loader.h: New file.

	* include/grub/i386/ieee1275/machine.h: Likewise.

	* include/grub/i386/ieee1275/memory.h: Likewise.

	* include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
	variable declaration.
	(grub_os_area_size): Likewise.

	* kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
	(grub_lower_mem, grub_upper_mem): New variables.
	(grub_stop_floppy): New function (just to make
	grub_multiboot2_real_boot() happy).

	* kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
	`<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
	(grub_stop): New function.
	Include `"../realmode.S"' and `"../loader.S"'.

	* loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
	Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.

	* loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
	rely on grub_multiboot2_real_boot() for final boot.

2008-01-22  Robert Millan  <rmh@aybabtu.com>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
	`GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
	device that doesn't look like an SD card.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
	`GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
	OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
	found.

2008-01-22  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
	avoid claiming over our own code.

2008-01-22  Bean  <bean123ch@gmail.com>

	* conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
	(jpeg_mod_SOURCES): New variable.
	(jpeg_mod_CFLAGS): Likewise.
	(jpeg_mod_LDFLAGS): Likewise.

	* video/readers/jpeg.c : New file.

2008-01-22  Bean  <bean123ch@gmail.com>

	* fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
	there are no more items.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* kern/mm.c (grub_mm_init_region): Improve debug message.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
	(kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
	address.
	(grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
	a C macro.
	* include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
	Indicates start of upper memory.
	* util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
	(generate_image): Abort when image size is big enough to corrupt
	upper memory.

	* include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
	(GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
	* term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
	instead of hardcoding 0xA0000.
	* video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
	(grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
	instead of hardcoding 0xA0000.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* disk/memdisk.c (memdisk_size): New variable.
	(grub_memdisk_open): Replace grub_arch_memdisk_size() call with
	`memdisk_size'.
	(grub_memdisk_init): Initialize `memdisk_size'.  Reallocate memdisk
	image to dynamic memory.
	(grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
	`memdisk_size'.  Free memdisk block.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	Fix detection of very small filesystems (like tar).

	* fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
	contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
	GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
	a problem with this disk).

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
	on grub_biosdisk_rw_standard() error.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
	recent changes.
	* kern/elf.c: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/powerpc/ieee1275/openfw.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.

	* include/grub/kernel.h (grub_arch_memdisk_addr)
	(grub_arch_memdisk_size): Moved from here ...

	* include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
	(grub_arch_memdisk_size): ... to here.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	Mostly based on bugfix from Bean.

	* kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
	attribute with hook() parameter.
	(grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
	declaration.
	(grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
	attribute with hook() parameter.
	(grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
	declaration.

2008-01-21  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
	(pkglib_MODULES): Add `memdisk.mod'.
	(memdisk_mod_SOURCES): New variable.
	(memdisk_mod_CFLAGS): Likewise.
	(memdisk_mod_LDFLAGS): Likewise.

	* disk/memdisk.c: New file.

	* include/grub/disk.h (grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_MEMDISK_ID'.

	* include/grub/i386/pc/kernel.h
	(GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
	(GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
	(grub_kernel_image_size): New variable declaration.
	(grub_total_module_size): Likewise.
	(grub_memdisk_image_size): Likewise.

	* include/grub/i386/pc/memory.h
	(GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.

	* include/grub/kernel.h: Include `<grub/symbol.h>'.
	(grub_arch_memdisk_addr): New variable declaration.
	(grub_arch_memdisk_size): Likewise.

	* kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
	(grub_arch_memdisk_size): Likewise.

	* kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
	(codestart): Replace hardcoded `0x100000' with
	`GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.

	* util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
	(generate_image): Add `memdisk_path' parameter.  When `memdisk_path' is
	not NULL, append the contents of the file it refers to, at the end of
	the compressed kernel image.  Initialize `grub_memdisk_image_size'
	variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
	(options): Add "memdisk"|'m' option.
	(main): Parse --memdisk|-m option, and pass user-provided path as
	parameter to generate_image().

2008-01-20  Robert Millan  <rmh@aybabtu.com>

	* kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
	grub_dprintf() calls from here ...
	* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.

2008-01-20  Robert Millan  <rmh@aybabtu.com>

	Fix detection of "real mode" when /options/real-mode? doesn't exist.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
	declaration.
	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
	(grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
	`GRUB_IEEE1275_FLAG_REAL_MODE'.
	(cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
	property).
	* kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
	`grub_ieee1275_mmu' rather than obtaining a handler on every call.

2008-01-19  Robert Millan  <rmh@aybabtu.com>

	Get rid of confusing function (superseded by
	`grub_ieee1275_get_integer_property')
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
	prototype.
	* kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
	function.
	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
	grub_ieee1275_decode_int_4(), by obtaining integer properties directly
	in native endianness from grub_ieee1275_get_integer_property().

2008-01-19  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
	command after "shut-down", since implementations differ on which
	the command for halt is.

2008-01-19  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/linuxbios/console.h: Add header protection.
	(grub_keyboard_controller_init): New function prototype.
	* term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
	(KEYBOARD_COMMAND_READ): Likewise.
	(KEYBOARD_COMMAND_WRITE): Likewise.
	(KEYBOARD_SCANCODE_SET1): Likewise.
	(grub_keyboard_controller_write): New function.
	(grub_keyboard_controller_read): Likewise.
	(grub_keyboard_controller_init): Likewise.

	* term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
	(grub_console_init): On coreboot/LinuxBIOS, call
	grub_keyboard_controller_init().

2008-01-19  Robert Millan  <rmh@aybabtu.com>

	PowerPC changes provided by Pavel Roskin.

	* kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
	* kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
	don't rely on cmain() doing it.
	* kern/i386/ieee1275/startup.S (_start): Store %eax in
	grub_ieee1275_entry_fn, don't rely on cmain() doing it.

2008-01-16  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/linuxbios/memory.h
	(GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
	* kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
	receive `table_header' as argument.  Instead, probe for it in the
	known memory ranges where it can be present.
	(grub_available_iterate): Do not pass a fixed `table_header' address
	to grub_linuxbios_table_iterate().

2008-01-15  Robert Millan  <rmh@aybabtu.com>

	* configure.ac: Add `i386-ieee1275' to the list of supported targets.
	* conf/i386-ieee1275.rmk: New file.
	* include/grub/i386/ieee1275/console.h: Likewise.
	* include/grub/i386/ieee1275/ieee1275.h: Likewise.
	* include/grub/i386/ieee1275/kernel.h: Likewise.
	* include/grub/i386/ieee1275/time.h: Likewise.
	* kern/i386/ieee1275/init.c: Likewise.
	* kern/i386/ieee1275/startup.S: Likewise.

2008-01-15  Robert Millan  <rmh@aybabtu.com>

	* kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
	when pointers are 32-bit (but still do set it to one when they are
	64-bit).

2008-01-15  Robert Millan  <rmh@aybabtu.com>

	* include/grub/ieee1275/ieee1275.h
	(grub_ieee1275_get_integer_property): New function prototype.

	* kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
	(grub_ieee1275_get_integer_property): New function.  Wraps around
	grub_ieee1275_get_property() to handle endianness.

	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
	grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
	where appropriate.
	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
	(grub_map): Likewise.
	* kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.

2008-01-15  Bean  <bean123ch@gmail.com>

	* normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
	(grub_script_execute_cmdline): Reset grub_errno.

	* normal/main.c (read_config_file): Reset grub_errno.

	* normal/parse.y (script_init): New.
	(script): Move function and menuentry here.
	(delimiter): New.
	(command): Add delimiter at the end of command.
	(commands): Adjust to match the new command.
	(commandblock): Remove grub_script_lexer_record_start.
	(menuentry): Add grub_script_lexer_record_start, use the new commands.
	(if): Use the new commands.

	* conf/common.rmk (pkgdata_MODULES): Add echo.mod.

2008-01-15  Robert Millan  <rmh@aybabtu.com>

	* normal/menu.c (run_menu): Move timeout message from here ...
	(print_timeout): ... to here.
	(run_menu): Use print_timeout() once during initial draw to print
	the whole message, and again in every clock tick to update only
	the number of seconds.

2008-01-15  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
	actual size of `available' from grub_ieee1275_get_property(), and
	restrict parsing to that bound.

2008-01-15  Christian Franke  <franke@computer.org>

	* util/grub-emu.c: Replace <argp.h> by <getopt.h>.
	(argp_program_version): Remove variable.
	(argp_program_bug_address): Likewise.
	(options): Convert from struct argp_option to struct option.
	(struct arguments): Remove.
	(parse_opt): Remove.
	(usage): New function.
	(main): Replace struct args members by simple variables.
	Replace argp_parse() by getopt_long().
	Add switch to evaluate options.
	Add missing "(...)" around root_dev in prefix string.

2008-01-14  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
	for grub_ieee1275_exit(), in order to improve portability.

2008-01-14  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in (prefix): Define.
	(exec_prefix): Likewise.  Both definitions are later used by `libdir'.

2008-01-13  Pavel Roskin  <proski@gnu.org>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
	grub_errno if no errors have been detected.

2008-01-12  Robert Millan  <rmh@aybabtu.com>

	* include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
	(grub_util_get_dev_abstraction): New function prototype.

	* util/getroot.c: Include `<grub/util/getroot.h>'
	(grub_util_get_grub_dev): Move detection of abstraction type to ...
	(grub_util_get_dev_abstraction): ... here (new function).

	* util/grub-probe.c: Convert PRINT_* to an enum.  Add
	`PRINT_ABSTRACTION'.
	(probe): Probe for abstraction type when requested.
	(main): Understand `--target=abstraction'.

	* util/i386/efi/grub-install.in: Add abstraction module to core
	image when it is found to be necessary.
	* util/i386/pc/grub-install.in: Likewise.
	* util/powerpc/ieee1275/grub-install.in: Likewise.

	* util/update-grub_lib.in (font_path): Return system path without
	converting to GRUB path.
	* util/update-grub.in: Convert system path returned by font_path()
	to a GRUB path.  Use `grub-probe -t abstraction' to determine what
	abstraction module is needed for loading fonts (if any).  Export
	that as `GRUB_PRELOAD_MODULES'.
	* util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
	insmod commands).

2008-01-12  Yoshinori K. Okuji  <okuji@enbug.org>

	Remove some unused code from reiserfs.

	* fs/reiserfs.c (struct grub_reiserfs_key)
	[GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
	(struct grub_reiserfs_node_body): Removed.
	(grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
	Likewise.
	(grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
	Likewise.
	(grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
	Likewise.
	(grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
	Likewise.
	(grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
	Likewise.
	(grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
	Likewise.
	(grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
	(grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
	(grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.

2008-01-10  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (grub_file_is_not_garbage): New function.
	Determines if a file is garbage left by packaging systems, etc.
	* util/update-grub.in: Use grub_file_is_not_garbage() as a condition
	for processing /etc/grub.d scripts.
	* util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
	* util/grub.d/10_linux.in: Likewise.  Use grub_file_is_not_garbage()
	as a condition for processing Linux images.

2008-01-10  Pavel Roskin  <proski@gnu.org>

	* include/grub/powerpc/libgcc.h (__ucmpdi2): New export.  Needed
	to compile reiserfs.c on PowerPC.

2008-01-10  Robert Millan  <rmh@aybabtu.com>

	* kern/device.c (grub_device_iterate): Do not abort device iteration
	when one of the devices cannot be opened.
	* kern/disk.c (grub_disk_open): Do not account previous failures of
	unrelated functions when grub_errno is checked for.

2008-01-08  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
	`! grub_linux_is_bzimage', change order of address comparison to make
	it more intuitive, and improve "too big zImage" error message.

2008-01-08  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
	`$(update-grub_DATA)'.
	(distcheck): Fix race condition when invoking `$(MAKE)' on multiple
	targets.

2008-01-07  Robert Millan  <rmh@aybabtu.com>

	* boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
	which instruction is modified by grub-setup during installation
	(since it wasn't obvious by only looking at this file).

2008-01-07  Robert Millan  <rmh@aybabtu.com>

	* TODO: Rewrite.  Just refer to the wiki and the BTS instead of
	listing actual TODO items.

2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
	correctly.
	(grub_reiserfs_get_key_offset): Likewise.
	(grub_reiserfs_set_key_offset): Likewise.
	(grub_reiserfs_set_key_type): Likewise.
	(grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.

	(GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
	better to remove the bitfield version completely.

2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
	allocated from the heap, due to the fshelp implementation.
	(grub_reiserfs_dir): Free NODE, due to the same reason.

2008-01-06  Yoshinori K. Okuji  <okuji@enbug.org>

	Mostly from Vincent Pelletier:

	* fs/reiserfs.c: New file.

	* conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
	(reiserfs_mod_SOURCES): New variable.
	(reiserfs_mod_CFLAGS): Likewise.
	(reiserfs_mod_LDFLAGS): Likewise.

	* DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
	disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
	include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
	normal/color.c.

2008-01-06  Robert Millan  <rmh@aybabtu.com>

	* normal/color.c: Remove `<grub/env.h>'.

2008-01-05  Jeroen Dekkers  <jeroen@dekkers.cx>

	* include/grub/normal.h: Include <grub/env.h>.

2008-01-05  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
	usage example with `(hd0,1)'.
	Reported by Samuel Thibault.

2008-01-05  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/loader.S (grub_linux_is_bzimage): New variable.
	(grub_linux_boot_zimage): Rename to ...
	(grub_linux_boot): ... this.
	(grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
	(grub_linux_boot_zimage): Conditionalize zImage copy.

	* include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
	(grub_linux_boot_bzimage): Remove prototype.
	(grub_linux_boot_zimage): Rename to ...
	(grub_linux_boot): ... this.

	* loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
	(grub_linux_boot): Remove function.

2008-01-05  Robert Millan  <rmh@aybabtu.com>

	* include/grub/normal.h (grub_env_write_color_normal): New prototype.
	(grub_env_write_color_highlight): Likewise.
	(grub_wait_after_message): Likewise.

	* normal/color.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
	(normal_mod_DEPENDENCIES): Likewise.

	* normal/menu_entry.c (run): Rely on grub_wait_after_message()
	for waiting after a message is printed.
	* normal/main.c (read_config_file): Likewise.
	(grub_normal_init): Register grub_env_write_color_normal() and
	grub_env_write_color_highlight() hooks.  Mark `color_normal' and
	`color_highlight' variables as global.

	* normal/menu.c (grub_wait_after_message): New function.
	(grub_color_menu_normal): New variable.  Replaces ...
	(GRUB_COLOR_MENU_NORMAL): ... this macro.
	(grub_color_menu_highlight): New variable.  Replaces ...
	(GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
	(draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
	`GRUB_TERM_COLOR_STANDARD'.
	(print_message): Use `grub_setcolorstate' to reload colors.  Rename
	`normal_code' and `highlight_code' to `old_color_normal' and
	`old_color_highlight', respectively.
	(grub_menu_init_page): Update colors when drawing the menu, based on
	`menu_color_normal' and `menu_color_highlight' variables.
	(grub_menu_run): Rely on grub_wait_after_message() for waiting after
	a message is printed.

2008-01-05  Robert Millan  <rmh@aybabtu.com>

	* kern/env.c (grub_env_context_open): Propagate hooks for global
	variables to new context.

	* kern/main.c (grub_set_root_dev): Export `root' variable.

2008-01-05  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
	discs unconditionally, since udev and others have options to provide
	them.

2008-01-05  Robert Millan  <rmh@aybabtu.com>

	* normal/completion.c (iterate_dir): Skip `.' and `..' directories.

2008-01-04  Christian Franke  <franke@computer.org>

	* kern/i386/pc/init.c (grub_machine_init): Fix evaluation
	of eisa_mmap.

2008-01-03  Pavel Roskin  <proski@gnu.org>

	* kern/i386/linuxbios/init.c: Put "void" to all function
	declarations with no arguments.
	* kern/powerpc/ieee1275/init.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.

2008-01-02  Robert Millan  <rmh@aybabtu.com>

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
	message when loaded image is out of bounds.
	(grub_multiboot_load_elf64): Likewise.

2008-01-02  Pavel Roskin  <proski@gnu.org>

	* util/grub.d/10_linux.in: Try version without ".old" when
	looking for initrd.  It's better to use initrd from the newer
	kernel of the same version than no initrd at all.

2008-01-01  Robert Millan  <rmh@aybabtu.com>

	* util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.

2008-01-01  Vesa Jaaskelainen  <chaac@nic.fi>

	* include/grub/video.h: Added grub_video_unmap_color and
	grub_video_get_active_render_target.
	(grub_video_adapter): Added unmap_color and get_active_render_target.

	* video/video.c: Added grub_video_unmap_color and
	grub_video_get_active_render_target.
	(grub_video_get_info): Changed method to accept NULL pointer as an
	argument to allow detection of active video adapter.

	* video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
	grub_video_vbe_unmap_color_int.
	Added grub_video_vbe_unmap_color and
	grub_video_vbe_get_active_render_target.
	(grub_video_vbe_adapter): Added unmap_color and
	get_active_render_target.

	* video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
	with grub_video_vbe_unmap_color_int.

	* term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
	(DEFAULT_NORMAL_COLOR): Likewise.
	(DEFAULT_HIGHLIGHT_COLOR) Likewise.
	(DEFAULT_FG_COLOR): Removed.
	(DEFAULT_BG_COLOR): Likewise.
	(DEFAULT_CURSOR_COLOR): Changed value.
	(grub_virtual_screen): Added standard_color_setting,
	normal_color_setting, highlight_color_setting and term_color.
	(grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
	(bitmap_width): Added.
	(bitmap_height): Likewise.
	(bitmap): Likewise.
	(set_term_color): Likewise.
	(grub_virtual_screen_setup): Changed to use new terminal coloring
	settings.
	(grub_gfxterm_init): Added init for bitmap.
	(grub_gfxterm_fini): Added destroy for bitmap.
	(redraw_screen_rect): Updated to use background bitmap and new
	terminal coloring.
	(scroll_up): Added optimization for case when there is no bitmap.
	(grub_gfxterm_cls): Fixed to use correct background color.
	(grub_virtual_screen_setcolorstate): Changed to use new terminal
	coloring.
	(grub_virtual_screen_setcolor): Likewise.
	(grub_virtual_screen_getcolor): Added.
	(grub_gfxterm_background_image_cmd): Likewise.
	(grub_video_term): Added setcolor and getcolor.
	(MOD_INIT): Added registration of background_image command.
	(MOD_TERM): Added unregistration for background_image command.

2007-12-30  Pavel Roskin  <proski@gnu.org>

	* loader/multiboot_loader.c: Fix multiboot command
	unregistration.  Fix all typos in the word "multiboot".

2007-12-29  Pavel Roskin  <proski@gnu.org>

	* util/grub.d/10_linux.in: Refactor search for initrd.  Add
	support for initrd names used in Fedora.

2007-12-26  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
	(cpio_mod_SOURCES): New variable.
	(cpio_mod_CFLAGS): Likewise.
	(cpio_mod_LDFLAGS): Likewise.

	* fs/cpio.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

2007-12-25  Robert Millan  <rmh@aybabtu.com>

	* include/grub/term.h (struct grub_term): Add `getcolor' function.
	(grub_getcolor): New function.

	* kern/term.c (grub_getcolor): New function.
	* normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
	(GRUB_COLOR_MENU_HIGHLIGHT): New macro.
	(print_entry): Set normal and highlight colors to
	`GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
	respectively, before printing and restore them to old
	values afterwards.
	(grub_menu_init_page): Likewise.  Fill an additional colored space
	that would otherwise be left blank.

	* term/efi/console.c (grub_console_getcolor): New function.
	(struct grub_console_term.getcolor): New variable.
	* term/i386/pc/console.c (grub_console_getcolor): New function.
	(struct grub_console_term.getcolor): New variable.
	* term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
	(struct grub_console_term.getcolor): New variable.

	* term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
	* term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
	* term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.
	* term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
	(struct grub_console_term.setcolor): Remove variable.

2007-12-25  Robert Millan  <rmh@aybabtu.com>

	* configure.ac: Search for possible unifont.hex locations, and
	define UNIFONT_HEX if found.

	* Makefile.in (UNIFONT_HEX): Define variable.
	(DATA): Rename to ...
	(PKGLIB): ... this.  Update all users.
	(PKGDATA): New variable.
	(pkgdata_IMAGES): Rename to ...
	(pkglib_IMAGES): ... this. Update all users.
	(pkgdata_MODULES): Rename to ...
	(pkglib_MODULES): ... this. Update all users.
	(pkgdata_PROGRAMS): Rename to ...
	(pkglib_PROGRAMS): ... this. Update all users.
	(pkgdata_DATA): Rename to ...
	(pkglib_DATA): ... this. Update all users.
	(CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
	(unicode.pff, ascii.pff): New rules.
	(all-local): Add `$(PKGDATA)' dependency.
	(install-local): Process `$(PKGDATA)'.

	* util/update-grub_lib.in (font_path): Search for *.pff files in
	a few more locations, including `${pkgdata}'.

2007-12-23  Robert Millan  <rmh@aybabtu.com>

	Patch from Bean  <bean123ch@gmail.com>:
	* disk/loopback.c (grub_loopback_read): Add missing bit shift to
	`size'.

2007-12-21  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
	(ntfscomp_mod_SOURCES): New variable.
	(ntfscomp_mod_CFLAGS): Likewise.
	(ntfscomp_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
	(grub_probe_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
	(grub_emu_SOURCES): Likewise.

	* fs/ntfs.c (grub_ntfscomp_func): New variable.
	(read_run_list): Renamed to grub_ntfs_read_run_list.
	(decomp_nextvcn): Moved to ntfscomp.c.
	(decomp_getch): Likewise.
	(decomp_get16): Likewise.
	(decomp_block): Likewise.
	(read_block): Likewise.
	(read_data): Partially moved to ntfscomp.c.
	(fixup): Change unsigned to grub_uint16_t.
	(read_mft): Change unsigned long to grub_uint32_t.
	(read_attr): Likewise.
	(read_data): Likewise.
	(read_run_data): Likewise.
	(read_run_list): Likewise.
	(read_mft): Likewise.

	* fs/ntfscomp.c: New file.

	* include/grub/ntfs.h: New file.

2007-12-16  Robert Millan  <rmh@aybabtu.com>

	* util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
	IDE disk check, since Linux is known to support 20 IDE disks.
	Reported by Colin Watson.

2007-12-15  Bean  <bean123ch@gmail.com>

	* conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
	(lnxboot_img_SOURCES): New variable.
	(lnxboot_img_ASFLAGS): Likewise.
	(lnxboot_img_LDFLAGS): Likewise.

	* boot/i386/pc/lnxboot.S: New file.

2007-11-24  Pavel Roskin  <proski@gnu.org>

	* configure.ac: Test if '--build-id=none' is supported by the
	linker.  If yes, add it to TARGET_LDFLAGS.  Build ID causes
	objcopy to generate incorrect binary files (binutils
	2.17.50.0.18-1 as shipped by Fedora 8).
	* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
	linking, so that build ID doesn't break the test.

2007-11-24  Pavel Roskin  <proski@gnu.org>

	* include/grub/i386/time.h: use "void" in the argument list
	of grub_cpu_idle().
	* include/grub/powerpc/time.h: Likewise.
	* include/grub/sparc64/time.h: Likewise.

2007-11-18  Christian Franke  <franke@computer.org>

	* util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
	now return control chars instead of GRUB_CONSOLE_KEY_* constants.
	This fixes the problem that function keys did not work in grub-emu.

2007-11-18  Christian Franke  <franke@computer.org>

	* disk/host.c (grub_host_open): Remove attribute unused from
	name parameter. Add check for "host". This fixes the problem
	that grub-emu does not find partitions.

2007-11-18  Christian Franke  <franke@computer.org>

	* util/hostfs.c (is_dir): New function.
	(grub_hostfs_dir):  Handle missing dirent.d_type case.
	(grub_hostfs_read): Add missing fseek().
	(grub_hostfs_label): Clear label pointer.  This fixes a crash
	of grub-emu on "ls (host)".

2007-11-18  Christian Franke  <franke@computer.org>

	* include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
	Add attribute packed, gcc 3.4.4 on Cygwin aligns this
	to 64 bit boundary by default.

2007-11-18  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
	(hexdump_mod_SOURCES): New variable.
	(hexdump_mod_CFLAGS): Likewise.
	(hexdump_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.

	* include/grub/hexdump.h: New file.

	* commands/hexdump.c: New file.

2007-11-10  Robert Millan  <rmh@aybabtu.com>

	* commands/i386/pc/play.c (beep_off): Switch order of arguments
	in grub_outb() calls.
	(beep_on): Likewise.

2007-11-10  Christian Franke  <franke@computer.org>

	* normal/menu.c (run_menu): Check for empty menu to avoid crash.
	(grub_menu_run): Likewise.

2007-11-10  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/efi/machine.h: New file.
	* include/grub/i386/linuxbios/machine.h: Likewise.
	* include/grub/i386/pc/machine.h: Likewise.
	* include/grub/powerpc/ieee1275/machine.h: Likewise.
	* include/grub/sparc64/ieee1275/machine.h: Likewise.

	* term/i386/pc/serial.c: Include <grub/machine/machine.h>.
	(serial_hw_io_addr): New variable.
	(serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
	instead of `(unsigned short *) 0x400'.

2007-11-10  Bean  <bean123ch@gmail.com>

	* fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.

2007-11-10  Vesa Jaaskelainen  <chaac@nic.fi>

	* conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
	(vga_mod_SOURCES): Added.
	(vga_mod_CFLAGS): Likewise.
	(vga_mod_LDFLAGS): Likewise.

	* term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
	grub_outb() calls.
	(set_map_mask): Likewise.
	(set_read_map): Likewise.
	(set_read_address): Likewise.
	(vga_font): Removed variable.
	(get_vga_glyph): Removed function.
	(invalidate_char): Likewise.
	(write_char): Changed to use grub_font_get_glyph() for font
	information.
	(grub_vga_putchar): Likewise.
	(grub_vga_getcharwidth): Likewise.

2007-11-10  Vesa Jaaskelainen  <chaac@nic.fi>

	* conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
	flags.
	(pxeboot_img_LDFLAGS): Likewise.
	(diskboot_img_LDFLAGS): Likewise.
	(kernel_img_LDFLAGS): Likewise.

2007-11-06  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
	in grub_outb() calls.
	(serial_hw_init): Likewise.

2007-11-05  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Allow files in ${update_grub_dir} to contain
	spaces.  Skip non-regular files.

2007-11-05  Robert Millan  <rmh@aybabtu.com>

	* kern/disk.c (grub_disk_firmware_fini)
	(grub_disk_firmware_is_tainted): New variables.

	* include/grub/disk.h (grub_disk_firmware_fini)
	(grub_disk_firmware_is_tainted): Likewise.

	* disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
	(grub_disk_biosdisk_fini): ... to here.
	(GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
	(GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
	is set.  Register grub_disk_biosdisk_fini() in
	`grub_disk_firmware_fini'.

	* disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
	(GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
	Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
	to finish existing firmware disk interface.

	* conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
	(ata_mod_SOURCES): New variable.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.

2007-11-05  Robert Millan  <rmh@aybabtu.com>

	* disk/ata.c: Remove `<grub/machine/time.h>'.  Include `<grub/time.h>'.
	(grub_ata_wait): Reimplement using grub_millisleep().

	* include/grub/misc.h (grub_div_roundup): Fix parenthesization.
	* include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.

2007-11-03  Marco Gerards  <marco@gnu.org>

	* term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
	(CRTC_ADDR_PORT): New macro.
	(CRTC_DATA_PORT): Likewise.
	(CRTC_CURSOR): Likewise.
	(CRTC_CURSOR_ADDR_HIGH): Likewise.
	(CRTC_CURSOR_ADDR_LOW): Likewise.
	(update_cursor): New function.
	(grub_console_real_putchar): Call `update_cursor'.
	(grub_console_gotoxy): Likewise.
	(grub_console_cls): Set the default color when clearing the
	screen.
	(grub_console_setcursor): Implemented.

2007-11-03  Marco Gerards  <marco@gnu.org>

	* disk/ata.c (grub_ata_pio_read): Don't wait for the command to
	become activate.
	(grub_ata_pio_write): Likewise.

	(grub_atapi_identify): Wait after issuing an ATA command.
	(grub_atapi_packet): Likewise.
	(grub_ata_identify): Likewise.
	(grub_ata_readwrite): Likewise.

2007-11-03  Marco Gerards  <marco@gnu.org>

	* disk/ata.c (grub_ata_pio_read): Detect and return the error code.
	(grub_ata_pio_write): Likewise.
	(grub_ata_readwrite): Use `grub_error', instead of
	returning `grub_errno'.

2007-11-03  Marco Gerards  <marco@gnu.org>

	* disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
	grub_ata_pio_write once for every single sector, instead of for
	multiple sectors.

2007-10-31  Robert Millan  <rmh@aybabtu.com>

	* configure.ac: Add `i386-linuxbios' to the list of supported targets.

	* conf/i386-linuxbios.rmk: New file.

	* kern/i386/pc/hardware.c: Likewise.
	* term/i386/pc/at_keyboard.c: Likewise.
	* term/i386/pc/vga_text.c: Likewise.

	* include/grub/i386/linuxbios/boot.h: Likewise.
	* include/grub/i386/linuxbios/console.h: Likewise.
	* include/grub/i386/linuxbios/init.h: Likewise.
	* include/grub/i386/linuxbios/kernel.h: Likewise.
	* include/grub/i386/linuxbios/loader.h: Likewise.
	* include/grub/i386/linuxbios/memory.h: Likewise.
	* include/grub/i386/linuxbios/serial.h: Likewise.
	* include/grub/i386/linuxbios/time.h: Likewise.

	* kern/i386/linuxbios/init.c: Likewise.
	* kern/i386/linuxbios/startup.S: Likewise.
	* kern/i386/linuxbios/table.c: Likewise.

2007-10-31  Marco Gerards  <marco@gnu.org>

	* conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
	(ata_mod_SOURCES): New variable.
	(ata_mod_CFLAGS): Likewise.
	(ata_mod_LDFLAGS): Likewise.

	* disk/ata.c: New file.

	* include/grub/disk.h (grub_disk_dev_id): Add
	`GRUB_DISK_DEV_ATA_ID'.

2007-10-31  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
	* include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.

	* include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
	* include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.

	* include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
	`<grub/types.h>'.

	* loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.

2007-10-27  Robert Millan  <rmh@aybabtu.com>

	* include/grub/types.h (ULONG_MAX): Define macro.

2007-10-22  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'.  Include
	`"../realmode.S"'.
	Remove `"kern/i386/loader.S"'.  Include `"../loader.S"'.

2007-10-22  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
	(pkgdata_MODULES): Add `biosdisk.mod'.
	(biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
	variables.

	* disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
	(grub_biosdisk_init): Replace with ...
	(GRUB_MOD_INIT(biosdisk)): ... this.
	(grub_biosdisk_fini): Replace with ...
	(GRUB_MOD_FINI(biosdisk)): ... this.

	* kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
	(grub_machine_init): Remove call to grub_biosdisk_init().
	(grub_machine_fini): Remove call to grub_machine_fini().

	* util/i386/pc/grub-install.in (modules): Add `biosdisk'.

2007-10-22  Robert Millan  <rmh@aybabtu.com>

	* include/grub/time.h: New file.
	* include/grub/i386/time.h: Likewise.
	* include/grub/powerpc/time.h: Likewise.
	* include/grub/sparc64/time.h: Likewise.

	* include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.
	* include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.
	* include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
	instances to ...
	(KERNEL_MACHINE_TIME_HEADER): ... this.

	* kern/i386/efi/init.c: Include `<grub/time.h>'.
	(grub_millisleep): New function.
	* kern/i386/pc/init.c: Include `<grub/time.h>'.
	(grub_millisleep): New function.
	* kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
	Remove `grub/machine/time.h' include.
	(grub_millisleep): New function.
	* kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
	Remove `grub/machine/time.h' include.
	(grub_millisleep): New function.

	* include/grub/misc.h (grub_div_roundup): New function.

	* kern/misc.c: Include `<grub/time.h>'.
	(grub_millisleep_generic): New function.

	* conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
	Add `time.h'.
	* conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
	Add `time.h'.
	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
	`machine/time.h'.  Add `time.h'.
	* conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.

2007-10-21  Robert Millan  <rmh@aybabtu.com>

	* include/grub/misc.h (grub_max): New function.

2007-10-21  Robert Millan  <rmh@aybabtu.com>

	* util/misc.c (grub_util_info): Call fflush() before returning.

2007-10-20  Robert Millan  <rmh@aybabtu.com>

	* genmk.rb (Image): Copy `extra_flags' from here ...
	(PModule): ... to here.  Use it in `#{obj}: #{src}' rule.

	* commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
	to `argc' and `args' arguments.

2007-10-17  Robert Millan  <rmh@aybabtu.com>

	* kern/i386/loader.S: New file.

	* kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
	* kern/i386/loader.S (grub_linux_prot_size)... to here.
	* kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
	* kern/i386/loader.S (grub_linux_tmp_addr)... to here.
	* kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
	* kern/i386/loader.S (grub_linux_real_addr)... to here.
	* kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
	* kern/i386/loader.S (grub_linux_boot_zimage)... to here.
	* kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
	* kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
	* kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
	* kern/i386/loader.S (grub_multiboot_real_boot)... to here.
	* kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
	* kern/i386/loader.S (grub_multiboot2_real_boot)... to here.

	* kern/i386/realmode.S: New file.

	* kern/i386/pc/startup.S (protstack): Moved from here ...
	* kern/i386/realmode.S (protstack)... to here.
	* kern/i386/pc/startup.S (gdt): Moved from here ...
	* kern/i386/realmode.S (gdt)... to here.
	* kern/i386/pc/startup.S (prot_to_real): Moved from here ...
	* kern/i386/realmode.S (prot_to_real)... to here.

	* kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
	`kern/i386/realmode.S'.

2007-10-17  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/loader.h: New file.

	* include/grub/i386/pc/loader.h (grub_linux_prot_size)
	(grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
	(grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
	(grub_multiboot_real_boot, grub_multiboot2_real_boot)
	(grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
	* include/grub/i386/loader.h (grub_linux_prot_size)
	(grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
	(grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
	(grub_multiboot_real_boot, grub_multiboot2_real_boot)
	(grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.

	* include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.

2007-10-15  Robert Millan  <rmh@aybabtu.com>

	* normal/misc.c (grub_normal_print_device_info): Do not probe for
	filesystem when dev->disk is unset.
	Do probe for filesystem even when dev->disk->has_partitions is set.
	In case a filesystem is found, always report it.
	In case it isn't, if dev->disk->has_partitions is set, report that
	a partition table was found instead of reporting that no filesystem
	could be identified.

2007-10-12  Robert Millan  <rmh@aybabtu.com>

	* conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
	to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.

	* include/grub/types.h (grub_host_to_target16): New macro.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.
	(grub_target_to_host16): Likewise.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.

	* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
	Renamed from to ...
	(GRUB_MOD_ALIGN): ...this.  Update all users.

	* util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
	grub_host_to_target32.
	Replace grub_be_to_cpu32 with grub_target_to_host32.
	(load_modules): Likewise.
	(add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
	Replace grub_be_to_cpu32 with grub_target_to_host32.
	Replace grub_cpu_to_be16 with grub_host_to_target16.
	Replace grub_cpu_to_be32 grub_host_to_target32.

2007-10-12  Robert Millan  <rmh@aybabtu.com>

	* util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
	* util/elf/grub-mkimage.c: ... here.

	* DISTLIST: Add `util/elf/grub-mkimage.c'.  Remove
	`util/powerpc/ieee1275/grub-mkimage.c'.

2007-10-07  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
	and make it easier to figure out.
	Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
	(grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
	Do not avoid claiming a region above HEAP_MAX_ADDR if that would
	leave us with less than HEAP_MIN_SIZE total heap.
	Avoid our total amount of heap to surpass HEAP_MAX_SIZE.

2007-10-03  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/io.h: New file.
	* commands/i386/pc/play.c (inb): Removed.
	(outb): Removed.
	Include grub/cpu/io.h.  Replace inb() with grub_inb() and outb()
	with grub_outb().
	* term/i386/pc/serial.c  (inb): Removed.
	(outb): Removed.
	Include grub/cpu/io.h.  Replace inb() with grub_inb() and outb()
	with grub_outb().
	* term/i386/pc/vga.c  (inb): Removed.
	(outb): Removed.
	Include grub/cpu/io.h.  Replace inb() with grub_inb() and outb()
	with grub_outb().

2007-10-02  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	Reported by Marcin Kurek.

2007-09-07  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
	SmartFirmware version updates (as released by Sven Luther), and avoid
	setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
	GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
	known broken.

2007-09-03  Yoshinori K. Okuji  <okuji@enbug.org>

	From Hitoshi Ozeki:
	* kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
	when merging two regions.

2007-09-03  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
	* normal/completion.c (grub_normal_do_completion): Likewise.
	Reported by Hitoshi Ozeki.

2007-09-03  Yoshinori K. Okuji  <okuji@enbug.org>

	Do not use devices at boot in chainloading.

	* loader/i386/pc/chainloader.c (boot_drive): New variable.
	(boot_part_addr): Likewise.
	(grub_chainloader_boot): Simply call grub_chainloader_real_boot
	with BOOT_DRIVE and BOOT_PART_ADDR.
	(grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
	Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.

2007-08-29  Robert Millan  <rmh@aybabtu.com>

	Patch from Simon Peter <dn.tlp@gmx.net>:
	* genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
	* conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
	util/grub-probe.c_DEPENDENCIES.  Replace grub-setup_DEPENDENCIES with
	util/i386/pc/grub-setup.c_DEPENDENCIES.
	* conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
	util/grub-probe.c_DEPENDENCIES.
	* conf/powerpc-ieee1275.rmk: Likewise.

2007-08-28  Robert Millan  <rmh@aybabtu.com>

	* util/i386/get_disk_name.c: New.  Implement grub_util_get_disk_name()
	to tell grub-mkdevicemap how to name devices.
	* util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
	feature).

	* conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
	util/i386/get_disk_name.c.
	* conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
	util/ieee1275/get_disk_name.c.

	* include/grub/util/misc.h: grub_util_get_disk_name() declaration.

	* DISTLIST: Add util/i386/get_disk_name.c and
	util/ieee1275/get_disk_name.c.

	* util/grub-mkdevicemap.c: Replace device naming logic with
	grub_util_get_disk_name() calls.

2007-08-20  Robert Millan  <rmh@aybabtu.com>

	* normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
	(so that it works for both plural and singular quantities).

2007-08-05  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
	so that [xz] isn't taken into account when determining order.

2007-08-02  Marco Gerards  <marco@gnu.org>

	* DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
	`include/multiboot2.h', `include/grub/elfload.h',
	`include/multiboot.h', `include/grub/multiboot.h',
	`include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
	`include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
	`kern/elf.c', `loader/multiboot_loader.c',
	`loader/multiboot_loader_normal.c', `loader/multiboot2.c',
	`loader/i386/pc/multiboot2.c',
	`loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
	`util/i386/pc/grub-mkrescue.in'.  Remove
	`include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
	`include/grub/i386/pc/util/biosdisk.h' and
	`include/grub/powerpc/ieee1275/multiboot.h'.

2007-08-02  Bean  <bean123ch@gmail.com>

	* conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
	(ntfs_mod_SOURCES): New variable.
	(ntfs_mod_CFLAGS): Likewise.
	(ntfs_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
	(grub_probe_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
	(grub_emu_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
	(grub_emu_SOURCES): Likewise.

	* conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.

	* fs/ntfs.c: New file.

2007-08-02  Bean  <bean123ch@gmail.com>

	* disk.h (grub_disk): Use NESTED_FUNC_ATTR.

	* file.h (grub_file): Likewise.

	* fshelp.h (grub_fshelp_read_file): Likewise.

	* util/i386/pc/grub-setup.c (setup): Likewise.
	(save_first_sector): Likewise.
	(save_blocklists): Likewise.

	* fs/affs.c (grub_affs_read_file): Likewise.

	* fs/ext2.c (grub_ext2_read_file): Likewise.

	* fs/fat.c (grub_fat_read_data): Likewise.

	* fs/fshelp.c (grub_fshelp_read_file): Likewise.

	* fs/hfs.c (grub_hfs_read_file): Likewise.

	* fs/hfsplus.c (grub_hfsplus_read_file): Likewise.

	* fs/jfs.c (grub_jfs_read_file): Likewise.

	* fs/minix.c (grub_minix_read_file): Likewise.

	* fs/sfs.c (grub_sfs_read_file): Likewise.

	* fs/ufs.c (grub_ufs_read_file): Likewise.

	* fs/xfs.c (grub_xfs_read_file): Likewise.

	* command/blocklist.c (read_blocklist): Likewise.
	(print_blocklist): Likewise.

2007-08-02  Marco Gerards  <marco@gnu.org>

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
	`util/hostfs.c'.

	* disk/host.c: New file.

	* util/hostfs.c: Likewise.

	* fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
	return `GRUB_ERR_BAD_FS'.
	* fs/sfs.c (grub_sfs_mount): Likewise.
	* fs/xfs.c (grub_xfs_mount): Likewise.

	* include/grub/disk.h (enum grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_HOST_ID'.

	* util/grub-emu.c (main): Initialize and de-initialize hostfs.

2007-07-24  Jerone Young  <jerone@gmail.com>

	* conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
	modules for compilation.
	* conf/powerpc-ieee1275.rmk: Likewise.

	* include/multiboot.h: Move multiboot definitions to one file. Rename
	many definitions to not get grub specific.
	* include/multiboot2.h: Create header with multiboot 2 definitions.
	* include/grub/multiboot.h: Header for grub specific function
	prototypes and definitions.
	* include/grub/multiboot2.h: Likewise.
	* include/grub/multiboot_loader.h: Likewise.
	* include/grub/i386/pc/multiboot.h: Removed.
	* include/grub/powerpc/ieee1275/multiboot.h: Removed.

	* loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
	and 2 to allow for one multiboot and module commands.
	* loader/multiboot2.c: Add multiboot2 functionality.
	* loader/i386/pc/multiboot.c: Modify for new multiboot header location
	and definition names.
	* loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
	2 functions.
	* loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
	ieee1275 specific multiboot2 code.

	* kern/i386/pc/startup.S: Change headers and definition names for
	multiboot. Add function grub_multiboot2_real_boot for multiboot 2.

2007-07-22  Robert Millan  <rmh@aybabtu.com>

	* geninitheader.sh: Process file specified in first parameter rather
	than hardcoding grub_modules_init.lst.
	* geninit.sh: Likewise.  Also, construct header name dynamically rather
	than hardcoding grub_modules_init.h.

	* conf/common.rmk: Rename grub_modules_init.[ch] files associated with
	grub-emu to grub_emu_init.[ch].  Add rules to build analogous
	grub_probe_init.[ch] and grub_setup_init.[ch].

	* conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
	grub_modules_init.h with grub_emu_init.h.
	(grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
	grub_probe_init.[ch] files.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	(grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
	grub_setup_init.[ch] files.

	* util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
	* util/grub-probe.c: Include grub_probe_init.h.  Use grub_init_all()
	to initialize modules rather than a list of hardcoded functions.
	* util/i386/pc/grub-setup.c: Include grub_setup_init.h.  Use
	grub_init_all() to initialize modules rather than a list of hardcoded
	functions.

2007-07-22  Robert Millan  <rmh@aybabtu.com>

	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
	GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.

2007-07-22  Robert Millan  <rmh@aybabtu.com>

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
	GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
	flag when running on SmartFirmware.
	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
	"output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
	was set.

	* kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
	Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
	rather than decreasing it.

	* util/i386/pc/grub-setup.c (setup): When embedding is required, but
	there's not enough space to do it, fail in the same way as when it
	can't be done because there are no partitions.

	* util/powerpc/ieee1275/grub-install.in: Improve error message shown
	when nvsetenv failed.

2007-07-22  Yoshinori K. Okuji  <okuji@enbug.org>

	* conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
	because this rule is automatically generated.
	(grub-mkrescue): Removed for the same reason as above.

2007-07-22  Yoshinori K. Okuji  <okuji@enbug.org>

	Migrate to GNU General Public License Version 3.

	* COPYING: Replaced with the plain text version of GPLv3.

	* config.guess: Updated from gnulib.
	* config.sub: Likewise.

	* geninit.sh: Output a GPLv3 copyright notice.
	* geninitheader.sh: Likewise.
	* genmodsrc.sh: Likewise.
	* gensymlist.sh.in: Likewise.

	* boot/i386/pc/boot.S: Upgraded to GPLv3.
	* boot/i386/pc/diskboot.S: Likewise.
	* boot/i386/pc/pxeboot.S: Likewise.
	* commands/blocklist.c: Likewise.
	* commands/boot.c: Likewise.
	* commands/cat.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/configfile.c: Likewise.
	* commands/echo.c: Likewise.
	* commands/help.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/search.c: Likewise.
	* commands/terminal.c: Likewise.
	* commands/test.c: Likewise.
	* commands/videotest.c: Likewise.
	* commands/i386/cpuid.c: Likewise.
	* commands/i386/pc/halt.c: Likewise.
	* commands/i386/pc/play.c: Likewise.
	* commands/i386/pc/reboot.c: Likewise.
	* commands/i386/pc/vbeinfo.c: Likewise.
	* commands/i386/pc/vbetest.c: Likewise.
	* commands/ieee1275/halt.c: Likewise.
	* commands/ieee1275/reboot.c: Likewise.
	* commands/ieee1275/suspend.c: Likewise.
	* disk/loopback.c: Likewise.
	* disk/lvm.c: Likewise.
	* disk/raid.c: Likewise.
	* disk/efi/efidisk.c: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/ieee1275/ofdisk.c: Likewise.
	* font/manager.c: Likewise.
	* fs/affs.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/fat.c: Likewise.
	* fs/fshelp.c: Likewise.
	* fs/hfs.c: Likewise.
	* fs/hfsplus.c: Likewise.
	* fs/iso9660.c: Likewise.
	* fs/jfs.c: Likewise.
	* fs/minix.c: Likewise.
	* fs/sfs.c: Likewise.
	* fs/ufs.c: Likewise.
	* fs/xfs.c: Likewise.
	* hello/hello.c: Likewise.
	* include/grub/acorn_filecore.h: Likewise.
	* include/grub/arg.h: Likewise.
	* include/grub/bitmap.h: Likewise.
	* include/grub/boot.h: Likewise.
	* include/grub/cache.h: Likewise.
	* include/grub/device.h: Likewise.
	* include/grub/disk.h: Likewise.
	* include/grub/dl.h: Likewise.
	* include/grub/elfload.h: Likewise.
	* include/grub/env.h: Likewise.
	* include/grub/err.h: Likewise.
	* include/grub/file.h: Likewise.
	* include/grub/font.h: Likewise.
	* include/grub/fs.h: Likewise.
	* include/grub/fshelp.h: Likewise.
	* include/grub/gzio.h: Likewise.
	* include/grub/hfs.h: Likewise.
	* include/grub/kernel.h: Likewise.
	* include/grub/loader.h: Likewise.
	* include/grub/lvm.h: Likewise.
	* include/grub/misc.h: Likewise.
	* include/grub/mm.h: Likewise.
	* include/grub/net.h: Likewise.
	* include/grub/normal.h: Likewise.
	* include/grub/parser.h: Likewise.
	* include/grub/partition.h: Likewise.
	* include/grub/pc_partition.h: Likewise.
	* include/grub/raid.h: Likewise.
	* include/grub/rescue.h: Likewise.
	* include/grub/script.h: Likewise.
	* include/grub/setjmp.h: Likewise.
	* include/grub/symbol.h: Likewise.
	* include/grub/term.h: Likewise.
	* include/grub/terminfo.h: Likewise.
	* include/grub/tparm.h: Likewise.
	* include/grub/types.h: Likewise.
	* include/grub/video.h: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/chainloader.h: Likewise.
	* include/grub/efi/console.h: Likewise.
	* include/grub/efi/console_control.h: Likewise.
	* include/grub/efi/disk.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/efi/time.h: Likewise.
	* include/grub/i386/linux.h: Likewise.
	* include/grub/i386/setjmp.h: Likewise.
	* include/grub/i386/types.h: Likewise.
	* include/grub/i386/efi/kernel.h: Likewise.
	* include/grub/i386/efi/loader.h: Likewise.
	* include/grub/i386/efi/time.h: Likewise.
	* include/grub/i386/pc/biosdisk.h: Likewise.
	* include/grub/i386/pc/boot.h: Likewise.
	* include/grub/i386/pc/chainloader.h: Likewise.
	* include/grub/i386/pc/console.h: Likewise.
	* include/grub/i386/pc/init.h: Likewise.
	* include/grub/i386/pc/kernel.h: Likewise.
	* include/grub/i386/pc/loader.h: Likewise.
	* include/grub/i386/pc/memory.h: Likewise.
	* include/grub/i386/pc/multiboot.h: Likewise.
	* include/grub/i386/pc/serial.h: Likewise.
	* include/grub/i386/pc/time.h: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* include/grub/i386/pc/vbeblit.h: Likewise.
	* include/grub/i386/pc/vbefill.h: Likewise.
	* include/grub/i386/pc/vbeutil.h: Likewise.
	* include/grub/i386/pc/vga.h: Likewise.
	* include/grub/ieee1275/ieee1275.h: Likewise.
	* include/grub/ieee1275/ofdisk.h: Likewise.
	* include/grub/powerpc/libgcc.h: Likewise.
	* include/grub/powerpc/setjmp.h: Likewise.
	* include/grub/powerpc/types.h: Likewise.
	* include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
	* include/grub/powerpc/ieee1275/console.h: Likewise.
	* include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
	* include/grub/powerpc/ieee1275/kernel.h: Likewise.
	* include/grub/powerpc/ieee1275/loader.h: Likewise.
	* include/grub/powerpc/ieee1275/multiboot.h: Likewise.
	* include/grub/powerpc/ieee1275/time.h: Likewise.
	* include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
	* include/grub/sparc64/libgcc.h: Likewise.
	* include/grub/sparc64/setjmp.h: Likewise.
	* include/grub/sparc64/types.h: Likewise.
	* include/grub/sparc64/ieee1275/console.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/ieee1275/kernel.h: Likewise.
	* include/grub/sparc64/ieee1275/time.h: Likewise.
	* include/grub/util/biosdisk.h: Likewise.
	* include/grub/util/getroot.h: Likewise.
	* include/grub/util/lvm.h: Likewise.
	* include/grub/util/misc.h: Likewise.
	* include/grub/util/raid.h: Likewise.
	* include/grub/util/resolve.h: Likewise.
	* io/gzio.c: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/dl.c: Likewise.
	* kern/elf.c: Likewise.
	* kern/env.c: Likewise.
	* kern/err.c: Likewise.
	* kern/file.c: Likewise.
	* kern/fs.c: Likewise.
	* kern/loader.c: Likewise.
	* kern/main.c: Likewise.
	* kern/misc.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/parser.c: Likewise.
	* kern/partition.c: Likewise.
	* kern/rescue.c: Likewise.
	* kern/term.c: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/efi/init.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/efi/init.c: Likewise.
	* kern/i386/efi/startup.S: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/lzo1x.S: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* kern/ieee1275/ieee1275.c: Likewise.
	* kern/powerpc/cache.S: Likewise.
	* kern/powerpc/dl.c: Likewise.
	* kern/powerpc/ieee1275/cmain.c: Likewise.
	* kern/powerpc/ieee1275/crt0.S: Likewise.
	* kern/powerpc/ieee1275/init.c: Likewise.
	* kern/powerpc/ieee1275/openfw.c: Likewise.
	* kern/sparc64/cache.S: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/sparc64/ieee1275/init.c: Likewise.
	* kern/sparc64/ieee1275/openfw.c: Likewise.
	* loader/efi/chainloader.c: Likewise.
	* loader/efi/chainloader_normal.c: Likewise.
	* loader/i386/efi/linux.c: Likewise.
	* loader/i386/efi/linux_normal.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/chainloader_normal.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/linux_normal.c: Likewise.
	* loader/i386/pc/multiboot.c: Likewise.
	* loader/i386/pc/multiboot_normal.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Likewise.
	* loader/powerpc/ieee1275/linux_normal.c: Likewise.
	* normal/arg.c: Likewise.
	* normal/cmdline.c: Likewise.
	* normal/command.c: Likewise.
	* normal/completion.c: Likewise.
	* normal/execute.c: Likewise.
	* normal/function.c: Likewise.
	* normal/lexer.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu.c: Likewise.
	* normal/menu_entry.c: Likewise.
	* normal/misc.c: Likewise.
	* normal/parser.y: Likewise.
	* normal/script.c: Likewise.
	* normal/i386/setjmp.S: Likewise.
	* normal/powerpc/setjmp.S: Likewise.
	* normal/sparc64/setjmp.S: Likewise.
	* partmap/acorn.c: Likewise.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* partmap/gpt.c: Likewise.
	* partmap/pc.c: Likewise.
	* partmap/sun.c: Likewise.
	* term/gfxterm.c: Likewise.
	* term/terminfo.c: Likewise.
	* term/efi/console.c: Likewise.
	* term/i386/pc/console.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* term/ieee1275/ofconsole.c: Likewise.
	* util/biosdisk.c: Likewise.
	* util/console.c: Likewise.
	* util/genmoddep.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-emu.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/lvm.c: Likewise.
	* util/misc.c: Likewise.
	* util/raid.c: Likewise.
	* util/resolve.c: Likewise.
	* util/update-grub.in: Likewise.
	* util/update-grub_lib.in: Likewise.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
	* util/i386/efi/grub-install.in: Likewise.
	* util/i386/efi/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-install.in: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-mkrescue.in: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/i386/pc/misc.c: Likewise.
	* util/powerpc/ieee1275/grub-install.in: Likewise.
	* util/powerpc/ieee1275/grub-mkimage.c: Likewise.
	* util/powerpc/ieee1275/misc.c: Likewise.
	* video/bitmap.c: Likewise.
	* video/video.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* video/i386/pc/vbeblit.c: Likewise.
	* video/i386/pc/vbefill.c: Likewise.
	* video/i386/pc/vbeutil.c: Likewise.
	* video/readers/tga.c: Likewise.

2007-07-02  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-efi.rmk: Replace obsolete reference to
	util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
	with util/getroot.c.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.

	* util/grub-emu.c (main): Fix unchecked pointer handling.

2007-07-02  Robert Millan  <rmh@aybabtu.com>

	* util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
	invocation to fail, in order to support partition-less media.

	* util/i386/pc/grub-install.in: Likewise.

	* util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
	which fs or partmap modules are needed (akin to its sister scripts).

	Also use grub-probe to get rid of unportable /proc/mounts check.

	Print the same informational message that the other scripts do, before
	exiting.

2007-06-23  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (font_path): New function.  Determine whether
	a font file can be found and, if so, echo the GRUB path to it.

	* util/update-grub.in: Handle multiple terminals depending on user
	input, platform availability and font file presence.  Propagate
	variables of our findings to /etc/grub.d/ children.

	* util/grub.d/00_header.in: Handle multiple terminals, based on
	environment setup by update-grub.

2007-06-23  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.

2007-06-21  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
	indicate end of data section in kernel image.
	* include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
	GRUB_KERNEL_MACHINE_DATA_END.

	* kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
	space for it.
	* kern/i386/efi/startup.S: Likewise.

	* util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
	during image generation.  Implement --prefix option to override this
	patch.
	* util/i386/efi/grub-mkimage.c: Likewise.

	* util/update-grub_lib.in (convert_system_path_to_grub_path): Split
	code to make path relative to its root into a separate function.

	* util/i386/pc/grub-install.in: Use newly provided
	make_system_path_relative_to_its_root() to convert ${grubdir}, then
	pass the result to grub-install --prefix.

2007-06-13  Robert Millan  <rmh@aybabtu.com>

	* include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
	DEFAULT_DEVICE_MAP.
	* util/grub-emu.c: Use above definitions from misc.h instead of
	defining them.
	* util/grub-mkdevicemap.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/grub-probe.c: Likewise.
	(probe): Abort with grub_util_error() when either
	grub_guess_root_device or grub_util_get_grub_dev fails.

2007-06-12  Robert Millan  <rmh@aybabtu.com>

	* normal/command.c (grub_command_execute): Use NULL rather than 0 for
	"pager" assignment.
	* util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
	"pcdata".
	* util/grub-probe.c (probe): Likewise for "drive_name".

2007-06-11  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
	not just the cdrom one.

2007-06-11  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-mkrescue.in: Add "set -e".
	Add --pkglibdir=DIR option to override pkglibdir.
	Mention --image-type=TYPE in help output.
	Fix --grub-mkimage (it was a no-op).
	Abort gracefully when no parameter is given.

2007-06-11  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-mkrescue.in: New file.
	* conf/i386-pc.rmk: Add its build declarations.  Put it in bin_SCRIPTS.
	* Makefile.in: Handle bin_SCRIPTS.

2007-06-10  Vesa Jaaskelainen  <chaac@nic.fi>

	* term/gfxterm.c (grub_gfxterm_init): Added support for specifying
	list of video modes.

2007-06-06  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
	file doesn't exist, or if it is in a filesystem grub can't read.

	* util/update-grub.in: Set fallback for GRUB_FS check to "unknown".  Do
	not abort if GRUB_DRIVE could not be defined.  Rearrange generated
	header comment to fit in 80 columns when the variables are resolved.

	* util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
	could be identified by update-grub.  Remove redundant check for
	unifont.pff existence (since convert_system_path_to_grub_path now
	handles that).

2007-06-04  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.

	* conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.

2007-06-04  Robert Millan  <rmh@aybabtu.com>

	* conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.

	* include/grub/partition.h: Declare grub_apple_partition_map_init and
	grub_apple_partition_map_fini.

	* util/biosdisk.c
	(grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
	to access >2 TiB disks).

	Print disk->total_sectors with %llu instead of %lu, since this
	variable is always 64-bit (prevents wrong disk size from being displayed
	on either >2 TiB disk or big-endian CPU).

	(grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
	into a generic case that supports all (sane) partition maps.

	Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
	breaks big-endian.

	* util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
	and grub_apple_partition_map_fini() after that.

2007-06-01  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Export GRUB_CMDLINE_LINUX.

	* util/grub.d/00_header.in: Only enable gfxterm when
	convert_system_path_to_grub_path() succeeds.

2007-05-20  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub_lib.in: New file.
	* DISTLIST: Add update-grub_lib.in.
	* conf/common.rmk: Generate update-grub_lib and install it in
	$(lib_DATA).
	* Makefile.in: Add install routine for $(lib_DATA).

	* util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
	function provided by update-grub_lib to support arbitrary paths of
	unifont.pff.
	* util/update-grub.in: Use convert_system_path_to_grub_path() to
	initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.

2007-05-19  Robert Millan  <rmh@aybabtu.com>

	* commands/i386/cpuid.c: New module.
	* DISTLIST: Add it.
	* conf/i386-efi.rmk: Enable cpuid.mod.
	* conf/i386-pc.rmk: Likewise.

2007-05-18  Jeroen Dekkers  <jeroen@dekkers.cx>

	* kern/disk.c (grub_disk_read): Check return value of
	grub_realloc().

2007-05-18  Jeroen Dekkers  <jeroen@dekkers.cx>

	* util/getroot.c (grub_util_get_grub_dev): Support partitionable
	arrays.
	* disk/raid.c (grub_raid_open): Likewise.

2007-05-17  Jeroen Dekkers  <jeroen@dekkers.cx>

	* util/biosdisk.c (linux_find_partition): Allocate real_dev on the
	stack instead of on the heap.

	* kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
	before doing a read on it.

	* configure.ac: Only use -fno-stack-protector for the target
	environment.

2007-05-17  Jeroen Dekkers  <jeroen@dekkers.cx>

	* video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
	__attribute_ ((unused)) to mode_type argument.

	* util/getroot.c (grub_guess_root_device): Fix #endif.

	* kern/misc.c (memcmp): Fix prototype.

	* include/grub/partition.h [GRUB_UTIL]
	(grub_gpt_partition_map_init): Add prototype.
	(grub_gpt_partition_map_fini): Likewise.

	* fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
	at the right place.

	* fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
	(grub_fat_read_data): Likewise.
	(grub_fat_find_dir): Likewise.

	* font/manager.c (find_glyph): Make table a const.
	(grub_font_get_glyph): Remove bitmap from if statement.

2007-05-16  Jeroen Dekkers  <jeroen@dekkers.cx>

	* util/getroot.c (grub_guess_root_device): Remove RAID and LVM
	code, first search for device in /dev/mapper, then in /dev.
	(grub_util_get_grub_dev): New function.
	* include/grub/util/getroot.h (grub_util_get_grub_dev): Add
	prototype.
	* util/grub-probe.c (probe): Remove check for RAID, call
	grub_util_get_grub_dev() instead of
	grub_util_biosdisk_get_grub_dev().
	* util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
	grub_util_biosdisk_get_grub_dev().
	* util/i386/pc/grub-setup.c (main): Likewise.

2007-05-16  Robert Millan  <rmh@aybabtu.com>

	* DISTLIST: Update for the latest changes.
	* conf/i386-pc.rmk: Use the new paths for util/getroot.c,
	util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
	* util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
	grub/util/biosdisk.h.
	* util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
	grub/util/biosdisk.h.

2007-05-16  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/00_header.in: Set default gfxmode to `640x480'.

2007-05-16  Robert Millan  <rmh@aybabtu.com>

	* util/i386/efi/grub-install.in: New.
	* conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
	newly added grub-install.
	* util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
	include.
	* util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
	grub/util/biosdisk.h.
	* util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
	grub/util/biosdisk.h.

2007-05-16  Robert Millan  <rmh@aybabtu.com>

	* include/grub/i386/pc/util/biosdisk.h: Moved to ...
	* include/grub/util/biosdisk.h: ... here.
	* util/i386/pc/biosdisk.c: Moved to ...
	* util/biosdisk.c: ... here.
	* util/i386/pc/getroot.c: Moved to ...
	* util/getroot.c: ... here.
	* util/i386/pc/grub-mkdevicemap.c: Moved to ...
	* util/grub-mkdevicemap.c: ... here.
	* util/i386/pc/grub-probe.c: Moved to ...
	* util/grub-probe.c: ... here.

2007-05-15  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Remove duplicated line in grub.cfg header
	message.

2007-05-13  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Fix a few assumptions about the devices holding
	/, /boot and /boot/grub being the same.
	* util/grub.d/00_header.in: Likewise.
	* util/grub.d/10_hurd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.

	* util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
	patterns.  Use that to define the `.old' suffix as older than `'.

	* util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.

	* util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
	the grub.cfg header message.

2007-05-11  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Create device.map if it doesn't already exist,
	before attempting to run grub-probe.
	Check for grub-probe and grub-mkdevicemap with the same code
	grub-install is using.
	Remove test mode.

2007-05-09  Jeroen Dekkers  <jeroen@dekkers.cx>

	* Makefile.in: Add the datarootdir autoconf variable.

2007-05-09  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-probe.c (probe): When detecting partition map,
	fail gracefully if dev->disk->partition == NULL.

2007-05-07  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
	determine partition map module.
	* util/i386/pc/grub-install.in: Use this feature to decide which
	partition module to load, instead of hardcoding pc and gpt.

2007-05-07  Robert Millan  <rmh@aybabtu.com>

	* Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
	source directory differs from build directory.

2007-05-05  Robert Millan  <rmh@aybabtu.com>

	* util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
	initialisation.

2007-05-05  Robert Millan  <rmh@aybabtu.com>

	* util/update-grub.in: Create ${grub_prefix} if it doesn't exist.

2007-05-05  Robert Millan  <rmh@aybabtu.com>

	* util/grub.d/10_linux.in: Allow the administrator to insert Linux
	command-line arguments via ${GRUB_CMDLINE_LINUX}.

2007-05-05  Robert Millan  <rmh@aybabtu.com>

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
	(grub_probe_SOURCES): Likewise.
	* util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
	GPT and initialize dos_part and bsd_part accordingly.
	* util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
	install_bsd_part.
	(main): Activate gpt module for use during partition identification,
	and deactivate it afterwards.
	* util/i386/pc/grub-install.in: Add gpt module to core.img.
	* util/i386/pc/grub-probe.c (main): Activate gpt module for use during
	partition identification, and deactivate it afterwards.

2007-05-05  Robert Millan  <rmh@aybabtu.com>

	* term/i386/pc/console.c (grub_console_fini): Call
	grub_term_set_current() before grub_term_unregister().

2007-05-04  Robert Millan  <rmh@aybabtu.com>

	* DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
	util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
	* Makefile.in: Build update-grub_SCRIPTS.  Install update-grub_SCRIPTS
	and update-grub_DATA.
	* conf/common.rmk: Build and install update-grub components.
	* conf/common.mk: Regenerate.
	* util/update-grub.in: New.  Core of update-grub.
	* util/grub.d/00_header.in: New.  Generates grub.cfg header.
	* util/grub.d/10_hurd.in: New.  Generates boot entries for the Hurd.
	* util/grub.d/10_linux.in: New.  Generates boot entries for Linux.
	* util/grub.d/README: New.  Document grub.d directory layout.

2007-05-01  Robert Millan  <rmh@aybabtu.com>

	* util/grub-emu.c: Move initialization functions
	grub_util_biosdisk_init() and grub_init_all() before
	grub_util_biosdisk_get_grub_dev(), which relies on them.

2007-04-19  Robert Millan  <rmh@aybabtu.com>

	* util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
	it is used later.

2007-04-18  Jerone Young  <jerone@gmail.com>

	* kernel/elf.c: Add missing parenthesis for conditional statement
	stanza.

2007-04-10  Jerone Young  <jerone@gmail.com>

	* util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
	continue on and look for device node with real device name.

2007-04-10  Jerone Young  <jerone@gmail.com>

	* configure.ac: Add argument for autoconf to use transformation
	ability.
	* Makefile.in: Add autoconf package transformation code.
	* util/i386/pc/grub-install.in: Likewise.
	* util/powerpc/ieee1275/grub-install.in: Likewise.

2007-03-19  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
	(EXT2_GOOD_OLD_INODE_SIZE): Likewise.
	(EXT2_REVISION): Likewise.
	(EXT2_INODE_SIZE): Likewise.
	(struct grub_ext2_block_group): Added a missing member
	"used_dirs".
	(grub_ext2_read_inode): Divide by the inode size in a superblock
	instead of 128 to obtain INODES_PER_BLOCK.
	Use the macro EXT2_INODE_SIZE instead of directly using
	SBLOCK->INODE_SIZE.

2007-03-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
	superblock instead of the structure size to compute an
	offset. This fixes the problem that GRUB could not read a
	filesystem when inode size is different from 128-byte.

2007-03-05  Marco Gerards  <marco@gnu.org>

	* normal/main.c (read_config_file): When "menu" is not set, create
	an initial context.

2007-02-21  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
	(HEAP_LIMIT): New macro.
	(grub_claim_heap): Claim memory up to `heaplimit'.

2007-02-21  Hollis Blanchard  <hollis@penguinppc.org>

	* conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
	* kern/powerpc/ieee1275/init.c (_end): Add declaration.
	(_start): Likewise.
	(grub_arch_modules_addr): Return address after `_end'.
	* util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
	(load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
	(add_segments): Calculate `_end' from phdr size and location.
	(ALIGN_UP): Moved to ...
	* include/grub/misc.h: here.
	* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
	New macro.
	(GRUB_IEEE1275_MODULE_BASE): Removed.

2007-02-20  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
	loop boundary.

2007-02-20  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
	All users updated.
	(grub_elf64_load_hook_t): Likewise.
	* kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
	debug output.

2007-02-20  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/mm.c: Update copyright.
	(grub_mm_debug): Correct syntax error.
	(grub_mm_dump_free): New function.
	(grub_debug_free): Call `grub_free'.
	* include/grub/mm.h: Update copyright.
	(grub_mm_dump_free): Add declaration.

2007-02-12  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/ieee1275/ieee1275.h: Update copyright.
	* kern/powerpc/ieee1275/init.c: Likewise.
	* kern/powerpc/ieee1275/openfw.c: Likewise.

	* loader/powerpc/ieee1275/linux.c: Likewise.
	* include/grub/elfload.h: Likewise.
	* kern/elf.c: Likewise.
	(grub_elf32_load): Pass `base' and `size' parameters.  Update all
	callers.
	(grub_elf64_load): Likewise.
	(grub_elf32_load_segment): Move to a nested function.
	(grub_elf64_load_segment): Likewise.

2007-02-12  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
	prototype.
	* kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
	(grub_heap_len): Likewise.
	(HEAP_SIZE): New macro.
	(grub_claim_heap): New function.
	(grub_machine_init): Don't claim heap directly.  Call
	`grub_claim_heap'.
	* kern/powerpc/ieee1275/openfw.c: Include alloca.h.
	(grub_available_iterate): New function.

2007-02-03  Thomas Schwinge  <tschwinge@gnu.org>

	* aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
	* configure.ac: Use it for testing the HOST and TARGET compilers.

2006-12-13  Thomas Schwinge  <tschwinge@gnu.org>

	* Makefile.in (enable_grub_emu): New variable.
	* configure.ac (--enable-grub-emu): New option.
	Do the checks for (n)curses only if `--enable-grub-emu' is requested.
	* conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.

2006-12-12  Marco Gerards  <marco@gnu.org>

	* include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.

	* kern/env.c (grub_env_unset): Don't free the member `value' when
	the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
	pointer.

	* normal/main.c (current_menu): Removed.
	(free_menu): Unset the `menu' environment variable.
	(grub_normal_menu_addentry): Make use of the environment variable
	`menu', instead of using the global `current_menu'.  Allocate
	memory for the sourcecode of this entry.
	(read_config_file): New argument `nested', changed all callers.
	Only in the case of a new context, initialize a new menu.  Set the
	`menu' environment variable.
	(grub_normal_execute): Don't set and unset the environment
	variable `menu' here anymore.  Only free the menu when leaving the
	context.

	* util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
	leak.

2006-12-11  Marco Gerards  <marco@gnu.org>

	* normal/menu_entry.c (run): Fix off by one bug so the last line
	is executed.  Move the loader check to outside the loop.

2006-12-08  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.

2006-11-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
	the number of sectors.	Reported by Andrey Shuvikov
	<mr_hyro@yahoo.com>.

2006-11-11  Jeroen Dekkers  <jeroen@dekkers.cx>

	* kern/disk.c (grub_disk_read): When there is a read error, always
	try to read only the necessary data.

	* conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
	disk/raid.c.
	* include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
	prototype.
	[GRUB_UTIL] (grub_raid_fini): Likewise.
	[GRUB_UTIL] (grub_lvm_init): Likewise.
	[GRUB_UTIL] (grub_lvm_fini): Likewise.
	* util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
	RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
	(main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
	and grub_raid_fini().

2006-11-09  Jeroen Dekkers  <jeroen@dekkers.cx>

	* include/grub/types.h (__unused): Rename to UNUSED.
	* kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
	(grub_elf64_size): Likewise.

2006-11-03  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/elf.c (grub_elf_file): Call grub_file_seek. Call
	grub_error_push and grub_error_pop in the error-handling path.
	(grub_elf32_load_segment): Only call grub_file_read with non-zero
	length.

2006-11-03  Hollis Blanchard  <hollis@penguinppc.org>

	* conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(kernel_elf_SOURCES): Likewise.
	* conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
	* conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
	* conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
	* conf/common.rmk (pkgdata_MODULES): Add elf.mod.
	(elf_mod_SOURCES): New variable.
	(elf_mod_CFLAGS): Likewise.
	(elf_mod_LDFLAGS): Likewise.
	* include/grub/types.h (__unused): New macro.
	* include/grub/elfload.h: New file.
	* kern/elf.c: Likewise.
	* loader/powerpc/ieee1275/linux.c: Include elfload.h.
	(ELF32_LOADMASK): New macro.
	(ELF64_LOADMASK): Likewise.
	(vmlinux): Removed.
	(grub_linux_load32): New function.
	(grub_linux_load64): Likewise.
	(grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
	Use grub_elf_t instead of grub_file_t.

2006-11-02  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
	`catch_result' to struct set_color_args.

2006-10-28  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/menu.c: Include grub/script.h.
	* normal/menu_entry.c: Likewise.
	* include/grub/normal.h: Do not include grub/script.h.

2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/disk.c (grub_disk_read): Correct debug printf formatting.

2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/disk.c (grub_disk_open): Print debug messages when opening a
	disk.
	(grub_disk_close): Print debug messages when closing a disk.
	(grub_disk_read): Print debug messages when disk read fails.
	* kern/fs.c (grub_fs_probe): Print debug messages when detecting
	filesystem type.
	* kern/partition.c: Include misc.h.
	(grub_partition_iterate): Print debug messages when detecting
	partition type.

2006-10-27  Hollis Blanchard  <hollis@penguinppc.org>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
	is negative.
	* kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.

2006-10-26  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
	Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.

2006-10-25  Jeroen Dekkers  <jeroen@dekkers.cx>

	* disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
	instead of sizeof(lv). Patch by Michael Guntsche.

2006-10-18  Jeroen Dekkers  <jeroen@dekkers.cx>

	* disk/lvm.c: Rename VGS to VG_LIST.
	(grub_lvm_iterate): Change VGS->LV to VG-LV.
	(grub_lvm_open): Likewise.
	Thanks to Michael Guntsche for finding this bug.

2006-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac (AC_INIT): Bumped to 1.95.

2006-10-14  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
	with "/dev/.static/dev/md".

2006-10-14  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
	DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
	DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
	DRIVE_NAME are always freed.

	* util/i386/pc/biosdisk.c (make_device_name): Add one into
	DOS_PART, as a DOS partition is counted from one instead of zero
	now. Reported by Robert Millan.

2006-10-14  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/getroot.c (grub_guess_root_device): Stop using
	grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
	* util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
	string returned by grub_guess_root_device.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/i386/pc/grub-probefs.c: Likewise.

	* util/i386/pc/grub-probefs.c: Rename to ...
	* util/i386/pc/grub-probe.c: ... this.
	* DISTLIST: Remove grub-probefs, add grub-probe.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* util/i386/pc/grub-install.in: Likewise.

	* util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
	choose which information we want to print.

2006-10-14  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
	include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
	include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
	include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
	video/readers/tga.c and video/i386/pc/vbeutil.c.

2006-10-14  Jeroen Dekkers  <jeroen@dekkers.cx>

	Added support for RAID and LVM.

	* disk/lvm.c: New file.
	* disk/raid.c: Likewise.
	* include/grub/lvm.h: Likewise.
	* include/grub/raid.h: Likewise.
	* include/grub/util/lvm.h: Likewise.
	* include/grub/util/raid.h: Likewise.
	* util/lvm.c: Likewise.
	* util/raid.c: Likewise.

	* include/grub/disk.h (grub_disk_dev_id): Add
	GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
	(grub_disk_get_size): New prototype.
	* kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
	returns a partition.
	(grub_disk_get_size): New function.

	* kern/i386/pc/init.c (make_install_device): Copy the prefix
	verbatim if grub_install_dos_part is -2.

	* util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
	and LVM devices.

	* util/i386/pc/grub-setup.c (setup): New argument
	MUST_EMBED. Force embedding of GRUB when the argument is
	true. Close FILE before	returning.
	(main): Add support for RAID and LVM.

	* conf/common.rmk: Add RAID and LVM modules.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
	util/lvm.c.
	(grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.

	* kern/misc.c (grub_strstr): New function.
	* include/grub/misc.h (grub_strstr): New prototype.

2006-10-10  Tristan Gingold  <tristan.gingold@bull.net>

	* include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.

2006-10-05  Tristan Gingold  <tristan.gingold@bull.net>

	* kern/misc.c (grub_strtoull): Guess the base only if not
	specified.

2006-10-01  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
	PowerMac support.

2006-10-01  Hollis Blanchard  <hollis@penguinppc.org>

	* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.

	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
	Remove `flags' argument.  All callers changed.
	* kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
	(IEEE1275_IHANDLE_INVALID): New variable.
	(IEEE1275_CELL_INVALID): New variable.
	(grub_ieee1275_finddevice, grub_ieee1275_get_property,
	grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
	grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
	grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
	grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
	codes from Open Firmware.  All callers updated.
	(grub_ieee1275_next_property): Directly return Open Firmware return
	code.
	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
	Standardize error checking from `grub_ieee1275_get_property'.
	* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
	`devalias' to `aliases'.  Correct comments.  Consolidate error paths.

2006-10-01  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
	`instance_to_package_args' to `instance_to_path_args'.

	* kern/powerpc/ieee1275/init.c (grub_machine_init): Use
	`grub_ieee1275_chosen'.

	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
	`grub_ieee1275_interpret'.

2006-09-25  Hollis Blanchard  <hollis@penguinppc.org>

	* util/powerpc/ieee1275/grub-mkimage.c: Include config.h.

2006-09-25  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
	(__cmpdi): Likewise.

	* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
	`flags' to `grub_ieee1275_next_property'.  Change `pathlen' to type
	`grub_ssize_t'.

	* kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.

	* loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
	to type `grub_ssize_t'.
	(grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.

2006-09-22  Marco Gerards  <marco@gnu.org>

	* normal/script.c (grub_script_create_cmdmenu): Skip leading
	newlines.

2006-09-22  Marco Gerards  <marco@gnu.org>

	* commands/echo.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.

	* conf/common.rmk (echo_mod_SOURCES): New variable.
	(echo_mod_CFLAGS): Likewise.
	(echo_mod_LDFLAGS): Likewise.

2006-09-22  Marco Gerards  <marco@gnu.org>

	* normal/main.c (get_line): Malloc memory instead of using
	preallocated memory.  Removed the arguments `cmdline' and
	`max_len'.  Updated all callers.

2006-09-22  Marco Gerards  <marco@gnu.org>

	* conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
	(normal_mod_DEPENDENCIES): Likewise.

	* conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.

2006-09-22  Johan Rydberg  <jrydberg@gnu.org>

	* genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
	programs.
	* conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
	(normal_mod_DEPENDENCIES): Likewise.
	* conf/i386-pc.mk: Regenerate.
	* conf/i386-efi.mk: Likewise
	* conf/common.mk: Likewise.
	* conf/powerpc-ieee1275.mk: Likewise.
	* conf/sparc64-ieee1275.mk: Likewise.

2006-09-22  Robert Millan  <rmh@aybabtu.com>

	Sync with i386 version.
	* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
	* conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.

2006-09-21  Robert Millan  <rmh@aybabtu.com>

	Import from GRUB Legacy (lib/device.c):
	* util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
	(init_device_map) [__linux__]: Add support for I2O devices.

2006-09-14  Marco Gerards  <marco@gnu.org>

	* conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
	`-melf_i386'.

2006-09-14  Robert Millan  <rmh@aybabtu.com>

	* util/i386/pc/grub-install.in: Skip menu.lst when removing
	/boot/grub/*.lst.

	* util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").

	* util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
	before adding it to device.map.

2006-08-15  Johan Rydberg  <jrydberg@gnu.org>

	* genmk.rb: Let GCC generate dependencies the first time it
	compiles a file; using the -MD option.
	* conf/common.mk: Regenerate.
	* conf/i386-pc.mk: Likewise.
	* conf/i386-efi.mk: Likewise.
	* conf/powerpc-ieee1275.mk: Likewise.
	* conf/sparc64-ieee1275.mk: Likewise.

2006-08-04  Yoshinori K. Okuji  <okuji@enbug.org>

	Move the prototypes of grub_setjmp and grub_longjmp to
	cpu/setjmp.h, so that each architecture may specify different
	attributes.

	* include/grub/i386/setjmp.h (grub_setjmp): New prototype.
	(grub_longjmp): Likewise.
	* include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
	(grub_longjmp): Likewise.
	* include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
	(grub_longjmp): Likewise.

	* include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
	[!GRUB_UTIL] (grub_longjmp): Removed.

2006-08-01  Pelletier Vincent  <subdino2004@yahoo.fr>

	* kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
	"color!" method does not return any value.

2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>

	* include/grub/bitmap.h: New file.

	* include/grub/i386/pc/vbeutil.h: Likewise.

	* video/bitmap.c: Likewise.

	* video/readers/tga.c: Likewise.

	* video/i386/pc/vbeutil.c: Likewise.

	* commands/videotest.c: Code cleanup and updated to reflect to new
	video API.

	* term/gfxterm.c: Likewise.

	* video/video.c: Likewise.

	* conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
	(vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
	(bitmap_mod_SOURCES): New entry.
	(bitmap_mod_CFLAGS): Likewise.
	(bitmap_mod_LDFLAGS): Likewise.
	(tga_mod_SOURCES): Likewise.
	(tga_mod_CFLAGS): Likewise.
	(tga_mod_LDFLAGS): Likewise.

	* include/grub/video.h (grub_video_blit_operators): New enum type.
	(grub_video_render_target): Changed as forward declaration and moved
	actual definition to be video driver specific.
	(grub_video_adapter.blit_bitmap): Added blitting operator.
	(grub_video_adapter.blit_render_target): Likewise.
	(grub_video_blit_bitmap): Likewise.
	(grub_video_blit_render_target): Likewise.

	* include/grub/i386/pc/vbe.h (grub_video_render_target): Added
	driver specific render target definition.
	(grub_video_vbe_map_rgba): Added driver internal helper.
	(grub_video_vbe_unmap_color): Updated to use
	grub_video_i386_vbeblit_info.
	(grub_video_vbe_get_video_ptr): Likewise.

	* include/grub/i386/pc/vbeblit.h
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
	grub_video_i386_vbeblit_info.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
	(grub_video_i386_vbeblit_index_index): Likewise.
	(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
	(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
	(grub_video_i386_vbeblit_blend): Added generic blitter for blend
	operator.
	(grub_video_i386_vbeblit_replace): Added generic blitter for replace
	operator.

	* video/i386/pc/vbeblit.c: Updated to reflect changes on
	include/grub/i386/pc/vbeblit.h.

	* include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
	Updated to use grub_video_i386_vbeblit_info.
	(grub_video_i386_vbefill_R8G8B8): Likewise.
	(grub_video_i386_vbefill_index): Likewise.
	(grub_video_i386_vbefill): Added generic filler.

	* video/i386/pc/vbefill.c: Updated to reflect changes on
	include/grub/i386/pc/vbefill.h.

	* video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
	grub_video_i386_vbeblit_info.
	(grub_video_vbe_unmap_color): Likewise.
	(grub_video_vbe_blit_glyph): Likewise.
	(grub_video_vbe_scroll): Likewise.
	(grub_video_vbe_draw_pixel): Removed function.
	(grub_video_vbe_get_pixel): Likewise.
	(grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
	updated code to use it.
	(common_blitter): Added common blitter for render target and bitmap.
	(grub_video_vbe_blit_bitmap): Updated to use common_blitter.
	(grub_video_vbe_blit_render_target): Likewise.

2006-07-30  Johan Rydberg  <jrydberg@gnu.org>

	* kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
	is in text mode if there is no console control protocol instance
	available.

2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>

	* include/grub/video.h: Code cleanup.

	* include/grub/i386/pc/vbe.h: Likewise.

	* video/i386/pc/vbe.c: Likewise.

	* video/i386/pc/vbeblit.c: Likewise.

	* video/i386/pc/vbefill.c: Likewise.

	* video/video.c: Likewise.  Also added more comments.

2006-07-29  Vesa Jaaskelainen  <chaac@nic.fi>

	* disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
	(struct grub_biosdisk_dap): Likewise.

	* include/grub/i386/pc/biosdisk.h: ... to here.  Also corrected
	linkage settings for all functions.

2006-07-12  Marco Gerards  <marco@gnu.org>

	* configure.ac (--enable-mm-debug): Fix typo.

	* genkernsyms.sh.in: Use proper quoting for `CC'.

2006-07-02  Jeroen Dekkers  <jeroen@dekkers.cx>

	* conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
	(normal_mod_ASFLAGS): Remove "-m32".

2006-06-14  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/misc.c: Include config.h.
	[!HAVE_MEMALIGN]: Do not include malloc.h.
	(grub_memalign): Use posix_memalign, if present. Then, use
	memalign, if present. Otherwise, emit an error.

	* util/grub-emu.c: Do not include malloc.h.

	* include/grub/util/misc.h: Include unistd.h. This is required for
	FreeBSD, because off_t is defined in unistd.h. Reported by Harley
	D. Eades III <hde@foobar-qux.org>.

	* configure.ac (AC_GNU_SOURCE): Added.
	(AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
	type.

2006-06-09  Yoshinori K. Okuji  <okuji@enbug.org>

	* loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
	ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.

2006-06-07  Jeroen Dekkers  <jeroen@dekkers.cx>

	* include/grub/types.h (grub_host_addr_t): Rename to
	grub_target_addr_t.
	(grub_host_off_t): Rename to grub_target_off_t.
	(grub_host_size_t): Rename to grub_target_size_t.
	(grub_host_ssize_t): Rename to grub_target_ssize_t.
	Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.

	* include/grub/kernel.h (struct grub_module_header): Change type
	of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
	(grub_module_info): Likewise.

2006-06-05  Yoshinori K. Okuji  <okuji@enbug.org>

	* loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
	of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
	Velazquez <jesus.velazquez@gmail.com>.

2006-06-05  Yoshinori K. Okuji  <okuji@enbug.org>

	Count partitions from 1 instead of 0 in the string representation
	of partitions. Still use 0-based internally.

	* partmap/sun.c (grub_sun_is_valid): A cosmetic change.
	(sun_partition_map_iterate): Use grub_partition_t instead of
	struct grub_partition *. Cast DESC->START_CYLINDER to
	grub_uint64_t after converting the endian.
	(sun_partition_map_probe): Subtract 1 for PARTNUM.
	(sun_partition_map_get_name): Add 1 to P->INDEX.

	* partmap/pc.c (grub_partition_parse): Subtract 1 for
	PCDATA->DOS_PART.
	(pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.

	* partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
	zero instead of one.
	(gpt_partition_map_probe): Subtract 1 for PARTNUM.
	(gpt_partition_map_get_name): Add 1 into P->INDEX.

	* partmap/apple.c (apple_partition_map_iterate): Change the type
	of POS to unsigned.
	(apple_partition_map_probe): Subtract 1 for PARTNUM.
	(apple_partition_map_get_name): Add 1 into P->INDEX.

	* partmap/amiga.c (amiga_partition_map_iterate): Change the type
	of POS to unsigned.
	(amiga_partition_map_iterate): Cast NEXT to grub_off_t to
	calculate the offset of a partition.
	(amiga_partition_map_probe): Subtract 1 for PARTNUM.
	(amiga_partition_map_get_name): Add 1 into P->INDEX.

	* partmap/acorn.c (acorn_partition_map_find): Change the type of
	SECTOR to grub_disk_addr_t.
	(acorn_partition_map_iterate): Likewise.
	(acorn_partition_map_probe): Subtract 1 for PARTNUM.
	Change the type of SECTOR to grub_disk_addr_t. Declare P on the
	top.
	(acorn_partition_map_get_name): Add 1 into P->INDEX.

	* kern/i386/pc/init.c (make_install_device): Add 1 into
	GRUB_INSTALL_DOS_PART.

	* fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
	conditional.

2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>

	Clean up the code to support 64-bit addressing in disks and
	files. This change is not enough for filesystems yet.

	* util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
	type of "start" to grub_uint64_t.
	(setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
	grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
	save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
	convert addresses.

	* util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
	to grub_disk_addr_t.

	* partmap/gpt.c (gpt_partition_map_iterate): Fix the format
	string.

	* partmap/pc.c (pc_partition_map_iterate): Likewise.

	* partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
	to char *.

	* normal/script.c (grub_script_parse): Remove unused MEMFREE.

	* normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.

	* normal/lexer.c (grub_script_yyerror): Specify unused to LEX.

	* loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
	to grub_off_t, to detect an error from grub_file_seek.
	(grub_multiboot_load_elf32): Likewise.

	* kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
	maximum unsigned long value when an overflow is detected.
	(grub_strtoull): New function.
	(grub_divmod64): Likewise.
	(grub_lltoa): use grub_divmod64.

	* kern/fs.c (struct grub_fs_block): Change the type of "offset" to
	grub_disk_addr_t.
	(grub_fs_blocklist_open): Increase P if P is not NULL to advance
	the pointer to next character. Use grub_strtoull instead of
	grub_strtoul.
	(grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
	SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
	respectively.

	* kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
	return value is signed.
	(grub_file_seek): Change the type of OLD to grub_off_t. Do not
	test if OFFSET is less than zero, as OFFSET is unsigned now.

	* kern/disk.c (struct grub_disk_cache): Change the type of
	"sector" to grub_disk_addr_t.
	(grub_disk_cache_get_index): Change the type of SECTOR to
	grub_disk_addr_t. Calculate the hash with SECTOR casted to
	unsigned after shifting.
	(grub_disk_cache_invalidate): Change the type of SECTOR to
	grub_disk_addr_t.
	(grub_disk_cache_unlock): Likewise.
	(grub_disk_cache_store): Likewise.
	(grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
	START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
	grub_disk_addr_t and grub_uint64_t, respectively.
	(grub_disk_read): Use an unsigned variable REAL_OFFSET for the
	body, as the value of OFFSET is tweaked by
	grub_disk_check_range. Change the types of START_SECTOR, LEN and
	POS to grub_disk_addr_t, grub_size_t and grub_size_t,
	respectively.
	(grub_disk_write): Use an unsigned variable REAL_OFFSET for the
	body, as the value of OFFSET is tweaked by
	grub_disk_check_range. Change the types of LEN and N to
	grub_size_t.

	* io/gzio.c (struct grub_gzio): Change the types of "data_offset"
	and "saved_offset" to grub_off_t.
	(test_header): Cast BUF to char *.
	(get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
	to char *.
	(grub_gzio_read): Change the types of OFFSET and SIZE to
	grub_off_t and grub_size_t, respectively.

	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
	Removed.
	(GRUB_BOOT_MACHINE_BOOT_DRIVE):	Changed to 0x4c.
	(GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
	(GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
	(GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
	(GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.

	* include/grub/types.h (grub_off_t): Unconditionally set to
	grub_uint64_t.
	(grub_disk_addr_t): Changed to grub_uint64_t.

	* include/grub/partition.h (struct grub_partition): Change the
	types of "start", "len" and "offset" to grub_disk_addr_t,
	grub_uint64_t and grub_disk_addr_t, respectively.
	(grub_partition_get_start): Return grub_disk_addr_t.
	(grub_partition_get_len): Return grub_uint64_t.

	* include/grub/misc.h (grub_strtoull): New prototype.
	(grub_divmod64): Likewise.

	* include/grub/fshelp.h (grub_fshelp_read_file): Change the types
	of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
	grub_off_t, respectively.
	All callers and references changed.

	* include/grub/fs.h (struct grub_fs): Change the type of LEN to
	grub_size_t in "read".
	All callers and references changed.

	* include/grub/file.h (struct grub_file): Change the types of
	"offset" and "size" to grub_off_t and grub_off_t,
	respectively. Change the type of SECTOR to grub_disk_addr_t in
	"read_hook".
	(grub_file_read): Change the type of LEN to grub_size_t.
	(grub_file_seek): Return grub_off_t. Change the type of OFFSET to
	grub_off_t.
	(grub_file_size): Return grub_off_t.
	(grub_file_tell): Likewise.
	All callers and references changed.

	* include/grub/disk.h (struct grub_disk_dev): Change the types of
	SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
	"write".
	(struct grub_disk): Change the type of "total_sectors" to
	grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
	"read_hook".
	(grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
	grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
	(grub_disk_write): Likewise.
	All callers and references changed.

	* fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
	char * for grub_strncmp to silence gcc.
	(grub_iso9660_mount): Likewise.
	(grub_iso9660_mount): Likewise.
	(grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
	return statement.
	(grub_iso9660_iterate_dir): Likewise.
	(grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.

	* fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
	LEN to grub_disk_addr_t and grub_size_t, respectively.

	* fs/hfsplus.c (grub_hfsplus_read_file): Likewise.

	* fs/jfs.c (grub_jfs_read_file): Likewise.

	* fs/minix.c (grub_jfs_read_file): Likewise.

	* fs/sfs.c (grub_jfs_read_file): Likewise.

	* fs/ufs.c (grub_jfs_read_file): Likewise.

	* fs/xfs.c (grub_jfs_read_file): Likewise.

	* fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
	and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
	respectively.

	* fs/ext2.c (grub_ext2_read_block): When an error happens, set
	BLKNR to -1 instead of returning GRUB_ERRNO.
	(grub_ext2_read_file): Change the types of SECTOR and
	LEN to grub_disk_addr_t and grub_size_t, respectively.

	* fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
	LEN to grub_disk_addr_t and grub_size_t, respectively.

	* font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
	grub_file_read.

	* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
	string. Do not cast SECTOR explicitly.

	* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
	TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
	(grub_biosdisk_rw): Change the types of SECTOR and SIZE to
	grub_disk_addr_t and grub_size_t, respectively. If the sector is
	over 2TB and LBA mode is not supported, raise an error.
	(get_safe_sectors): New function.
	(grub_biosdisk_read): Use get_safe_sectors.
	(grub_biosdisk_write): Likewise.

	* disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
	(grub_efidisk_write): Likewise.

	* disk/loopback.c (delete_loopback): Cosmetic changes.
	(grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
	correctly.
	(grub_loopback_open): Likewise.
	(grub_loopback_read): Likewise. Also, change the type of POS to
	grub_off_t, and fix the usage of grub_memset.

	* commands/i386/pc/play.c: Include grub/machine/time.h.

	* commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
	print FILE->SIZE.

	* commands/configfile.c: Include grub/env.h.

	* commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
	GRUB_ERRNO directly instead. Change the type of POS to
	grub_off_t. Follow the coding standard.

	* commands/blocklist.c: Include grub/partition.h.
	(grub_cmd_blocklist): Return an error if the underlying device is
	not a disk. Take the starting sector of a partition into account,
	if a partition is used.

	* boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
	a length field.
	(lba_mode): Support 64-bit addresses.
	(chs_mode): Likewise.
	(copy_buffer): Adapted to the new offsets of a length field and a
	segment field.
	(blocklist_default_start): Allocate 64-bit space.

	* boot/i386/pc/boot.S (force_lba): Removed.
	(boot_drive): Moved to under KERNEL_SECTOR.
	(kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
	space.
	(real_start): Set %si earlier. Remove code for FORCE_LBA, since it
	is useless.
	(lba_mode): Refactored to support a 64-bit address. More size
	optimization.
	(setup_sectors): Likewise.

2006-06-04  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added include/grub/i386/linux.h. Removed
	include/grub/i386/pc/linux.h

	* configure.ac (AC_INIT): Bumped to 1.94.

	* config.guess: Updated from gnulib.
	* config.sub: Likewise.
	* install-sh: Likewise.
	* mkinstalldirs: Likewise.

2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>

	* conf/common.rmk (grub_modules_init.lst): Depended on
	grub_emu_SOURCES, excluding grub_emu_init.c, instead of
	MODSRCFILES.

	* genmk.rb (PModule::rule): Reverted the previous change.

2006-06-02  Yoshinori K. Okuji  <okuji@enbug.org>

	* conf/common.rmk (grub_modules_init.lst): Depends on
	$(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
	that the target does not exist before producing.
	(grub_modules_init.h): Remove the target before generating.
	(grub_emu_init.c): Likewise.

	* genmk.rb (PModule::rule): Add source files into MODSRCFILES.

2006-05-31  Jeroen Dekkers  <jeroen@dekkers.cx>

	* configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
	for the target-specific tests. Make sure that we also have the
	up-to-date target variables for those tests.

2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>

	* genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
	(PModule::rule): Likewise.

2006-05-31  Yoshinori K. Okuji  <okuji@enbug.org>

	* genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
	TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
	target-specific flags should be prefixed.
	(PModule::rule): Likewise.

2006-05-30  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac (CMP): Check if cmp is available explicitly.

2006-05-29  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
	(target_cpu): New variable.
	(pkglibdir): Use target_cpu instead of host_cpu.

	* util/i386/pc/grub-install.in (host_cpu): Removed.
	(target_cpu): New variable.
	(pkglibdir): Use target_cpu instead of host_cpu.

	* util/genmoddep.c: Removed.

	* kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
	instead of GRUB_HOST_SIZEOF_VOID_P.
	* kern/dl.c: Likewise.

	* include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
	...
	(GRUB_TARGET_SIZEOF_VOID_P): ... this.
	(GRUB_HOST_SIZEOF_LONG): Renamed to ...
	(GRUB_TARGET_SIZEOF_LONG): ... this.
	(GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
	(GRUB_TARGET_WORDS_BIGENDIAN): ... this.
	* include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
	to ...
	(GRUB_TARGET_SIZEOF_VOID_P): ... this.
	(GRUB_HOST_SIZEOF_LONG): Renamed to ...
	(GRUB_TARGET_SIZEOF_LONG): ... this.
	(GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
	(GRUB_TARGET_WORDS_BIGENDIAN): ... this.
	* include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
	to ...
	(GRUB_TARGET_SIZEOF_VOID_P): ... this.
	(GRUB_HOST_SIZEOF_LONG): Renamed to ...
	(GRUB_TARGET_SIZEOF_LONG): ... this.
	(GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
	(GRUB_TARGET_WORDS_BIGENDIAN): ... this.

	* include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
	GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
	[!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
	instead of GRUB_HOST_SIZEOF_LONG.
	[!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
	GRUB_HOST_WORDS_BIGENDIAN to define or undefine
	GRUB_CPU_WORDS_BIGENDIAN.
	Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
	define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
	grub_host_ssize_t.

	* conf/i386-efi.rmk (noinst_UTILITIES): Removed.
	(genmoddep_SOURCES): Likewise.
	* conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
	(genmoddep_SOURCES): Likewise.
	* conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
	(genmoddep_SOURCES): Likewise.
	* conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
	Likewise.
	(genmoddep_SOURCES): Likewise.

	* genmoddep.awk: New file.

	* genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
	TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
	CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
	(PModule::rule): Likewise.
	(Program::rule): Likewise.
	(Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
	BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
	respectively.

	* configure.ac: Rewritten intensively to use host and target
	instead of build and host, respectively.

	* Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
	(host_cpu): Removed.
	(target_cpu): New variable.
	(CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
	(BUILD_CC): Removed.
	(BUILD_CFLAGS): Likewise.
	(BUILD_CPPFLAGS): Likewise.
	(TARGET_CC): New variable.
	(TARGET_CFLAGS): Likewise.
	(TARGET_CPPFLAGS): Likewise.
	(TARGET_LDFLAGS): Likewise.
	(AWK): Likewise.
	(include): Use target_cpu instead of host_cpu.
	(moddep.lst:): Use genmoddep.awk instead of genmoddep.

	* DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.

2006-05-29  Vesa Jaaskelainen  <chaac@nic.fi>

	* include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
	'exec_to_evaluate'.  Renamed field 'true' to 'exec_on_true'.  Renamed
	field 'false' to 'exec_on_false'.
	(grub_script_create_cmdif): Renamed argument names to reflect above
	changes.

	* normal/execute.c (grub_script_execute_cmdif): Likewise.

	* normal/script.c (grub_script_create_cmdif): Likewise.

2006-05-28  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
	top.
	(grub_hfsplus_btree_recptr): Likewise.
	(grub_hfsplus_find_block): Do not take RETRY any longer. Use
	FILEBLOCK both to pass a block number and store next block
	number.
	(grub_hfsplus_read_block): Rewritten heavily to support an extent
	overflow file correctly. Specify errors appropriately, because
	fshelp expects that GRUB_ERRNO is set when fails. Reuse
	grub_hfsplus_btree_recptr to get the pointer to a found key.
	(grub_hfsplus_btree_search): Return 1 instead of 0 when no match
	is found.

	* conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
	linux.mod.
	(_linux_mod_SOURCES): New variable.
	(_linux_mod_CFLAGS): Likewise.
	(_linux_mod_LDFLAGS): Likewise.
	(linux_mod_SOURCES): Likewise.
	(linux_mod_CFLAGS): Likewise.
	(linux_mod_LDFLAGS): Likewise.

	* DISTLIST: Added loader/i386/efi/linux.c,
	loader/i386/efi/linux_normal.c and
	include/grub/i386/efi/loader.h.

	* loader/i386/efi/linux.c: New file.
	* loader/i386/efi/linux_normal.c: Likewise.
	* include/grub/i386/efi/loader.h: Likewise.

2006-05-27  Yoshinori K. Okuji  <okuji@enbug.org>

	* commands/blocklist.c: New file.

	* DISTLIST: Added commands/blocklist.c.

	* term/efi/console.c (grub_console_highlight_color): Use a lighter
	color for the background, and a darker color for the foreground.
	(grub_console_checkkey): Return READ_KEY.
	(grub_console_cls): Set the background to
	GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.

	* kern/efi/efi.c (grub_efi_exit_boot_services): New function.

	* include/grub/i386/linux.h (struct linux_kernel_params): Fixed
	the size of "padding5", "hd0_drive_info" and "hd1_drive_info".

	* include/grub/efi/efi.h (grub_efi_exit_boot_services): New
	prototype.

	* include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
	BG. The spec is wrong again.

	* include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
	prototype.
	[GRUB_UTIL] (grub_blocklist_fini): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added
	commands/blocklist.c.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
	(blocklist_mod_SOURCES): New variable.
	(blocklist_mod_CFLAGS): Likewise.
	(blocklist_mod_LDFLAGS): Likewise.

2006-05-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
	duplication.
	(lba_mode): Use %eax more intensively to reduce the code size.

2006-05-20  Marco Gerards  <marco@gnu.org>

	* normal/lexer.c (grub_script_yylex): Don't filter out newlines.

	* normal/parser.y (commandblock): Defined as <cmd>.  A subroutine
	for `menuentry'.
	(script): Accept leading newlines.
	(newlines): New rule to describe 0 or more newlines.
	(commands): Accept `command' with trailing newline.  Fixed the
	order in which arguments were passed to `grub_script_add_cmd'.
	Accept commands separated by newlines.
	(function): Changed to accept newlines.
	(menuentry) Rewritten.

	* normal/script.c (grub_script_create_cmdmenu): Add new entries in
	front of the list, instead of to the end.

2006-05-19  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-install.in (bindir): New variable.
	(grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
	Shaver <lbgwjl@gmail.com>.

2006-05-14  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
	grub/machine/linux.h
	* loader/i386/pc/linux.c: Likewise.

	* include/grub/i386/pc/linux.h: Moved to ...
	* include/grub/i386/linux.h: ... here.

	* include/grub/i386/linux.h (struct linux_kernel_params): New
	struct.

2006-05-09  Vesa Jaaskelainen  <chaac@nic.fi>

	* video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
	checking.
	(grub_video_vbe_blit_glyph): Likewise.
	(grub_video_vbe_blit_bitmap): Likewise.
	(grub_video_vbe_blit_render_target): Likewise.

2006-05-09  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac (--with-platform): Properly quote the square
	brackets.

2006-05-08  Marco Gerards  <marco@gnu.org>

	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
	this...
	(kernel_elf_HEADERS): ...to this.  Updated all users.
	(grubof_symlist.c): Renamed from this...
	(kernel_elf_symlist.c): ...to this.  Updated all users.
	(pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
	(grubof_SOURCES): Renamed from this...
	(kernel_elf_SOURCES): ...to this.
	(grubof_HEADERS): Renamed from this...
	(kernel_elf_HEADERS): ...to this.
	(grubof_CFLAGS): Renamed from this...
	(kernel_elf_CFLAGS): ...to this.
	(grubof_ASFLAGS): Renamed from this...
	(kernel_elf_ASFLAGS): ...to this.
	(grubof_LDFLAGS): Renamed from this...
	(kernel_elf_LDFLAGS): ...to this.

	* conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
	this...
	(kernel_elf_HEADERS): ...to this.  Updated all users.
	(grubof_symlist.c): Renamed from this...
	(kernel_elf_symlist.c): ...to this.  Updated all users.
	(pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
	(grubof_SOURCES): Renamed from this...
	(kernel_elf_SOURCES): ...to this.
	(grubof_HEADERS): Renamed from this...
	(kernel_elf_HEADERS): ...to this.
	(grubof_CFLAGS): Renamed from this...
	(kernel_elf_CFLAGS): ...to this.
	(grubof_ASFLAGS): Renamed from this...
	(kernel_elf_ASFLAGS): ...to this.
	(grubof_LDFLAGS): Renamed from this...
	(kernel_elf_LDFLAGS): ...to this.

	* util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
	`kernel.elf' instead of `grubof'.

2006-05-08  Yoshinori K. Okuji  <okuji@enbug.org>

	Add --with-platform to configure. Use pkglibdir instead of
	pkgdatadir. This is reported by Roger Leigh.

	* util/powerpc/ieee1275/grub-install.in (datadir): Removed.
	(host_vendor): Likewise.
	(host_os): Likewise.
	(pkgdatadir): Likewise.
	(platform): New variable.
	(pkglibdir): Likewise.
	Use PKGLIBDIR instead of PKGDATADIR.

	* util/i386/pc/grub-install.in (datadir): Removed.
	(host_vendor): Likewise.
	(host_os): Likewise.
	(pkgdatadir): Likewise.
	(platform): New variable.
	(pkglibdir): Likewise.
	Use PKGLIBDIR instead of PKGDATADIR.

	* util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
	instead of GRUB_DATADIR.
	(main): Likewise.
	* util/i386/pc/grub-mkimage.c (usage): Likewise.
	(main): Likewise.
	* util/i386/efi/grub-mkimage.c (usage): Likewise.
	(main): Likewise.

	* configure.ac (--with-platform): New option.
	Use PLATFORM instead of HOST_VENDOR to specify a platform.

	* Makefile.in: Include a makefile based on PLATFORM instead of
	HOST_VENDOR.
	(pkgdatadir): Not appended by the machine type.
	(pkglibdir): Appended by the machine type.
	(host_vendor): Removed.
	(platform): New variable.
	(BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
	(install-local): Use PKGLIBDIR instead of PKGDATADIR.
	(uninstall): Likewise.

2006-05-07  Yoshinori K. Okuji  <okuji@enbug.org>

	Use the environment context in the menu. Remove the commands
	"default" and "timeout", and use variables instead.

	* normal/menu.c: Include grub/env.h.
	(print_entry): Cast TITLE to silence gcc.
	(get_timeout): New function.
	(set_timeout): Likewise.
	(get_entry_number): Likewise.
	(run_menu): Use a default entry, a fallback entry and a timeout
	in the environment variables "default", "fallback" and
	"timeout". Also, tweak the default entry if it is not within the
	current menu entries.
	(grub_menu_run): Use a fallback entry in the environment variable
	"fallback".

	* normal/main.c (read_config_file): Do not initialize
	NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
	NEWMENU->TIMEOUT.
	(grub_normal_execute): Use a data slot to store the menu.

	* include/grub/normal.h (struct grub_menu): Removed default_entry,
	fallback_entry and timeout.
	(struct grub_menu_list): Removed.
	(grub_menu_list_t): Likewise.
	(struct grub_context): Likewise.
	(grub_context_t): Likewise.
	(grub_context_get): Likewise.
	(grub_context_get_current_menu): Likewise.
	(grub_context_push_menu): Likewise.
	(grub_context_pop_menu): Likewise.
	(grub_default_init): Likewise.
	(grub_default_fini): Likewise.
	(grub_timeout_init): Likewise.
	(grub_timeout_fini): Likewise.

	* conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
	and timeout.mod.
	(normal_mod_SOURCES): Removed normal/context.c.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
	commands/default.c, commands/timeout.c and normal/context.c.
	(normal_mod_SOURCES): Removed normal/context.c.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
	commands/timeout.c and normal/context.c.
	(normal_mod_SOURCES): Removed normal/context.c.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Removed
	commands/default.c, commands/timeout.c and normal/context.c.
	(normal_mod_SOURCES): Removed normal/context.c.

	* conf/common.rmk (pkgdata_MODULES): Removed default.mod and
	timeout.mod.
	(default_mod_SOURCES): Removed.
	(default_mod_CFLAGS): Likewise.
	(default_mod_LDFLAGS): Likewise.
	(timeout_mod_SOURCES): Removed.
	(timeout_mod_CFLAGS): Likewise.
	(timeout_mod_LDFLAGS): Likewise.

	* DISTLIST: Removed commands/default.c, commands/timeout.c and
	normal/context.c.

	* commands/default.c: Removed.
	* commands/timeout.c: Likewise.
	* normal/context.c: Likewise.

2006-05-07  Vesa Jaaskelainen  <chaac@nic.fi>

	* kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.

2006-05-02  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/env.c (struct grub_env_context): Removed "sorted". Renamed
	"next" to "prev" for readability.
	(struct grub_env_sorted_var): New struct.
	(grub_env_context): Renamed to ...
	(initial_context): ... this.
	(grub_env_var_context): Renamed to ...
	(current_context): ... this.
	(grub_env_find): Look only at CURRENT_CONTEXT.
	(grub_env_context_open): Rewritten to copy exported variables from
	previous context.
	(grub_env_context_close): Rewritten according to the new
	scheme. Also, add an assertion to prevent the initial context from
	removed.
	(grub_env_insert): Removed the code for the sorted list.
	(grub_env_remove): Likewise.
	(grub_env_export): Simply mark the variable with
	GRUB_ENV_VAR_GLOBAL.
	(grub_env_set): A cosmetic change for naming consistency.
	(grub_env_get): Likewise.
	(grub_env_unset): Likewise.
	(grub_env_iterate): Rewritten to sort variables within this
	function.
	(grub_register_variable_hook): Fixed for naming consistency. Call
	grub_env_find again, only if NAME is not found at the first time.
	(mangle_data_slot_name): New function.
	(grub_env_set_data_slot): Likewise.
	(grub_env_get_data_slot): Likewise.
	(grub_env_unset_data_slot): Likewise.

	* include/grub/env.h (grub_env_var_type): New enum.
	(GRUB_ENV_VAR_LOCAL): New constant.
	(GRUB_ENV_VAR_GLOBAL): Likewise.
	(GRUB_ENV_VAR_DATA): Likewise.
	(struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
	"type".
	(grub_env_set): Replace VAR with NAME for consistency.
	(grub_register_variable_hook): Likewise.
	(grub_env_export): Specify the name of the argument.
	(grub_env_set_data_slot): New prototype.
	(grub_env_get_data_slot): Likewise.
	(grub_env_unset_data_slot): Likewise.

2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>

	Extend the loader so that GRUB can accept a loader which comes
	back to GRUB when a loaded image exits. Also, this change adds
	support for a chainloader on EFI.

	* term/efi/console.c: Include grub/misc.h.
	(grub_console_checkkey): Display a scan code on the top for
	debugging. This will be removed once the EFI port gets stable.
	Correct the scan code mapping.

	* kern/efi/mm.c (sort_memory_map): Sort in a descending order to
	allocate memory from larger regions, in order to reduce the number
	of allocated regions. Otherwise, the MacOSX loader panics.
	(filter_memory_map): Avoid less than 1MB for compatibility with
	other loaders.
	(add_memory_regions): Allocate from the tail of a region, if
	possible, to avoid allocating a region near to 1MB, for the MacOSX
	loader.

	* kern/efi/init.c (grub_efi_set_prefix): Specify
	GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.

	* kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
	argument IMAGE_HANDLE and specify it to get a loaded image.
	(grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
	grub_efi_get_loaded_image.
	(grub_efi_get_filename): Divide the length by the size of
	grub_efi_char16_t.
	(grub_efi_get_device_path): New function.
	(grub_efi_print_device_path): Print End Device Path nodes. Divide
	the length by the size of grub_efi_char16_t for a file path device
	path node.

	* kern/loader.c (grub_loader_noreturn): New variable.
	(grub_loader_set): Accept a new argument NORETURN. Set
	GRUB_LOADER_NORETURN to NORETURN.
	All callers changed.
	(grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
	grub_machine_fini.

	* include/grub/efi/efi.h (grub_efi_get_device_path): New
	prototype.
	(grub_efi_get_loaded_image): Take an argument to specify an image
	handle.

	* include/grub/loader.h (grub_loader_set): Added one more argument
	NORETURN.

	* disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
	instead of grub_efi_open_protocol.
	(grub_efidisk_get_device_name): Likewise.
	(grub_efidisk_close): Print a newline.
	(grub_efidisk_get_device_handle): Fixed to use
	GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
	GRUB_EFI_DEVICE_PATH_TYPE.

	* disk/efi/efidisk.c (device_path_guid): Moved to ...
	* kern/efi/efi.c (device_path_guid): ... here.

	* conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
	chain.mod.
	(kernel_mod_HEADERS): Added efi/disk.h.
	(_chain_mod_SOURCES): New variable.
	(_chain_mod_CFLAGS): Likewise.
	(_chain_mod_LDFLAGS): Likewise.
	(chain_mod_SOURCES): Likewise.
	(chain_mod_CFLAGS): Likewise.
	(chain_mod_LDFLAGS): Likewise.

	* DISTLIST: Added include/grub/efi/chainloader.h,
	loader/efi/chainloader.c and loader/efi/chainloader_normal.c.

	* include/grub/efi/chainloader.h: New file.
	* loader/efi/chainloader.c: Likewise.
	* loader/efi/chainloader_normal.c: Likewise.

2006-04-30  Marco Gerards  <marco@gnu.org>

	* commands/configfile.c (grub_cmd_source): New function.
	(GRUB_MOD_INIT): Register the commands `source' and `.'.
	(GRUB_MOD_FINI): De-register the commands `source' and `.'.

2006-04-30  Marco Gerards  <marco@gnu.org>

	* normal/execute.c (grub_script_execute_cmd): Change the return
	type to `grub_err_t'.  Correctly return the error.
	(grub_script_execute_cmdline): In case a command line is not a
	command or a function, try to interpret it as an assignment.

2006-04-30  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
	(grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
	skip a node whose name is obviously invalid as UTF-16,
	i.e. contains a NUL character. Stop the iteration when the last
	directory entry is found. Instead of using the return value of
	grub_hfsplus_btree_iterate_node, store the value in RET and use
	it, because the iterator can be stopped by the last directory
	entry.

2006-04-30  Marco Gerards  <marco@gnu.org>

	* include/grub/env.h (grub_env_export): New prototype.  Reported
	by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.

2006-04-30  Marco Gerards  <marco@gnu.org>

	* fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
	size of the extents in a catalog file record.

2006-04-29  Marco Gerards  <marco@gnu.org>

	* commands/configfile.c (grub_cmd_configfile): Execute the
	configfile within its own context.

	* include/grub/env.h (grub_env_context_open): New prototype.
	(grub_env_context_close): Likewise.

	* kern/env.c (grub_env): Removed.
	(grub_env_sorted): Likewise.
	(grub_env_context): New variable.
	(grub_env_var_context): Likewise.
	(grub_env_find): Search both the active context and the global
	context.
	(grub_env_context_open): New function.
	(grub_env_context_close): Likewise.
	(grub_env_insert): Likewise.
	(grub_env_remove): Likewise.
	(grub_env_export): Likewise.
	(grub_env_set): Changed to use helper functions to avoid code
	duplication.
	(grub_env_iterate): Rewritten so both the current context and the
	global context are being used.

	* normal/command.c (export_command): New function.
	(grub_command_init): Register the `export' function.

2006-04-26  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
	explicitly to suppress gcc's warnings.
	* fs/fat.c (grub_fat_find_dir): Likewise.
	(grub_fat_label): Likewise.
	* fs/xfs.c (grub_xfs_read_inode): Likewise.
	(grub_xfs_mount): Likewise.
	(grub_xfs_label): Likewise.
	* fs/affs.c (grub_affs_mount): Likewise.
	(grub_affs_label): Likewise.
	(grub_affs_iterate_dir): Likewise.
	* fs/sfs.c (grub_sfs_mount): Likewise.
	(grub_sfs_iterate_dir): Likewise.
	* fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
	* fs/hfs.c (grub_hfs_mount): Likewise.
	(grub_hfs_cmp_catkeys): Likewise.
	(grub_hfs_find_dir): Likewise.
	(grub_hfs_dir): Likewise.
	(grub_hfs_label): Likewise.
	* fs/jfs.c (grub_jfs_mount): Likewise.
	(grub_jfs_opendir): Likewise.
	(grub_jfs_getent): Likewise.
	(grub_jfs_lookup_symlink): Likewise.
	(grub_jfs_label): Likewise.
	* fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
	(grub_hfsplus_iterate_dir): Likewise.
	(grub_hfsplus_btree_iterate_node): Made static.

	* util/grub-emu.c (prefix): New variable.
	(grub_machine_set_prefix): New function.
	(main): Do not set the environment variable "prefix" here. Only
	set PREFIX, which is used later by grub_machine_set_prefix.

	* include/grub/video.h: Do not include grub/symbol.h.
	(grub_video_register): Not exported. This symbol is not defined in
	the kernel.
	(grub_video_unregister): Likewise.
	(grub_video_iterate): Likewise.
	(grub_video_setup): Likewise.
	(grub_video_restore): Likewise.
	(grub_video_get_info): Likewise.
	(grub_video_get_blit_format): Likewise.
	(grub_video_set_palette): Likewise.
	(grub_video_get_palette): Likewise.
	(grub_video_set_viewport): Likewise.
	(grub_video_get_viewport): Likewise.
	(grub_video_map_color): Likewise.
	(grub_video_map_rgb): Likewise.
	(grub_video_map_rgba): Likewise.
	(grub_video_fill_rect): Likewise.
	(grub_video_blit_glyph): Likewise.
	(grub_video_blit_bitmap): Likewise.
	(grub_video_blit_render_target): Likewise.
	(grub_video_scroll): Likewise.
	(grub_video_swap_buffers): Likewise.
	(grub_video_create_render_target): Likewise.
	(grub_video_delete_render_target): Likewise.
	(grub_video_set_active_render_target): Likewise.

	* include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
	Undefined.
	[GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.

	* conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
	config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
	(kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
	instead of $(srcdir)/genkernsyms.sh.

	* conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
	config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
	(kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
	instead of $(srcdir)/genkernsyms.sh.

	* conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
	gensymlist.sh instead of $(srcdir)/gensymlist.sh.
	(kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
	instead of $(srcdir)/genkernsyms.sh.

	* conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
	gensymlist.sh instead of $(srcdir)/gensymlist.sh.
	(kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
	instead of $(srcdir)/genkernsyms.sh.

	* configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
	genkernsyms.sh.

	* Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
	genkernsyms.sh.
	(gensymlist.sh): New target.
	(genkernsyms.sh): Likewise.

	* DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
	genkernsyms.sh.in and gensymlist.sh.in.

	* genkernsyms.sh: Removed.
	* gensymlist.sh: Likewise.

	* genkernsyms.sh.in: New file.
	* gensymlist.sh.in: Likewise.

2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
	clobber "prefix", since we may have already set it manually.

2006-04-25  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/misc.c (abort): New alias for grub_abort.

2006-04-25  Yoshinori K. Okuji  <okuji@enbug.org>

	A new machine-specific function "grub_machine_set_prefix" is
	defined. This is called after loading modules, so that a prefix
	initialization can use modules. Also, this change adds an
	intensive debugging feature for the memory manager via the
	configure option "--enable-mm-debug".

	* partmap/gpt.c (gpt_partition_map_iterate): Add one more into
	PART.LEN.

	* kern/sparc64/ieee1275/init.c (abort): Removed.
	(grub_stop): Likewise.
	(grub_exit): New function.
	(grub_set_prefix): Renamed to ...
	(grub_machine_set_prefix): ... this.
	(grub_machine_init): Do not call grub_set_prefix.

	* kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
	(grub_machine_set_prefix): ... this.
	(grub_machine_init): Do not call grub_set_prefix.

	* kern/i386/pc/init.c (grub_machine_set_prefix): New function.
	(grub_machine_init): Do not set the prefix here.

	* kern/i386/efi/init.c (grub_machine_set_prefix): New function.

	* kern/efi/init.c: Include grub/mm.h.
	(grub_efi_set_prefix): New function.

	* kern/efi/efi.c (grub_exit): Call grub_efi_fini.
	(grub_efi_get_filename): New function.
	(grub_print_device_path): Renamed to ...
	(grub_efi_print_device_path): ... this.

	* kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
	[MM_DEBUG] (grub_realloc): Likewise.
	[MM_DEBUG] (grub_free): Likewise.
	[MM_DEBUG] (grub_memalign): Likewise.
	[MM_DEBUG] (grub_mm_debug): New variable.
	[MM_DEBUG] (grub_debug_malloc): New function.
	[MM_DEBUG] (grub_debug_free): New function.
	[MM_DEBUG] (grub_debug_realloc): New function.
	[MM_DEBUG] (grub_debug_memalign): New function.

	* kern/misc.c (grub_abort): Print a newline to distinguish
	the message.

	* kern/main.c (grub_main): Call grub_machine_set_prefix and
	grub_set_root_dev after loading modules. This is necessary when
	setting a prefix depends on modules.

	* include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
	(grub_efi_print_device_path): ... this.
	(grub_efi_get_filename): New prototype.
	(grub_efi_set_prefix): Likewise.

	* include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
	and grub/disk.h.
	(grub_efidisk_get_device_handle): New prototype.
	(grub_efidisk_get_device_name): Likewise.

	* include/grub/mm.h: Include config.h.
	(MM_DEBUG): Removed.
	[MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
	[MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
	[MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
	[MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
	[MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
	[MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
	[MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
	[MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
	[MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.

	* include/grub/kernel.h (grub_machine_set_prefix): New prototype.

	* disk/efi/efidisk.c: Include grub/partition.h.
	(iterate_child_devices): New function.
	(add_device): First, compare only last device path nodes, so that
	devices are sorted by the types.
	(grub_efidisk_get_device_handle): New function.
	(grub_efidisk_get_device_name): Likewise.

	* configure.ac (--enable-mm-debug): New option to enable the
	memory manager debugging feature. This makes the binary much
	bigger, so is disabled by default.

2006-04-23  Yoshinori K. Okuji  <okuji@enbug.org>

	Use grub_abort instead of grub_stop, and grub_exit must be
	define in each architecture now. Also, this change adds support
	for EFI disks.

	* util/i386/pc/grub-probefs.c: Include grub/term.h.
	(grub_getkey): New function.
	(grub_term_get_current): Likewise.

	* util/i386/pc/grub-setup.c: Include grub/term.h.
	(grub_getkey): New function.
	(grub_term_get_current): Likewise.

	* util/misc.c (grub_stop): Renamed to ...
	(grub_exit): ... this.

	* kern/powerpc/ieee1275/init.c (abort): Renamed to ...
	(grub_exit): ... this.
	(grub_machine_init): Use grub_abort instead of abort.
	(grub_stop): Removed.

	* kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
	abort.

	* kern/i386/pc/startup.S (grub_exit): New function.
	(cold_reboot): New label.

	* kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
	(grub_efi_init): Call grub_efidisk_init.
	(grub_efi_fini): Call grub_efidisk_fini.

	* kern/efi/efi.c: Include grub/mm.h.
	(grub_efi_console_control_guid): Renamed to ...
	(console_control_guid): ... this.
	(grub_efi_loaded_image_guid): Renamed to ...
	(loaded_image_guid): ... this.
	(grub_efi_locate_handle): New function.
	(grub_efi_open_protocol): Likewise.
	(grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
	GRUB_EFI_CONSOLE_CONTROL_GUID.
	(grub_efi_exit): Removed.
	(grub_stop): Likewise.
	(grub_efi_get_loaded_image): Use grub_efi_open_protocol.
	(grub_exit): New function.
	(grub_print_device_path): Likewise.

	* kern/rescue.c (grub_rescue_cmd_exit): New function.
	(grub_enter_rescue_mode): Register "exit".

	* kern/misc.c (grub_real_dprintf): A cosmetic change.
	(grub_abort): New function.

	* kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.

	* include/grub/sparc64/ieee1275/kernel.h (abort): Removed.

	* include/grub/powerpc/ieee1275/kernel.h (abort): Removed.

	* include/grub/efi/efi.h (grub_efi_exit): Removed.
	(grub_print_device_path): New prototype.
	(grub_efi_locate_handle): Likewise.
	(grub_efi_open_protocol): Likewise.

	* include/grub/efi/disk.h (grub_efidisk_fini): New file.
	* disk/efi/efidisk.c: Likewise.

	* DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.

	* include/grub/efi/console_control.h
	(GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.

	* include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
	last 8 bytes as an array.
	(GRUB_EFI_DISK_IO_GUID): New macro.
	(GRUB_EFI_BLOCK_IO_GUID): Likewise.
	(GRUB_EFI_DEVICE_PATH_GUID): Likewise.
	(grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
	grub_uint8_t.
	(struct grub_efi_guid): Use an array to specify the last 8 bytes.
	(struct grub_efi_device_path): Rename the member "sub_type" to
	"subtype".
	(GRUB_EFI_DEVICE_PATH_TYPE): New macro.
	(GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
	(GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
	(GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
	(GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
	(GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
	(GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
	(GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
	(GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
	(GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
	(struct grub_efi_pci_device_path): New structure.
	(grub_efi_pci_device_path_t): New type.
	(GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_pccard_device_path): New structure.
	(grub_efi_pccard_device_path_t): New type.
	(GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_memory_mapped_device_path): New structure.
	(grub_efi_memory_mapped_device_path_t): New type.
	(GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_vendor_device_path): New structure.
	(grub_efi_vendor_device_path_t): New type.
	(GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_controller_device_path): New structure.
	(grub_efi_controller_device_path_t): New type.
	(GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
	(GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
	(struct grub_efi_acpi_device_path): New structure.
	(grub_efi_acpi_device_path_t): New type.
	(GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_expanded_acpi_device_path): New structure.
	(grub_efi_expanded_acpi_device_path_t): New type.
	(GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
	(GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
	(GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
	(GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
	(GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
	(struct grub_efi_atapi_device_path): New structure.
	(grub_efi_atapi_device_path_t): New type.
	(GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_fibre_channel_device_path): New structure.
	(grub_efi_fibre_channel_device_path_t): New type.
	(GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_1394_device_path): New structure.
	(grub_efi_1394_device_path_t): New type.
	(GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_usb_device_path): New structure.
	(grub_efi_usb_device_path_t): New type.
	(GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_usb_class_device_path): New structure.
	(grub_efi_usb_class_device_path_t): New type.
	(GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_i2o_device_path): New structure.
	(grub_efi_i2o_device_path_t): New type.
	(GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_mac_address_device_path): New structure.
	(grub_efi_mac_address_device_path_t): New type.
	(GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_ipv4_device_path): New structure.
	(grub_efi_ipv4_device_path_t): New type.
	(GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_ipv6_device_path): New structure.
	(grub_efi_ipv6_device_path_t): New type.
	(GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_infiniband_device_path): New structure.
	(grub_efi_infiniband_device_path_t): New type.
	(GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_uart_device_path): New structure.
	(grub_efi_uart_device_path_t): New type.
	(GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_vendor_messaging_device_path): New structure.
	(grub_efi_vendor_messaging_device_path_t): New type.
	(GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
	(GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
	(struct grub_efi_hard_drive_device_path): New structure.
	(grub_efi_hard_drive_device_path_t): New type.
	(GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_cdrom_device_path): New structure.
	(grub_efi_cdrom_device_path_t): New type.
	(GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_vendor_media_device_path): New structure.
	(grub_efi_vendor_media_device_path_t): New type.
	(GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_file_path_device_path): New structure.
	(grub_efi_file_path_device_path_t): New type.
	(GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
	(struct grub_efi_protocol_device_path): New structure.
	(grub_efi_protocol_device_path_t): New type.
	(GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
	(GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
	(struct grub_efi_bios_device_path): New structure.
	(grub_efi_bios_device_path_t): New type.
	(struct grub_efi_disk_io): New structure.
	(grub_efi_disk_io_t): New type.
	(struct grub_efi_block_io_media): New structure.
	(grub_efi_block_io_media_t): New type.
	(struct grub_efi_block_io): New structure.
	(grub_efi_block_io_t): New type.

	* include/grub/misc.h (grub_stop): Removed.
	(grub_exit): New prototype.
	(grub_abort): Likewise.

	* include/grub/disk.h (enum grub_disk_dev_id): Added
	GRUB_DISK_DEVICE_EFIDISK_ID.

	* conf/i386-efi.rmk (kernel_mod_SOURCES): Added
	disk/efi/efidisk.c.
	(kernel_syms.lst): Remove the target if an error occurs.

2006-04-22  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
	as it was simply too buggy.

2006-04-21  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/misc.c (grub_lltoa): New function.
	(grub_vsprintf): Added support for the long long suffix,
	i.e. "ll".

2006-04-20  Hollis Blanchard  <hollis@penguinppc.org>

	* Makefile.in (LDFLAGS): Add variable.
	(LD): Remove variable.
	* configure.ac: Add -m32 to LDFLAGS.
	* genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
	* conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
	(grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
	(_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
	suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
	variables.
	* conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
	* conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
	* conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.

2006-04-20  Vesa Jaaskelainen  <chaac@nic.fi>

	* term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
	length for unknown glyph.

2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>

	Add support for pre-loaded modules into the EFI port.

	* util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
	completely. Accept one more argument DIR. The caller has changed.

	* kern/i386/efi/init.c (grub_arch_modules_addr): Removed.

	* kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
	(grub_efi_loaded_image_guid): New variable.
	(grub_efi_get_loaded_image): New function.
	(grub_arch_modules_addr): Likewise.

	* include/grub/efi/efi.h (grub_efi_get_loaded_image): New
	prototype.

	* include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
	(struct grub_efi_loaded_image): New structure.
	(grub_efi_loaded_image_t): New type.

2006-04-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
	size with GRUB_OS_AREA_SIZE as grub_size_t instead of
	grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.

2006-04-19  Roger Leigh  <rleigh@whinlatter.ukfsn.org>

	* DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.

2006-04-19  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added include/grub/efi/console.h,
	include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
	kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.

	* include/grub/efi/console.h: New file.
	* include/grub/efi/time.h: Likewise.
	* include/grub/i386/efi/kernel.h: Likewise.
	* kern/efi/init.c: Likewise.
	* kern/efi/mm.c: Likewise.
	* term/efi/console.c: Likewise.

	* kern/i386/efi/init.c: Do not include grub/machine/time.h.
	(grub_stop): Removed.
	(grub_get_rtc): Likewise.
	(grub_machine_init): Simply call grub_efi_init.
	(grub_machine_fini): Call grub_efi_fini.

	* kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
	(grub_efi_output_string): Removed.
	(grub_efi_stall): New function.
	(grub_stop): Likewise.
	(grub_get_rtc): Likewise.

	* include/grub/efi/efi.h (grub_efi_output_string): Removed.
	(grub_efi_stall): New prototype.
	(grub_efi_allocate_pages): Likewise.
	(grub_efi_free_pages): Likewise.
	(grub_efi_get_memory_map): Likewise.
	(grub_efi_mm_init): Likewise.
	(grub_efi_mm_fini): Likewise.
	(grub_efi_init): Likewise.
	(grub_efi_fini): Likewise.

	* include/grub/i386/efi/time.h: Do not include
	grub/symbol.h. Include grub/efi/time.h.
	(GRUB_TICKS_PER_SECOND): Removed.
	(grub_get_rtc): Likewise.

	* include/grub/efi/api.h (struct grub_efi_memory_descriptor):
	Added padding. The EFI spec is buggy.
	(GRUB_EFI_BLACK): New macro.
	(GRUB_EFI_BLUE): Likewise.
	(GRUB_EFI_GREEN): Likewise.
	(GRUB_EFI_CYAN): Likewise.
	(GRUB_EFI_RED): Likewise.
	(GRUB_EFI_MAGENTA): Likewise.
	(GRUB_EFI_BROWN): Likewise.
	(GRUB_EFI_LIGHTGRAY): Likewise.
	(GRUB_EFI_BRIGHT): Likewise.
	(GRUB_EFI_DARKGRAY): Likewise.
	(GRUB_EFI_LIGHTBLUE): Likewise.
	(GRUB_EFI_LIGHTGREEN): Likewise.
	(GRUB_EFI_LIGHTCYAN): Likewise.
	(GRUB_EFI_LIGHTRED): Likewise.
	(GRUB_EFI_LIGHTMAGENTA): Likewise.
	(GRUB_EFI_YELLOW): Likewise.
	(GRUB_EFI_WHITE): Likewise.
	(GRUB_EFI_BACKGROUND_BLACK): Likewise.
	(GRUB_EFI_BACKGROUND_BLUE): Likewise.
	(GRUB_EFI_BACKGROUND_GREEN): Likewise.
	(GRUB_EFI_BACKGROUND_CYAN): Likewise.
	(GRUB_EFI_BACKGROUND_RED): Likewise.
	(GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
	(GRUB_EFI_BACKGROUND_BROWN): Likewise.
	(GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
	(GRUB_EFI_TEXT_ATTR): Likewise.

	* conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
	kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
	(kernel_mod_HEADERS): Added efi/time.h.

2006-04-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
	include/grub/efi/api.h, include/grub/efi/console_control.h,
	include/grub/efi/efi.h, include/grub/efi/pe32.h,
	include/grub/i386/efi/time.h, kern/efi/efi.c,
	kern/i386/efi/init.c, kern/i386/efi/startup.S,
	and util/i386/efi/grub-mkimage.c.

	* Makefile.in (RMKFILES): Added i386-efi.rmk.

	* genmk.rb (PModule#rule): Do not export symbols if
	#{prefix}_EXPORTS is set to "no".

	* conf/i386-efi.mk: New file.
	* conf/i386-efi.rmk: Likewise.
	* include/grub/efi/api.h: Likewise.
	* include/grub/efi/console_control.h: Likewise.
	* include/grub/efi/efi.h: Likewise.
	* include/grub/efi/pe32.h: Likewise.
	* include/grub/i386/efi/time.h: Likewise.
	* kern/efi/efi.c: Likewise.
	* kern/i386/efi/init.c: Likewise.
	* kern/i386/efi/startup.S: Likewise.
	* util/i386/efi/grub-mkimage.c: Likewise.

2006-04-17  Marco Gerards  <marco@gnu.org>

	* include/grub/script.h: Include <grub/parser.h> and
	"grub_script.tab.h".
	(struct grub_lexer_param): New struct.
	(struct grub_parser_param): Likewise.
	(grub_script_create_arglist): Pass the state in an argument.
	(grub_script_add_arglist): Likewise.
	(grub_script_create_cmdline): Likewise.
	(grub_script_create_cmdblock): Likewise.
	(grub_script_create_cmdif): Likewise.
	(grub_script_create_cmdmenu): Likewise.
	(grub_script_add_cmd): Likewise.
	(grub_script_arg_add): Likewise.
	(grub_script_lexer_ref): Likewise.
	(grub_script_lexer_deref): Likewise.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	(grub_script_mem_record): Likewise.
	(grub_script_mem_record_stop): Likewise.
	(grub_script_malloc): Likewise.
	(grub_script_yylex): Likewise.
	(grub_script_yyparse): Likewise.
	(grub_script_yyerror): Likewise.
	(grub_script_yylex): Likewise.
	(grub_script_lexer_init): Return the state.

	* normal/lexer.c (grub_script_lexer_state): Removed variable.
	(grub_script_lexer_done): Likewise.
	(grub_script_lexer_getline): Likewise.
	(grub_script_lexer_refs): Likewise.
	(script): Likewise.
	(newscript): Likewise.
	(record): Likewise.
	(recording): Likewise.
	(recordpos): Likewise.
	(recordlen): Likewise.
	(grub_script_lexer_init): Return the state instead of setting
	global variables.
	(grub_script_lexer_ref): Use the newly added argument for state
	instead of globals.
	(grub_script_lexer_deref): Likewise.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	(recordchar): Likewise.
	(nextchar): Likewise.
	(grub_script_yylex2): Likewise.
	(grub_script_yylex): Likewise.
	(grub_script_yyerror): Likewise.

	* normal/parser.y (func_mem): Removed variable.
	(menu_entry): Likewise.
	(err): Likewise.
	(%lex-param): New parser option.
	(%parse-param): Likewise.
	(script): Always return the AST.
	(argument): Pass the state around.
	(arguments): Likewise.
	(grubcmd): Likewise.
	(commands): Likewise.
	(function): Likewise.
	(menuentry): Likewise.
	(if_statement): Likewise.
	(if): Likewise.

	* normal/script.c (grub_script_memused): Removed variable.
	(grub_script_parsed): Likewise.
	(grub_script_malloc): Added a state argument.  Use that instead of
	global variables.
	(grub_script_mem_record): Likewise.
	(grub_script_mem_record_stop): Likewise.
	(grub_script_arg_add): Likewise.
	(grub_script_add_arglist): Likewise.
	(grub_script_create_cmdline): Likewise.
	(grub_script_create_cmdif): Likewise.
	(grub_script_create_cmdmenu): Likewise.
	(grub_script_add_cmd): Likewise.
	(grub_script_parse): Setup the state before calling the parser.

2006-04-16  Marco Gerards  <marco@gnu.org>

	* normal/command.c (grub_command_init): Remove the title command.

	* normal/lexer.c (grub_script_yylex): Renamed from this...
	(grub_script_yylex2): ... to this.
	(grub_script_yylex): New function.  Temporary
	introduced to filter some tokens.
	(grub_script_yyerror): Print a newline.

	* normal/main.c (read_config_file): Output information about the
	lines that contain errors.  Wait for a key after all lines have
	been processed.  Don't return an empty menu.

	* normal/parser.y (func_mem): Don't initialize.
	(menu_entry): Likewise.
	(err): New variable.
	(script): Don't return anything when an error was encountered.
	(ws, returns): Removed rules.
	(argument): Disabled concatenated variable support.
	(arguments): Remove explicit separators.
	(grubcmd): Likewise.
	(function): Likewise.
	(menuentry): Likewise.
	(if): Likewise.
	(commands): Likewise.  Add error handling.

	* normal/script.c (grub_script_create_cmdline): If
	`grub_script_parsed' is 0, assume the parser encountered an error.

2006-04-02  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac: Add support for EFI. Fix the typo
	BUILD_LDDFLAGS. Restore the LDFLAGS after testing.

2006-04-01  Vesa Jaaskelainen  <chaac@nic.fi>

	* util/unifont2pff.rb: Removed unnecessary byte ordering.  Now
	foreign multibyte characters should be shown correctly.

2006-04-01  Vesa Jaaskelainen  <chaac@nic.fi>

	* normal/main.c (grub_normal_menu_addentry): Fixed menu size
	calculation.
	(read_config_file): Made it to close file before returning.

2006-03-31  Vesa Jaaskelainen  <chaac@nic.fi>

	* DISTLIST: Added include/grub/i386/pc/vbeblit.h,
	include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
	video/i386/pc/vbefill.c.

	* conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
	video/i386/pc/vbefill.c.

	* include/grub/video.h (grub_video_blit_format): New enum.
	(grub_video_mode_info): Added new member blit_format.
	(grub_video_get_blit_format): New function prototype.

	* include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
	function prototype.
	(grub_video_vbe_map_rgb): Likewise.
	(grub_video_vbe_unmap_color): Likewise.

	* include/grub/i386/pc/vbeblit.h: New file.

	* include/grub/i386/pc/vbefill.h: New file.

	* video/video.c (grub_video_get_blit_format): New function.
	(grub_video_vbe_get_video_ptr): Re-declared as non-static.
	(grub_video_vbe_map_rgb): Likewise.
	(grub_video_vbe_unmap_color): Likewise.

	* video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
	optimized fills.
	(grub_video_vbe_blit_render_target): Changed to use more optimized
	blits.
	(grub_video_vbe_setup): Added detection for optimized settings.
	(grub_video_vbe_create_render_target): Likewise.

	* video/i386/pc/vbeblit.c: New file.

	* video/i386/pc/vbefill.c: New file.

2006-03-30  Vesa Jaaskelainen  <chaac@nic.fi>

	* font/manager.c (grub_font_get_glyph): Removed font fixup from
	here...

	* util/unifont2pff.rb: ... and moved it to here.  Improved argument
	parsing to support both hex and dec ranges.  If filename was missing
	show usage information.

2006-03-14  Vesa Jaaskelainen  <chaac@nic.fi>

	* DISTLIST: Added include/grub/video.h, term/gfxterm.c,
	video/video.c, commands/videotest.c.  Removed term/i386/pc/vesafb.c.

	* conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
	gfxterm.mod, videotest.mod.  Removed vga.mod, vesafb.mod.
	(video_mod_SOURCES): Added.
	(video_mod_CFLAGS): Likewise.
	(video_mod_LDFLAGS): Likewise.
	(gfxterm_mod_SOURCES): Likewise.
	(gfxterm_mod_CFLAGS): Likewise.
	(gfxterm_mod_LDFLAGS): Likewise.
	(videotest_mod_SOURCES): Likewise.
	(videotest_mod_CFLAGS): Likewise.
	(videotest_mod_LDFLAGS): Likewise.
	(vesafb_mod_SOURCES): Removed.
	(vesafb_mod_CFLAGS): Likewise.
	(vesafb_mod_LDFLAGS): Likewise.
	(vga_mod_SOURCES): Likewise.
	(vga_mod_CFLAGS): Likewise.
	(vga_mod_LDFLAGS): Likewise.

	* commands/videotest.c: New file.

	* font/manager.c (fill_with_default_glyph): Modified to use
	grub_font_glyph.
	(grub_font_get_glyph): Likewise.
	(fontmanager): Renamed from this...
	(font_manager): ... to this.

	* include/grub/font.h (grub_font_glyph): Added new structure.
	(grub_font_get_glyph): Modified to use grub_font_glyph.

	* include/grub/misc.h (grub_abs): Added as inline function.

	* include/grub/video.h: New file.

	* include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
	(GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
	(GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
	(grub_vbe_get_controller_info): Renamed from this...
	(grub_vbe_bios_get_controller_info): ... to this.
	(grub_vbe_get_mode_info): Renamed from this...
	(grub_vbe_bios_get_mode_info): ... to this.
	(grub_vbe_set_mode): Renamed from this...
	(grub_vbe_bios_set_mode): ... to this.
	(grub_vbe_get_mode): Renamed from this...
	(grub_vbe_bios_get_mode): ... to this.
	(grub_vbe_set_memory_window): Renamed from this...
	(grub_vbe_bios_set_memory_window): ... to this.
	(grub_vbe_get_memory_window): Renamed from this...
	(grub_vbe_bios_get_memory_window): ... to this.
	(grub_vbe_set_scanline_length): Renamed from this...
	(grub_vbe_set_scanline_length): ... to this.
	(grub_vbe_get_scanline_length): Renamed from this...
	(grub_vbe_bios_get_scanline_length): ... to this.
	(grub_vbe_set_display_start): Renamed from this...
	(grub_vbe_bios_set_display_start): ... to this.
	(grub_vbe_get_display_start): Renamed from this...
	(grub_vbe_bios_get_display_start): ... to this.
	(grub_vbe_set_palette_data): Renamed from this...
	(grub_vbe_bios_set_palette_data): ... to this.
	(grub_vbe_set_pixel_rgb): Removed.
	(grub_vbe_set_pixel_index): Likewise.

	* kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
	from this...
	(grub_vbe_bios_get_controller_info): ... to this.
	(grub_vbe_get_mode_info): Renamed from this...
	(grub_vbe_bios_get_mode_info): ... to this.
	(grub_vbe_set_mode): Renamed from this...
	(grub_vbe_bios_set_mode): ... to this.
	(grub_vbe_get_mode): Renamed from this...
	(grub_vbe_bios_get_mode): ... to this.
	(grub_vbe_set_memory_window): Renamed from this...
	(grub_vbe_bios_set_memory_window): ... to this.
	(grub_vbe_get_memory_window): Renamed from this...
	(grub_vbe_bios_get_memory_window): ... to this.
	(grub_vbe_set_scanline_length): Renamed from this...
	(grub_vbe_set_scanline_length): ... to this.
	(grub_vbe_get_scanline_length): Renamed from this...
	(grub_vbe_bios_get_scanline_length): ... to this.
	(grub_vbe_set_display_start): Renamed from this...
	(grub_vbe_bios_set_display_start): ... to this.
	(grub_vbe_get_display_start): Renamed from this...
	(grub_vbe_bios_get_display_start): ... to this.
	(grub_vbe_set_palette_data): Renamed from this...
	(grub_vbe_bios_set_palette_data): ... to this.
	(grub_vbe_bios_get_controller_info): Fixed problem with registers
	getting corrupted after calling it.  Added more pushes and pops.
	(grub_vbe_bios_set_mode): Likewise.
	(grub_vbe_bios_get_mode): Likewise.
	(grub_vbe_bios_get_memory_window): Likewise.
	(grub_vbe_bios_set_scanline_length): Likewise.
	(grub_vbe_bios_get_scanline_length): Likewise.
	(grub_vbe_bios_get_display_start): Likewise.
	(grub_vbe_bios_set_palette_data): Likewise.

	* normal/cmdline.c (cl_set_pos): Refresh the screen.
	(cl_insert): Likewise.
	(cl_delete): Likewise.

	* term/gfxterm.c: New file.

	* term/i386/pc/vesafb.c: Removed file.

	* video/video.c: New file.

	* video/i386/pc/vbe.c (real2pm): Added new function.
	(grub_video_vbe_draw_pixel): Likewise.
	(grub_video_vbe_get_video_ptr): Likewise.
	(grub_video_vbe_get_pixel): Likewise
	(grub_video_vbe_init): Likewise.
	(grub_video_vbe_fini): Likewise.
	(grub_video_vbe_setup): Likewise.
	(grub_video_vbe_get_info): Likewise.
	(grub_video_vbe_set_palette): Likewise.
	(grub_video_vbe_get_palette): Likewise.
	(grub_video_vbe_set_viewport): Likewise.
	(grub_video_vbe_get_viewport): Likewise.
	(grub_video_vbe_map_color): Likewise.
	(grub_video_vbe_map_rgb): Likewise.
	(grub_video_vbe_map_rgba): Likewise.
	(grub_video_vbe_unmap_color): Likewise.
	(grub_video_vbe_fill_rect): Likewise.
	(grub_video_vbe_blit_glyph): Likewise.
	(grub_video_vbe_blit_bitmap): Likewise.
	(grub_video_vbe_blit_render_target): Likewise.
	(grub_video_vbe_scroll): Likewise.
	(grub_video_vbe_swap_buffers): Likewise.
	(grub_video_vbe_create_render_target): Likewise.
	(grub_video_vbe_delete_render_target): Likewise.
	(grub_video_vbe_set_active_render_target): Likewise.
	(grub_vbe_set_pixel_rgb): Remove function.
	(grub_vbe_set_pixel_index): Likewise.
	(index_color_mode): Remove static variable.
	(active_mode): Likewise.
	(framebuffer): Likewise.
	(bytes_per_scan_line): Likewise.
	(grub_video_vbe_adapter): Added new static variable.
	(framebuffer): Likewise.
	(render_target): Likewise.
	(initial_mode): Likewise.
	(mode_in_use): Likewise.
	(mode_list): Likewise.

2006-03-10  Marco Gerards  <marco@gnu.org>

	* configure.ac (AC_INIT): Bumped to 1.93.

	* DISTLIST: Added `include/grub/hfs.h'.

2006-02-01  Yoshinori K. Okuji  <okuji@enbug.org>

	* boot/i386/pc/boot.S (general_error): Before looping, try INT
	18H, which might help the BIOS falling back to next boot media.

2006-01-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-install.in: Escape a backslash. Reported by
	Poe Chen <poe.poechen@gmail.com>.

2006-01-17  Marco Gerards  <marco@gnu.org>

	* include/grub/normal.h: Include <grub/script.h>.
	(grub_command_list): Removed struct.
	(grub_command_list_t): Removed type.
	(grub_menu_entry): Remove members `num' and `command_list'.  Add
	members `commands' and `sourcecode'.
	* include/grub/script.h: Add inclusion guards.
	(grub_script_cmd_menuentry): New struct.
	(grub_script_execute_menuentry): New prototype.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	* normal/execute.c (grub_script_execute_menuentry): New function.
	* normal/lexer.c (record, recording, recordpos, recordlen): New
	variables.
	(grub_script_lexer_record_start): New function.
	(grub_script_lexer_record_stop): Likewise.
	(recordchar): Likewise.
	(nextchar): Likewise.
	(grub_script_yylex): Use `nextchar' to fetch new characters.  Use
	2048 as the buffer size.  Add the tokens `menuentry' and `@'.
	* normal/main.c: Include <grub/parser.h> and <grub/script.h>
	(current_menu): New variable.
	(free_menu): Mainly rewritten.
	(grub_normal_menu_addentry): New function.
	(read_config_file): Rewritten.
	* normal/menu.c (run_menu_entry): Mainly rewritten.
	* normal/menu_entry.c (make_screen): Rewritten the code to insert
	the menu entry.
	(run): Mainly rewritten.
	* normal/parser.y (menu_entry): New variable.
	(GRUB_PARSER_TOKEN_MENUENTRY): New token.
	(menuentry): New rule.
	(command): Add `menuentry'.
	(if_statement): Allow additional returns before `fi'.
	* normal/script.c (grub_script_create_cmdmenu): New function.

2006-01-03  Marco Gerards  <marco@gnu.org>

	* INSTALL: GNU Bison is required.
	* configure.ac: Rewritten the test to detect Bison.
	* Makefile.in (YACC): New variable.  Reported by Xun Sun
	<xun.sun.cn@gmail.com>.

2006-01-03  Marco Gerards  <marco@gnu.org>

	* fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
	the HFS+ filesystem to filesystem blocks.
	(grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
	GCC warning is silenced.

2006-01-03  Marco Gerards  <marco@gnu.org>

	* partmap/apple.c (apple_partition_map_iterate): Convert the data
	read from disk from big	endian to host byte order.

2006-01-03  Hollis Blanchard  <hollis@penguinppc.org>

	* fs/hfs.c: Include <grub/hfs.h>.  Added reference to the official
	documentation.
	(GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
	(grub_hfs_mount): Grammar fix in error. Make sure this is not an
	embedded HFS+ filesystem.
	(GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
	(grub_hfs_sblock): Move from here...
	* include/grub/hfs.h: To here...  New file.
	* fs/hfsplus.c: Include <grub/hfs.h>.  Added reference to the official
	documentation.
	(GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
	New macros.
	(grub_hfsplus_volheader): Change type of member `magic' to
	`grub_uint16_t'.
	(grub_hfsplus_data): Add new member `embedded_offset'.
	(grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
	returned block.
	(grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
	Calculate the offset.

2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
	Removed.
	(GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.

2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/env.c (grub_env_set): Check if ENV->VALUE instead of
	ENV->NAME is NULL after	allocating ENV->VALUE.

2005-12-25  Marco Gerards  <marco@gnu.org>

	* kern/env.c (grub_env_set): Rewritten the error handling code.

2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* geninit.sh: Made more robust, and more portable.

2005-12-25  Marco Gerards  <marco@gnu.org>

	Add support for Apple HFS+ filesystems.

	* fs/hfsplus.c: New file.

	* DISTLIST: Added `fs/hfsplus.c'.

	* conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
	(hfsplus_mod_SOURCES): New variable.
	(hfsplus_mod_CFLAGS): Likewise.
	(hfsplus_mod_LDFLAGS): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
	(grub_setup_SOURCES): Likewise.
	(grub_mkdevicemap_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

	* fs/fshelp.c (grub_fshelp_log2blksize): New function.

	* include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.

2005-12-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
	commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
	include/grub/parser.h, include/grub/script.h, kern/parser.c,
	kern/sparc64/cache.S, normal/execute.c, normal/function.c,
	normal/lexer.c, normal/parser.y, normal/script.c, and
	partmap/gpt.c.
	Removed kern/sparc64/cache.c.

	* conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
	grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
	grub_emu_init.c.

	* configure.ac (AC_INIT): Bumped to 1.92.

2005-12-24  Vesa Jaaskelainen  <chaac@nic.fi>

	* kern/err.c (grub_error_push): Added new function to support error
	stacks.
	(grub_error_pop): Likewise.
	(grub_error_stack_items): New local variable to support error stacks.
	(grub_error_stack_pos): Likewise.
	(grub_error_stack_assert): Likewise.
	(GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
	stack depth.
	(grub_print_error): Added support to print errors from error stack.

	* include/grub/err.h (grub_error_push): Added function prototype.
	(grub_error_pop): Likewise.

2005-12-09  Hollis Blanchard  <hollis@penguinppc.org>

	* configure.ac: Accept `powerpc64' as host_cpu.
	(amd64): Rename to `biarch32'.

	* kern/powerpc/cache.S (grub_arch_sync_caches): Handle
	non-cacheline-aligned addresses.

	* kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
	(grub_dl_flush_cache): Likewise.  Only call `grub_arch_sync_caches'
	if `size' is non-zero.

2005-12-03  Marco Gerards  <mgerards@xs4all.nl>

	* conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
	and `cd' to make sure the filename is not prefixed with a
	directory name.
	(pkgdata_MODULES): Add `gpt.mod'.
	(gpt_mod_SOURCES): New variable.
	(gpt_mod_CFLAGS): Likewise.
	(gpt_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.

	* include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
	New macro.

	* partmap/gpt.c: New file.

	* partmap/pc.c (pc_partition_map_iterate): Don't continue when a
	GPT partition map is detected.

2005-12-03  Vincent Pelletier  <subdino2004@yahoo.fr>

	* commands/i386/pc/play.c: New file.
	* conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
	(play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
	macros.

2005-11-27  Marco Gerards  <mgerards@xs4all.nl>

	* include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
	((unused))' to silence gcc warning.

2005-11-26  Hollis Blanchard  <hollis@penguinppc.org>

	* configure.ac: Correct `AC_PROG_YACC' test.

2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>

	* util/powerpc/ieee1275/grub-install.in: Run the mount point
	check before installing files.

2005-11-22  Mike Small  <smallm@panix.com>

	* util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
	number regex so multidigit numbers are recognized correctly.

2005-11-22  Mike Small  <smallm@panix.com>

	* loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
	debugging message before attempting to claim memory.
	(grub_rescue_cmd_initrd): Add a claim debugging message and try
	multiple addresses in case of failure.

2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>

	* term/tparm.c (get_space): Remove empty `if' statement.

	* fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.

	* kern/parser.c (check_varstate): Rename `state' to 's'.

2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>

	* partmap/acorn.c: Change `unsigned' to `unsigned int'.  Move all
	variable definitions to the beginning of each function.  Sort stack
	variables by size.
	(find): Rename to `acorn_partition_map_find'.  Cast `grub_disk_read'
	`buf' argument to `char *'.

2005-11-22  Hollis Blanchard  <hollis@penguinppc.org>

	* conf/powerpc-ieee1275.rmk: Include conf/common.mk.
	(pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
	minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
	hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
	help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
	sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
	configfile.mod, search.mod, gzio.mod and test.mod.
	(symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
	(grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
	(fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
	(fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
	(ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
	(ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
	(minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
	(hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
	(jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
	(iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
	(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
	(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
	(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
	(hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
	(boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
	(terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
	(ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
	(cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
	(help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
	(font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
	(terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
	(amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
	(apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.

	* conf/common.mk (grub_modules_init.lst): Use `find' instead of
	`grep --include'.
	(pkgdata_MODULES): Add test.mod.

2005-11-18  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>

	* genmk.rb: Fixed list rules moved to Makefile.in.  Recognise
	appending to variables with "+=".
	(PModule): Use full pathname to generate *.lst filenames.

	* Makefile.in: Fixed list rules moved from genmk.rb.
	(.DELETE_ON_ERROR): New special target.
	(RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.

	* conf/i386-pc.rmk: Include conf/common.mk.
	(pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
	minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
	hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
	help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
	sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
	configfile.mod, search.mod, gzio.mod and test.mod.
	(symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
	(grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
	(fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
	(fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
	(ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
	(ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
	(minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
	(hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
	(jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
	(iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
	(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
	(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
	(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
	(hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
	(boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
	(terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
	(ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
	(cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
	(help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
	(font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
	(terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
	(amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
	(apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
	here...
	* conf/common.rmk: ... to here.  New file.

	* conf/common.mk: New file.

2005-11-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
	(grub_script.tab.c): ... here.

	* conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
	(grub_script.tab.c): ... here.

	* conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
	(grub_script.tab.c): ... here.

	* normal/command.c (grub_command_find): Fixed a memory leak of
	MODULE_NAME. Reported by Mike Small <smallm@panix.com>.

2005-11-13  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>

	* include/grub/symbol.h: (FUNCTION): Use double quotes instead of
	"@" which marks the start of a comment on ARM.
	(VARIABLE): Likewise.

2005-11-13  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>

	Add support for Linux/ADFS partition tables.

	* partmap/acorn.c: New file.

	* include/grub/acorn_filecore.h: Likewise.

	* DISTLIST: Added `partmap/acorn.c' and
	`include/grub/acorn_filecore.h'.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
	`partmap/acorn.c'.
	(pkgdata_MODULES): Add `acorn.mod'.
	(acorn_mod_SOURCES): New variable.
	(acorn_mod_CFLAGS): Likewise.

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
	`partmap/acorn.c'.
	(pkgdata_MODULES): Add `acorn.mod'.
	(acorn_mod_SOURCES): New variable.
	(acorn_mod_CFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
	(pkgdata_MODULES): Add `acorn.mod'.
	(acorn_mod_SOURCES): New variable.
	(acorn_mod_CFLAGS): Likewise.
	(acorn_mod_LDFLAGS): Likewise.

	* include/types.h (grub_disk_addr_t): New typedef.

2005-11-13  Marco Gerards  <mgerards@xs4all.nl>

	* geninit.sh: New file.

	* geninitheader.sh: Likewise.

	* commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
	* commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
	* commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
	* commands/configfile.c (grub_configfile_init)
	(grub_configfile_fini): Likewise.
	* commands/default.c (grub_default_init, grub_default_fini):
	Likewise.
	* commands/help.c (grub_help_init, grub_help_fini): Likewise.
	* commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
	* commands/search.c (grub_search_init, grub_search_fini): Likewise.
	* commands/terminal.c (grub_terminal_init, grub_terminal_fini):
	Likewise.
	* commands/test.c (grub_test_init, grub_test_fini): Likewise.
	* commands/timeout.c (grub_timeout_init, grub_timeout_fini):
	Likewise.
	* commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
	* commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
	Likewise.
	* commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
	Likewise.
	* commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
	Likewise.
	* disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
	* fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
	* fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
	* fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
	* fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
	* fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
	* fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
	* fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
	* fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
	* fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
	* fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
	* normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
	* partmap/amiga.c (grub_amiga_partition_map_init)
	(grub_amiga_partition_map_fini): Likewise.
	* partmap/apple.c (grub_apple_partition_map_init)
	(grub_apple_partition_map_fini): Likewise.
	* partmap/pc.c (grub_pc_partition_map_init)
	(grub_pc_partition_map_fini): Likewise.
	* partmap/sun.c (grub_sun_partition_map_init,
	grub_sun_partition_map_fini): Likewise.
	* term/terminfo.c (grub_terminal_init, grub_terminal_fini):
	Likewise.

	* util/grub-emu.c: Include <grub_modules_init.h>.
	(main): Don't initialize and de-initialize any modules directly,
	use `grub_init_all' and `grub_fini_all' instead.

	* term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
	`grub_vesafb_mod_init'.
	(grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'.  Updated
	all users.
	* term/i386/pc/vga.c (grub_vga_init): Renamed to
	`grub_vga_mod_init'.  Updated all users.
	(grub_vga_fini): Renamed to `grub_vga_mod_fini'.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
	(grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
	rules.

	* include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
	Generate a function to initialize the module in utilities.
	Updated all callers.
	(GRUB_MOD_FINI): Add argument `name'.  Generate a function to
	initialize the module in utilities.  Updated all callers.

2005-11-09  Hollis Blanchard  <hollis@penguinppc.org>

	* term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
	escape sequence and a literal ^L to clear the screen.

	* commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
	when returning from Open Firmware.

2005-11-09  Hollis Blanchard  <hollis@penguinppc.org>

	* term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
	(grub_ofconsole_height): Likewise.
	(grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
	manually insert a '\n'.
	(grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
	`grub_ofconsole_height'.  Return early if these are already set.

2005-11-07  Vincent Pelletier  <subdino2004@yahoo.fr>

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
	`commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
	`normal/execute.c', `normal/lexer.c', `io/gzio.c',
	`kern/parser.c', `grub_script.tab.c', `normal/function.c'
	and `normal/script.c'.
	(normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
	`grub_script.tab.c', `normal/function.c' and `normal/script.c'.
	(test_mod_SOURCES): New	variable.
	(test_mod_CFLAGS): Likewise.
	(test_mod_LDFLAGS): Likewise.
	(pkgdata_MODULES): Add `test.mod'.
	(grub_script.tab.c): New rule.
	(grub_script.tab.h): Likewise.

2005-11-07  Marco Gerards  <mgerards@xs4all.nl>

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
	`commands/test.c', `normal/execute.c', `normal/lexer.c',
	`grub_script.tab.c', `normal/function.c' and `normal/script.c'.
	(normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
	`grub_script.tab.c', `normal/function.c' and `normal/script.c'.
	(test_mod_SOURCES): New variable.
	(test_mod_CFLAGS): Likewise.
	(pkgdata_MODULES): Add `test.mod'.
	(grub_script.tab.c): New rule.
	(grub_script.tab.h): Likewise.

2005-11-06  Marco Gerards  <mgerards@xs4all.nl>

	Add initial scripting support.

	* commands/test.c: New file.
	* include/grub/script.h: Likewise.
	* normal/execute.c: Likewise.
	* normal/function.c: Likewise.
	* normal/lexer.c: Likewise.
	* normal/parser.y: Likewise.
	* normal/script.c: Likewise.

	* configure.ac: Add `AC_PROG_YACC' test.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
	`normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
	`normal/function.c' and `normal/script.c'.
	(normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
	`grub_script.tab.c', `normal/function.c' and `normal/script.c'.
	(test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
	variables.
	(pkgdata_MODULES): Add `test.mod'.
	(grub_script.tab.c): New rule.
	(grub_script.tab.h): Likewise.

	* include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.

	* include/grub/normal.h (grub_test_init): New prototype.
	(grub_test_fini): Likewise.

	* normal/command.c: Include <grub/script.h>.
	(grub_command_execute): Rewritten.

	* util/grub-emu.c (main): Call `grub_test_init' and
	`grub_test_fini'.

2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
	to 0.
	* term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
	there are no pending characters.

2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
	`grub_strndup' to drop device arguments. Replace unnecessary
	`grub_strndup' with `grub_strdup'.

2005-11-03  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
	`debug' environment variable has been set.

2005-11-02  Hollis Blanchard  <hollis@penguinppc.org>

	* Makefile.in (install-local): Use $(DATA).
	(uninstall): Likewise.
	* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
	(sbin_UTILITIES): ... to here.
	(sbin_SCRIPTS): New variable.
	(grub_install_SOURCES): New variable.
	* util/powerpc/ieee1275/grub-install.in: New file.
	* util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
	variable.
	(add_segments): Call `grub_util_get_path'.

2005-10-28  Yoshinori K. Okuji  <okuji@enbug.org>

	From Timothy Baldwin:
	* commands/ls.c (grub_ls_list_files): Close FILE with
	grub_file_close.
	* kern/misc.c (grub_vsprintf): Terminate the string S with NUL.

2005-10-24  Marco Gerards  <mgerards@xs4all.nl>

	* include/grub/parser.h: New file.

	* kern/parser.c: Likewise.

	* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
	(grub_setup_SOURCES): Likewise.
	(grub_probefs_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	(kernel_img_HEADERS): Add `parser.h'.

	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
	(grub_emu_SOURCES): Add `kern/parser.c'.
	(grubof_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
	(grubof_SOURCES): Add `kern/parser.c'.

	* include/grub/misc.h (grub_split_cmdline): Removed prototype.

	* kern/misc.c (grub_split_cmdline): Removed function.

	* kern/rescue.c: Include <grub/parser.h>.
	(grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
	of `grub_split_cmdline'.

	* normal/command.c: Include <grub/parser.h>.
	(grub_command_execute):  Use `grub_parser_split_cmdline' instead
	of `grub_split_cmdline'.

	* normal/completion.c: Include <grub/parser.h>.
	(cmdline_state): New variable.
	(iterate_dir): End the filename with a quote depending on the
	command line state.
	(get_state): new function.
	(grub_normal_do_completion): Use `grub_parser_split_cmdline' to
	split the arguments and determine the current argument.  When the
	argument string is not quoted, escape all spaces.

2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>

	* normal/sparc64/setjmp.S: New file.

2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>

	* include/grub/sparc64/libgcc.h: New file.
	* conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
	(normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
	normal/sparc64/setjmp.c.

2005-10-23  Vincent Pelletier  <subdino2004@yahoo.fr>

	* kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
	* kern/sparc64/cache.S: New file.
	* kern/sparc64/cache.c: Removed.
	* conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
	(COMMON_CFLAGS): Add -mno-app-regs.  Remove -mcpu=v9 and
	-mtune=ultrasparc.
	(COMMON_LDFLAGS): Add -melf64_sparc.
	(grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
	(grubof_SOURCES): Use cache.S instead of cache.c.
	(grubof_LDFLAGS): Add -mno-app-regs.  Replace "-Xlinker
	--oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
	(pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
	commented though.
	(normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
	(_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
	(linux_mod_CFLAGS): Commented out.
	(_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
	out because module isn't built.
	(fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
	(ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
	(jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
	(hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
	(ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
	(font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
	(pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
	(suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
	(help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
	(configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
	(xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
	(affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
	(sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
	(gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.

2005-10-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
	grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
	longer, because HFS should not be used on PC.

2005-10-20  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>

	* io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
	consistently within the loop.

2005-10-15  Marco Gerards  <mgerards@xs4all.nl>

	* fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
	directory can not be read.

2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac (AC_INIT): Increase the version number to 1.91.

	* DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
	include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
	term/i386/pc/serial.c.

2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/file.c (grub_file_seek): Seeking to an offset equal to a
	file size must be permitted.

	* kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
	between %ah and %al.

2005-10-15  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
	grub_uint64_t.
	Call the hook with a NUL-terminated filename.
	(grub_xfs_mount): Use grub_be_to_cpu32 instead of
	grub_cpu_to_be32.

	* kern/term.c (cursor_state): New variable.
	(grub_term_set_current): Reset the cursor state on a new
	terminal.
	(grub_setcursor): Rewritten to use CURSOR_STATE.
	(grub_getcursor): New function.

	* include/grub/term.h (grub_getcursor): New prototype.

	* io/gzio.c (test_header): Align BUF for accessing it as 32-bit
	integers on ARM. Reported by Timothy Baldwin
	<T.E.Baldwin99@members.leeds.ac.uk>.

2005-10-11  Marco Gerards  <mgerards@xs4all.nl>

	* fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
	allocated.
	(grub_sfs_dir): Likewise.

2005-10-09  Marco Gerards  <mgerards@xs4all.nl>

	Add support for the SFS filesystem.

	* fs/sfs.c: New file.

	* DISTLIST: Added `fs/sfs.c'.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
	(grub_probefs_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add `sfs.mod'.
	(sfs_mod_SOURCES): New variable.
	(sfs_mod_CFLAGS): Likewise.
	(sfs_mod_LDFLAGS): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
	(pkgdata_MODULES): Add `sfs.mod'.
	(sfs_mod_SOURCES): New variable.
	(sfs_mod_CFLAGS): Likewise.

	* util/grub-emu.c (main): Call `grub_sfs_init' and
	`grub_sfs_fini'.

	* include/grub/fs.h (grub_sfs_init): New prototype.
	(grub_sfs_fini): Likewise.

2005-10-07  Marco Gerards  <mgerards@xs4all.nl>

	Add support for the AFFS filesystem.

	* fs/affs.c: New file.

	* DISTLIST: Added `fs/affs.c'.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
	(grub_probefs_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add `affs.mod'.
	(affs_mod_SOURCES): New variable.
	(affs_mod_CFLAGS): Likewise.
	(affs_mod_LDFLAGS): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
	(pkgdata_MODULES): Add `affs.mod'.
	(affs_mod_SOURCES): New variable.
	(affs_mod_CFLAGS): Likewise.

	* util/grub-emu.c (main): Call `grub_affs_init' and
	`grub_affs_fini'.

	* include/grub/fs.h (grub_affs_init): New prototype.
	(grub_affs_fini): Likewise.

2005-10-01  Marco Gerards  <mgerards@xs4all.nl>

	* fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.

2005-10-01  Marco Gerards  <mgerards@xs4all.nl>

	* configure.ac: Accept `x86_64' as host_cpu.  In that case add
	`-m32' to CFLAGS.

	* genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
	linking.

	* conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
	(COMMON_LDFLAGS): New variable.
	(kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
	(_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
	(ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
	(hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
	(xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
	(normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
	(terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
	(cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
	(halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
	(terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
	(multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
	(pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
	(default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
	(vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
	(vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
	variables.
	(normal_mod_ASFLAGS): Add `-m32'.

	* include/grub/types.h (grub_host_addr_t, grub_host_off_t)
	(grub_host_size_t, grub_host_ssize_t): New types.
	(grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
	dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
	`GRUB_HOST_SIZEOF_VOID_P'.

	* include/grub/kernel.h (struct grub_module_header): Type of
	member offset changed to `grub_host_off_t'.  Type of member size
	changed to `grub_host_size_t'.
	(struct grub_module_info): Type of member offset changed to
	`grub_host_off_t'.  Type of member size changed to
	`grub_host_size_t'.

2005-09-29  Yoshinori K. Okuji  <okuji@enbug.org>

	Make GRUB's kernel compliant to Multiboot Specification.

	* kern/i386/pc/startup.S (multiboot_header): New label.
	(multiboot_entry): Likewise.
	(multiboot_trampoline): Likewise.

	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
	Increased to 0x4A0.

	* fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
	put parentheses after a question mark.
	[!GRUB_UTIL] (my_mod): New variable.

	* util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.

2005-09-28  Marco Gerards  <mgerards@xs4all.nl>

	Adds support for the XFS filesystem.  Btrees are not supported
	yet.

	* fs/xfs.c: New file.

	* DISTLIST: Added `fs/xfs.c'.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
	(grub_probefs_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add `xfs.mod'.
	(xfs_mod_SOURCES): New variable.
	(xfs_mod_CFLAGS): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
	(pkgdata_MODULES): Add `xfs.mod'.
	(xfs_mod_SOURCES): New variable.
	(xfs_mod_CFLAGS): Likewise.

	* util/grub-emu.c (main): Call `grub_xfs_init' and
	`grub_xfs_fini'.

	* include/grub/fs.h (grub_xfs_init): New prototype.
	(grub_xfs_fini): Likewise.


2005-09-18  Vesa Jaaskelainen  <chaac@nic.fi>

	* video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
	color modes, allow greater than 16 colors to be configured as
	a default palette.

2005-09-03  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/completion.c (complete_arguments): Add the qualifier
	const into OPTIONS.

	From Omniflux <omniflux+lists@omniflux.com>:
	* include/grub/terminfo.h: New file.
	* include/grub/tparm.h: Likewise.
	* include/grub/i386/pc/serial.h: Likewise.
	* term/terminfo.c: Likewise.
	* term/tparm.c: Likewise.
	* term/i386/pc/serial.c: Likewise.
	* conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
	serial.mod.
	(terminfo_mod_SOURCES): New variable.
	(terminfo_mod_CFLAGS): Likewise.
	(serial_mod_SOURCES): Likewise.
	(serial_mod_CFLAGS): Likewise.

2005-08-31  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
	boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
	and kern/powerpc/ieee1275/cmain.c, respectively.

	* boot/powerpc/ieee1275/crt0.S: Moved to ...
	* kern/powerpc/ieee1275/crt0.S: ... here.

	* boot/powerpc/ieee1275/cmain.c: Moved to ...
	* kern/powerpc/ieee1275/cmain.c: ... here.

	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
	kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
	instead of boot/powerpc/ieee1275/crt0.S and
	boot/powerpc/ieee1275/cmain.c, respectively.

	* boot/i386/pc/boot.S (lba_mode): Do not store the total number of
	sectors. It was not used anyway.

2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>

	* term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
	`unused parameter' warning.

2005-08-30  Hollis Blanchard  <hollis@penguinppc.org>

	* term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
	function.
	(grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
	getcharwidth.

2005-08-28  Marco Gerards  <metgerards@student.han.nl>

	* include/grub/normal.h (enum grub_completion_type): Added
	`GRUB_COMPLETION_TYPE_ARGUMENT'.

	* normal/cmdline.c (print_completion): Handle
	the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
	* normal/menu_entry.c (store_completion): Likewise.

	* normal/completion.c (complete_arguments): New function.
	(grub_normal_do_completion): Call `complete_arguments' when the
	current words start with a dash.

2005-08-27  Marco Gerards  <metgerards@student.han.nl>

	* conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
	`gzio.mod' instead of `io.mod').

2005-08-22  Yoshinori K. Okuji  <okuji@enbug.org>

	* gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
	(DISTDIRS): Added io and video.
	Rewrite the search routine to make an output consistently.

	* DISTLIST: Added conf/sparc64-ieee1275.mk,
	conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
	include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
	io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
	kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
	util/powerpc/ieee1275/misc.c.

	* include/grub/gzio.h: New file.
	* io/gzio.c: Likewise.

	* kern/file.c (grub_file_close): Call grub_device_close only if
	FILE->DEVICE is not NULL.

	* include/grub/mm.h [!NULL] (NULL): New macro.

	* include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
	(pkgdata_MODULES): Added gzio.mod.
	(gzio_mod_SOURCES): New variable.
	(gzio_mod_CFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
	(pkgdata_MODULES): Added gzio.mod.
	(gzio_mod_SOURCES): New variable.
	(gzio_mod_CFLAGS): Likewise.

	* commands/cat.c: Include grub/gzio.h.
	(grub_cmd_cat): Use grub_gzfile_open instead of
	grub_file_open.

	* commands/cmp.c: Include grub/gzio.h.
	(grub_cmd_cmp): Use grub_gzfile_open instead of
	grub_file_open.

	* loader/i386/pc/multiboot.c: Include grub/gzio.h.
	(grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
	grub_file_open.
	(grub_rescue_cmd_module): Likewise.

2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>

	* conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
	kern/sparc64/ieee1275/init.c because it contains _start.
	* conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.

2005-08-21  Vincent Pelletier  <subdino2004@yahoo.fr>

	* configure.ac: Add support for sparc64 host with ieee1275
	firmware.
	* configure: Generated from configure.ac.
	* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
	instead of int.
	(grub_ofdisk_read): Likewise.
	(grub_ofdisk_open): Use %p to print pointer values, and cast the
	pointers as (void *) to remove a warning.
	(grub_ofdisk_close): Likewise.
	(grub_ofdisk_read): Likewise.
	* kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
	returns, so make it return void to remove a warning.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
	Corresponding prototype change.
	* kern/mm.c (grub_mm_init_region): Use %p to print pointer
	values, and cast the pointers as (void *) to remove a warning.
	(grub_mm_dump): Likewise.
	* conf/sparc64-ieee1275.mk: New file.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* include/grub/sparc64/setjmp.h: Likewise.
	* include/grub/sparc64/types.h: Likewise.
	* include/grub/sparc64/ieee1275/console.h: Likewise.
	* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
	* include/grub/sparc64/ieee1275/kernel.h: Likewise.
	* include/grub/sparc64/ieee1275/time.h: Likewise.
	* kern/sparc64/cache.c: Likewise.
	* kern/sparc64/dl.c: Likewise.
	* kern/sparc64/ieee1275/init.c: Likewise.
	* kern/sparc64/ieee1275/openfw.c: Likewise.

2005-08-21  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/console.c (grub_ncurses_putchar): If C is greater than
	0x7f, set C to a question mark.
	(grub_ncurses_getcharwidth): New function.
	(grub_ncurses_term): Specify grub_ncurses_getcharwidth as
	getcharwidth.

	* normal/menu.c (print_entry): Made aware of Unicode. First,
	convert TITLE to UCS-4, and predict the cursor position by
	grub_getcharwidth.

	* include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
	const to SRC.
	* kern/misc.c (grub_utf16_to_utf8): Likewise.

2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
	the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
	grub_strcat.

	* loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
	file by the option BOOT_IMAGE. Use grub_stpcpy instead of
	grub_strcpy and grub_strlen. Take it into account that a space
	character is inserted as a delimiter.

2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* partmap/pc.c (pc_partition_map_iterate): Include the value of an
	invalid magic in the error.

	* commands/search.c: New file.

	* util/grub-emu.c (main): Call grub_search_init and
	grub_search_fini.

	* kern/rescue.c (grub_rescue_print_disks): Removed.
	(grub_rescue_print_devices): New function.
	(grub_rescue_cmd_ls): Use grub_device_iterate with
	grub_rescue_print_devices instead of grub_disk_dev_iterate with
	grub_rescue_print_disks.

	* kern/partition.c (grub_partition_iterate): Return the result of
	PARTMAP->ITERATE instead of GRUB_ERRNO.

	* kern/device.c: Include grub/partition.h.
	(grub_device_iterate): New function.

	* include/grub/partition.h (grub_partition_iterate): Return int
	instead of grub_err_t.

	* include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
	prototype.
	[GRUB_UTIL] (grub_search_fini): Likewise.

	* include/grub/device.h (grub_device_iterate): New prototype.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
	commands/search.c.
	(pkgdata_MODULES): Added search.mod.
	(search_mod_SOURCES): New variable.
	(search_mod_CFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
	(pkgdata_MODULES): Added search.mod.
	(search_mod_SOURCES): New variable.
	(search_mod_CFLAGS): Likewise.

	* commands/ls.c (grub_ls_list_disks): Renamed to ...
	(grub_ls_list_devices): ... this, and use grub_device_iterate.
	All callers changed.

	* DISTLIST: Added commands/search.c.

2005-08-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
	conversion.
	(grub_getcharwidth): New function.

	* kern/misc.c (grub_utf8_to_ucs4): New function.

	* include/grub/term.h (struct grub_term): Added a new member
	"getcharwidth".
	(grub_getcharwidth): New prototype.

	* include/grub/misc.h (grub_utf8_to_ucs4): New prototype.

	* term/i386/pc/console.c (map_char): New function. Segregated from
	grub_console_putchar.
	(grub_console_putchar): Use map_char.
	(grub_console_getcharwidth): New function.
	(grub_console_term): Specified grub_console_getcharwidth as
	getcharwidth.

	* term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
	(grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.

	* term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
	GRUB_ERRNO.
	(grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
	on grub_strtoul completely.
	(write_char): Declare local variables in the beginning of the
	function.
	(grub_vesafb_getcharwidth): New function.
	(grub_vesafb_term): Specified grub_vesafb_getcharwidth as
	getcharwidth.

2005-08-19  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
	commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
	commands/i386/pc/vbetest.c.

	* video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
	call grub_vbe_get_controller_info again, because the returned
	information is volatile.
	(grub_vbe_set_video_mode): Mostly rewritten.
	(grub_vbe_get_video_mode): Use grub_vbe_probe and use
	grub_vbe_status_t correctly.
	(grub_vbe_get_video_mode_info): Likewise.
	(grub_vbe_set_pixel_rgb): Use a switch statement rather than
	several if statements.

	* commands/i386/pc/vbe_list_modes.c: Renamed to ...
	* commands/i386/pc/vbeinfo.c: ... this.

	* commands/i386/pc/vbe_test.c: Renamed to ...
	* commands/i386/pc/vbetest.c: ... this.

	* commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
	...
	(grub_cmd_vbeinfo): ... this. Save video modes before
	iterating. Skip a video mode, if it is not available, not enough
	information is given or it is monochrome. Show the memory
	model. Leave the interpretation of MODEVAR to grub_strtoul
	completely.
	(GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
	(GRUB_MOD_FINI): Likewise.

	* commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
	(grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
	grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
	duplicated grub_env_get. Leave the interpretation of MODEVAR to
	grub_strtoul completely.
	(real2pm): Removed.
	(GRUB_MOD_INIT): Rename vbe_test to vbetest.
	(GRUB_MOD_FINI): Likewise.

	* normal/misc.c: Include grub/mm.h.

	* conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
	vbe_list_modes with vbetest.mod and vbeinfo.mod.
	(vbe_list_modes_mod_SOURCES): Removed.
	(vbe_list_modes_mod_CFLAGS): Likewise.
	(vbe_test_mod_SOURCES): Likewise.
	(vbe_test_mod_CFLAGS): Likewise.
	(vbeinfo_mod_SOURCES): New variable.
	(vbeinfo_mod_CFLAGS): Likewise.
	(vbetest_mod_SOURCES): Likewise.
	(vbetest_mod_CFLAGS): Likewise.

2005-08-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/misc.c: New file.

	* DISTLIST: Added normal/misc.c.

	* partmap/amiga.c (amiga_partition_map_iterate): Add an argument
	DISK to HOOK. Call HOOK with DISK.
	* partmap/apple.c (apple_partition_map_iterate): Likewise.
	* partmap/pc.c (pc_partition_map_iterate): Likewise.
	* partmap/sun.c (sun_partition_map_iterate): Likewise.

	* normal/menu_entry.c (struct screen): Added a new member
	"completion_shown".
	(completion_buffer): New global variable.
	(make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
	(store_completion): New function.
	(complete): Likewise.
	(clear_completions): Likewise.
	(grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
	call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
	a tab, call complete.

	* normal/completion.c (disk_dev): Removed.
	(print_simple_completion): Likewise.
	(print_partition_completion): Likewise.
	(print_func): New global variable.
	(add_completion): Do not take the arguments WHAT or PRINT any
	longer. Added a new argument TYPE. Instead of printing directly,
	call PRINT_FUNC if not NULL.
	All callers changed.
	(complete_device): Use a local variable DEV instead of
	DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
	(grub_normal_do_completion): Take a new argument HOOK. Do not
	initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
	empty string, return NULL instead.
	All callers changed.

	* normal/cmdline.c (print_completion): New function.

	* kern/partition.c (grub_partition_iterate): Add an argument DISK
	to HOOK.
	All callers changed.

	* kern/disk.c (grub_print_partinfo): Removed.

	* include/grub/partition.h (struct grub_partition_map): Add a new
	argument DISK into HOOK of ITERATE.
	(grub_partition_iterate): Add a new argument DISK to HOOK.

	* include/grub/normal.h (enum grub_completion_type): New enum.
	(grub_completion_type_t): New type.
	(GRUB_COMPLETION_TYPE_COMMAND): New constant.
	(GRUB_COMPLETION_TYPE_DEVICE): Likewise.
	(GRUB_COMPLETION_TYPE_PARTITION): Likewise.
	(GRUB_COMPLETION_TYPE_FILE): Likewise.
	(grub_normal_do_completion): Added a new argument HOOK.
	(grub_normal_print_device_info): New prototype.

	* include/grub/disk.h (grub_print_partinfo): Removed.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
	(normal_mod_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* commands/ls.c (grub_ls_list_disks): Use
	grub_normal_print_device_info instead of grub_print_partinfo. Free
	PNAME.
	(grub_ls_list_files): Use grub_normal_print_device_info instead of
	duplicating the code.

2005-08-16  Vesa Jaaskelainen  <chaac@nic.fi>

	* commands/i386/pc/vbe_list_modes.c: Update source formatting to
	follow GCS more precisely.
	* commands/i386/pc/vbe_test.c: Likewise.
	* include/grub/i386/pc/vbe.h: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.

2005-08-16  Vesa Jaaskelainen  <chaac@nic.fi>

	* DISTLIST: Added term/i386/pc/vesafb.c
	DISTLIST: Added video/i386/pc/vbe.c
	DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
	DISTLIST: Added commands/i386/pc/vbe_test.c.
	* commands/i386/pc/vbe_list_modes.c: New file.
	* commands/i386/pc/vbe_test.c: Likewise.
	* term/i386/pc/vesafb.c: Likewise.
	* video/i386/pc/vbe.c: Likewise.
	* include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
	(grub_vbe_probe) Added prototype.
	(grub_vbe_set_video_mode) Likewise.
	(grub_vbe_get_video_mode) Likewise.
	(grub_vbe_get_video_mode_info) Likewise.
	(grub_vbe_set_pixel_rgb) Likewise.
	(grub_vbe_set_pixel_index) Likewise.
	* conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
	(pkgdata_MODULES): Added vesafb.mod.
	(pkgdata_MODULES): Added vbe_list_modes.mod.
	(pkgdata_MODULES): Added vbe_test.mod.
	(vbe_mod_SOURCES): Added.
	(vbe_mod_CFLAGS): Likewise.
	(vesafb_mod_SOURCES): Likewise.
	(vesafb_mod_CFLAGS): Likewise.
	(vbe_list_modes_mod_SOURCES): Likewise.
	(vbe_list_modes_mod_CFLAGS): Likewise.
	(vbe_test_mod_SOURCES): Likewise.
	(vbe_test_mod_CFLAGS): Likewise.

2005-08-14  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/command.c (grub_command_execute): If INTERACTIVE is
	false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
	CMDLINE. Disable the pager if INTERACTIVE is true.
	All callers are changed.

	* normal/main.c (grub_normal_execute): Read command.lst and fs.lst
	before reading a config file.
	* normal/main.c (read_config_file): Even if a command is not
	found, register it if it is within an entry.

	* util/grub-emu.c: Include sys/types.h and unistd.h.
	(options): Added --hold.
	(struct arguments): Added a new member "hold".
	(parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
	missing.
	(main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
	cleared by a debugger, if it is not zero.

	* include/grub/normal.h (grub_command_execute): Add an argument
	INTERACTIVE.

2005-08-14  Vesa Jaaskelainen  <chaac@nic.fi>

	* DISTLIST: Added include/grub/i386/pc/vbe.h.

2005-08-13  Yoshinori K. Okuji  <okuji@enbug.org>

	* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
	program with another one, because the old one didn't detect a bug
	in gcc-3.4. Always use regparm 2, because the new test is still
	not enough for gcc-4.0. Someone must investigate a simple test
	case which detects a bug in gcc-4.0.

2005-08-12  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added normal/completion.c.

	* normal/completion.c: New file.

	* term/i386/pc/console.c (grub_console_getwh): New function.
	(grub_console_term): Assign grub_console_getwh to getwh.

	* normal/cmdline.c (grub_tab_complete): Removed. Now the same
	function is defined in normal/completion.c as
	grub_normal_do_completion.
	(grub_cmdline_get): Use grub_normal_do_completion instead of
	grub_tab_complete.

	* kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
	returns non-zero, otherwise return 0.
	(grub_partition_iterate): First, probe the partition map. Then,
	call ITERATE only for this partition map.

	* kern/misc.c (grub_strncmp): Rewritten.

	* kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
	returns non-zero. Otherwise return 0.

	* include/grub/partition.h (grub_partition_map_iterate): Return
	int instead of void.

	* include/grub/normal.h (grub_normal_do_completion): New prototype.

	* include/grub/misc.h (grub_strncmp): Change the type of N to
	grub_size_t.

	* include/grub/disk.h (grub_disk_dev_iterate): Return int instead
	of void.

	* normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
	unsigned explicitly before comparing it with I.

	* kern/main.c (grub_env_write_root): Add the attribute unused into
	VAR.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
	normal/completion.c.
	(normal_mod_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* normal/command.c (grub_iterate_commands): If ITERATE returns
	non-zero, return one immediately.

2005-08-09  Vesa Jaaskelainen  <chaac@nic.fi>

	* conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
	* kern/i386/pc/startup.S: Updated Global Descriptor table's
	descriptions.
	(grub_vbe_get_controller_info): New function.
	(grub_vbe_get_mode_info): Likewise.
	(grub_vbe_set_mode): Likewise.
	(grub_vbe_get_mode): Likewise.
	(grub_vbe_set_memory_window): Likewise.
	(grub_vbe_get_memory_window): Likewise.
	(grub_vbe_set_scanline_length): Likewise.
	(grub_vbe_get_scanline_length): Likewise.
	(grub_vbe_set_display_start): Likewise.
	(grub_vbe_get_display_start): Likewise.
	(grub_vbe_set_palette_data): Likewise.
	* include/grub/i386/pc/vbe.h: New file.

2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>

	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
	kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
	* DISTLIST: Likewise.
	* kern/ieee1275/of.c: Moved to ...
	* kern/ieee1275/ieee1275.c: ... here.

2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>

	* term/ieee1275/ofconsole.c: Include <grub/mm.h>.
	(grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
	Pass 0 as `end' parameter to grub_strtoul().

2005-08-08  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/powerpc/ieee1275/console.h: Do not include
	<grub/types.h>.  Do not include <grub/symbol.h>.  Remove ASM_FILE
	ifdef.
	(grub_console_cur_color): Remove i386-specific prototype.
	(grub_console_real_putchar): Likewise.
	(grub_console_checkkey): Likewise.
	(grub_console_getkey): Likewise.
	(grub_console_getxy): Likewise.
	(grub_console_gotoxy): Likewise.
	(grub_console_cls): Likewise.
	(grub_console_setcursor): Likewise.
	* kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
	Include <grub/machine/console.h>.
	* term/ieee1275/ofconsole.c: Likewise.

2005-08-08  Yoshinori K. Okuji  <okuji@enbug.org>

	* Makefile.in (LIBLZO): New variable.

	* configure.ac: Check for LZO version 2.

	* util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
	lzo/lzo1x.h instead of lzo1x.h.

	* conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
	of -llzo.

	* util/i386/pc/grub-setup.c (main): Do not free PREFIX
	twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.

	* partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
	copying the data from PARTITION to P.

2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
	negative, unload the module.

	* util/i386/pc/grub-setup.c (setup): The name of the PC partition
	map is "pc_partition_map" but not "pc".
	(usage): Fix the description. The options are --boot-image and
	--core-image but not --boot-file or --core-file.
	(main): If not specified explicitly, make BOOT_FILE and CORE_FILE
	based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
	DEFAULT_DIRECTORY.

	* util/i386/pc/grub-install.in: Do not specify --boot-file or
	--core-file. Specify INSTALL_DEVICE as an argument.

	* util/console.c: Include config.h.
	[HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
	[HAVE_NCURSES_H]: Include ncurses.h.
	[HAVE_CURSES_H]: Include curses.h.
	[!A_NORMAL] (A_NORMAL): Defined as zero.
	[!A_STANDOUT] (A_STANDOUT): Likewise.

	* conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
	-lncurses.
	* conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.

	* configure.ac: Check for curses libraries and headers.

	* Makefile.in (LIBCURSES): New variable.

	* genmk.rb (Script::rule): Set the executable bits.

	* util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
	name of the PC partition map is "pc_partition_map" but not "pc".

2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-install.in (grub_probefs): New variable.
	(modules): Likewise.
	(usage): Added descriptions for --modules and --grub-probefs.
	Handle --modules and --grub-probefs. Save the arguments in MODULES
	and GRUB_PROBEFS, respectively.
	Auto-detect a filesystem module against GRUBDIR. If the result is
	empty and modules are not specified explicitly, abort the
	installation. Add the result to MODULES.

	* DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
	disk/powerpc/ieee1275/ofdisk.c,
	include/grub/powerpc/ieee1275/init.h and
	term/powerpc/ieee1275/ofconsole.c.
	Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
	term/ieee1275/ofconsole.c.

	* include/grub/powerpc/ieee1275/console.h: Resurrected.

	* COPYING: Upgraded to the latest version. Only the address of the
	FSF office has changed.

2005-08-07  Yoshinori K. Okuji  <okuji@enbug.org>

	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
	kern/ieee1275.c with kern/ieee1275/of.c.

	* kern/ieee1275.c: Moved to ...
	* kern/ieee1275/of.c: ... here.

2005-08-06  Yoshinori K. Okuji  <okuji@enbug.org>

	* conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
	readability.

	* config.guess: Updated to the latest version from gnulib.
	* config.sub: Likewise.
	* install.sh: Likewise.
	* mkinstalldirs: Likewise.

	* include/grub/console.h: Removed. This file is arch-specific. Do
	not put this in include/grub.

	* include/grub/i386/pc/console.h: Resurrected.

	* util/console.c: Include grub/machine/console.h instead of
	grub/console.h.
	* util/grub-emu.c: Likewise.

2005-08-04  Marco Gerards  <metgerards@student.han.nl>

	* kern/term.c (grub_putcode): Use `grub_getwh' instead of
	hardcoded value.

	From Vincent Pelletier  <subdino2004@yahoo.fr>
	* include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
	Redefined to use grub_getwh.
	(grub_term): New member named getwh.
	(grub_getwh): New prototype.
	* kern/term.c (grub_getwh): New function.
	* term/i386/pc/console.c (grub_console_getwh): New function.
	(grub_console_term): New member `getwh'.
	* term/i386/pc/vga.c (grub_vga_getwh): New function.
	(grub_vga_term): New member `getwh'.
	* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
	grub_ssize_t.
	(grub_ofconsole_getw): New function.
	(grub_ofconsole_init): Use grub_ssize_t and unsigned char.
	(grub_ofconsole_term): New field named getwh and new initial
	value.

2005-08-03  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/powerpc/ieee1275/ieee1275.h: Move ...
	* include/grub/ieee1275/ieee1275.h: ... to here.  All users updated.
	Move `abort', `grub_reboot', and `grub_halt' prototypes ...
	* include/grub/powerpc/ieee1275/kernel.h: ... to here.
	* commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
	of <grub/machine/ieee1275.h>.
	* commands/ieee1275/reboot.c: Likewise.
	* boot/powerpc/ieee1275/ieee1275.c: Move ...
	* kern/ieee1275.c: ... to here.  All users updated.  Change all
	parameter structs to use new type `grub_ieee1275_cell_t'.
	* term/powerpc/ieee1275/ofconsole.c: Move ...
	* term/ieee1275/ofconsole.c: ... to here.  All users updated.
	* disk/powerpc/ieee1275/ofdisk.c: Move ...
	* disk/ieee1275/ofdisk.c: ... to here.  All users updated.
	* boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
	to return int.
	* include/grub/i386/pc/console.h: Move to include/grub/console.h.
	Remove unused prototypes.  All users updated.
	* include/grub/powerpc/ieee1275/console.h: Removed.
	* include/grub/powerpc/ieee1275/ieee1275.h: Define
	`grub_ieee1275_cell_t'.
	* kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
	Cast comparisons with -1 to the correct type.
	* loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
	type to match `grub_ieee1275_entry_fn'.

2005-08-01  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added util/i386/pc/grub-probefs.c.

	* conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
	(grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
	partmap/sun.c.
	(grub_probefs_SOURCES): New variable.

	* util/i386/pc/grub-probefs.c: New file.

	* util/i386/pc/grub-setup.c (main): Call
	grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
	grub_hfs_init and grub_jfs_init to initialize the system. Call
	grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
	grub_pc_partition_map_fini to finish the system.

2005-07-31  Yoshinori K. Okuji  <okuji@enbug.org>

	* loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
	function.
	(grub_multiboot_load_elf32): Likewise.
	(grub_multiboot_is_elf64): Likewise.
	(grub_multiboot_load_elf64): Likewise.
	(grub_multiboot_load_elf): Likewise.
	(grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
	an ELF32 or ELF64 file.
	This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.

	From Serbinenko Vladimir <serbinenko.vova@list.ru>:
	* kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
	NULL before calling FS->LABEL.
	* fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
	* commands/ls.c (grub_ls_list_files): Show labels, if possible.
	(grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
	before calling FS->LABEL.

2005-07-26  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/grub-install.in (datadir): New variable.
	(libdir): Removed.
	(pkgdatadir): New variable.
	(pkglibdir): Removed.

2005-07-24  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: Added util/i386/pc/grub-install.in.

	* util/i386/pc/grub-install.in: New file.

	* conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
	(grub_install_SOURCES): Likewise.

	* genmk.rb: Added support for scripts.
	(Script): New class.
	(scripts): New variable.

	* Makefile.in (install-local): Install sbin_SCRIPTS by
	INSTALL_SCRIPT.
	(uninstall): Remove sbin_SCRIPTS.

	* util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
	device, try to get a GRUB device by
	grub_util_biosdisk_get_grub_dev.
	Free DEST_DEV.

	* util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
	description for --device-map.

2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>

	Change the semantics of variable hooks. They now return	strings
	instead of error values.

	* util/i386/pc/grub-setup.c: Include grub/env.h.
	(setup): Use grub_device_set_root instead of grub_env_set.

	* kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
	grub_env_get instead of grub_device_set_root and
	grub_device_get_root, respectively.

	* kern/main.c (grub_env_write_root): New function.
	(grub_set_root_dev): Register grub_env_write_hook for "root". Use
	grub_env_set instead of grub_device_set_root.

	* kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
	many variables.
	(grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
	rather than calling ENV->WRITE_HOOK afterwards.
	(grub_env_get): Return the result of ENV->READ_HOOK rather than
	passing a pointer of a pointer.
	(grub_register_variable_hook): Change the types of "read_hook" and
	"write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
	respectively.
	Allocate the default empty string on the heap, because this string
	may be freed later.

	* kern/device.c: Include grub/env.h.
	(grub_device_set_root): Removed.
	(grub_device_get_root): Likewise.
	(grub_device_open): Use grub_env_get instead of
	grub_device_get_root.

	* include/grub/env.h (grub_env_read_hook_t): New type.
	(grub_env_write_hook_t): Likewise.
	(grub_env_var): Change the types of "read_hook" and "write_hook"
	to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
	(grub_register_variable_hook): Likewise.

	* include/grub/device.h (grub_device_set_root): Removed.
	(grub_device_set_root): Likewise.

	* fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
	make sure that DIRNAME terminates with '/', so that
	grub_fat_find_dir will fail if PATH is not a directory.

	* commands/ls.c (grub_ls_list_files): Remove the qualifier const
	from DIRNAME.
	Use the qualifier auto for print_files and print_files_long.
	If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
	as a regular file.
	Put a newline only if there is no error.
	(grub_cmd_ls): Remove grub_ls_print_files, because this is not
	used.

2005-07-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/partition.c (grub_partition_probe): Initialize PART to
	NULL. Otherwise, when no partition map is registered, this returns
	a garbage.

2005-07-19  Yoshinori K. Okuji  <okuji@enbug.org>

	* partmap/apple.c (apple_partition_map_iterate): Check if POS
	equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
	valid.

2005-07-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* commands/ls.c (grub_ls_list_disks): Print the filesystem
	information on each device, if it does not have partitions. Print
	"Device" instead of "Disk", because this function is not specific
	to disk devices.

	* normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
	static to ensure that it is put on the memory rather than a
	register.

2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

	* commands/cat.c (GRUB_MOD_INIT): Use better documentation.
	(grub_cat_init): Likewise.
	* loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
	(options): Likewise.
	* commands/configfile.c (GRUB_MOD_INIT): Likewise.
	(grub_configfile_init): Likewise.
	* font/manager.c (GRUB_MOD_INIT): Likewise.
	* commands/help.c (GRUB_MOD_INIT): Likewise.
	(grub_help_init): Likewise.
	* normal/command.c (grub_command_init): Likewise.
	* loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
	* disk/loopback.c (grub_loop_init): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/ls.c (grub_ls_init): Likewise.
	(GRUB_MOD_INIT): Likewise.
	(options): Likewise.
	* commands/boot.c (grub_boot_init): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
	* commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
	(GRUB_MOD_INIT): Likewise.
	* commands/cmp.c (grub_cmp_init): Likewise.
	(GRUB_MOD_INIT): Likewise.

	* normal/arg.c: Use <> instead of "" to include header files.
	(SHORT_ARG_HELP): New macro.
	(SHORT_ARG_USAGE): Likewise.
	(help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
	of 'h' and 'u' for help and usage, respectively. Use more GNU-like
	descriptions.
	(find_short): Check if C is 'h' or 'u' explicitly.
	(grub_arg_show_help): Use space characters instead of tabs. Treat
	SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
	are shown with --help and --usage only if they are not used for
	the command itself.
	(parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
	'h' and 'u'.

	* include/grub/arg.h (struct grub_arg_option): Add the qualifier
	const into "longarg". Change the type of "shortarg" to int.

2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

	* boot/i386/pc/boot.S (boot_drive_check): New label.

	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
	macro.

	* util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
	which do not pass a boot drive correctly. Copied from GRUB Legacy.

2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

	* kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
	When turning off Gate A20, skip the check and return immediately,
	because this is not fatal usually.

2005-07-17  Yoshinori Okuji  <okuji@enbug.org>

	* conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
	be 0x7C00 instead of 0x8000.

	* boot/i386/pc/pxeboot.S: Rewritten.

	* kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
	EXT_C.
	(gate_a20_check_state): Read a byte from 0x108000. Invert the
	result.

2005-07-16  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
	robustness. This routine now supports a BIOS call and System
	Control Port A to modify the gate A20.

	* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
	Increased to 0x440.

2005-07-12  Hollis Blanchard  <hollis@penguinppc.org>

	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
	device path and resulting ihandle.
	(grub_ofdisk_close): dprintf the ihandle being closed.
	(grub_ofdisk_read): dprintf function parameters.
	* kern/mm.c (grub_mm_init_region): Likewise.
	* loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
	(grub_linux_boot): dprintf the Linux entry point, initrd address and
	size, and boot arguments.
	(grub_rescue_cmd_linux): dprintf each ELF segment's address and size
	before loading into memory.
	(grub_rescue_cmd_initrd): dprintf the initrd's address and size
	before loading into memory.

2005-07-12  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/mm.c: Added much documentation.
	(GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
	8, set to 5 instead of 8.

2005-07-10  Yoshinori Okuji  <okuji@enbug.org>

	* DISTLIST: Added util/i386/pc/grub-mkimage.c.

	* conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
	(grub_mkdevicemap_SOURCES): New variable.

	* util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
	lib/device.c of GRUB Legacy.

2005-07-10  Yoshinori Okuji  <okuji@enbug.org>

	* commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
	instead of PATH is NULL.

2005-07-09  Vincent Pelletier  <subdino2004@yahoo.fr>

	* commands/cmp.c (BUFFER_SIZE): New macro.
	(grub_cmd_cmp): Close the right file at the right time.  Compare
	only data just read.  Don't report files of different  size as
	identical.  Dynamically allocate buffers.  Move variable
	declarations at the beginning of function.

2005-07-09  Yoshinori Okuji  <okuji@enbug.org>

	* aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
	reverse.

2004-07-04  Vincent Pelletier  <subdino2004@yahoo.fr>

	* normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
	when backspace is pressed at beginning of line.

2005-07-03  Yoshinori Okuji  <okuji@enbug.org>

	* DISTLIST: Added genfslist.sh.

	* normal/main.c (fs_module_list): New variable.
	(autoload_fs_module): New function.
	(read_fs_list): Likewise.
	(grub_normal_execute): Call read_fs_list.

	* kern/fs.c (grub_fs_autoload_hook): New variable.
	(grub_fs_probe): Added support for auto-loading.

	* include/grub/normal.h (struct grub_fs_module_list): New struct.
	(grub_fs_module_list_t): New type.

	* include/grub/fs.h (grub_fs_autoload_hook_t): New type.
	(grub_fs_autoload_hook): New prototype.

	* genfslist.sh: New file.

	* genmk.rb: Added a rule to generate a filesystem list.

2005-06-30  Marco Gerards  <metgerards@student.han.nl>

	* configure.ac: Fix the test for cross-compiling.

	* genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'.  Don't
	define GRUB_UTIL anymore.

	* util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
	so this function works on other systems than just big endian.
	(load_modules): Likewise.
	(add_segments): Likewise.

2005-06-23  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/misc.c (grub_vsprintf): Add `longfmt'.  If format string
	contains `l' modifier, get a long from va_arg().

2005-06-23  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/mm.c (grub_free): If the next free block which is being
	merged is the first free block, set the first block to the block
	being freed.
	Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.

2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c (cmain): Initialize
	`grub_ieee1275_chosen'.

2005-05-08  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c	(module_info): Remove definition.
	(grub_ieee1275_chosen): New variable.
	(cmain): Initialize and use `grub_ieee1275_chosen' instead of
	`chosen'.
	* boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
	Rename first argument to `phandle' for consistency.
	(grub_ieee1275_get_property_length): Likewise.
	(grub_ieee1275_next_property): Likewise.  Change type of first argument
	to grub_ieee1275_phandle_t.
	* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
	Move export next to declaration.
	(grub_ieee1275_chosen): New variable.
	* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
	Correct cosmetic typo.
	* kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
	`grub_ieee1275_chosen'.
	* kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
	* loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
	(grub_rescue_cmd_linux): Set `initrd_addr' to 0.
	* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
	`grub_ieee1275_chosen'.

2005-05-10  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
	/chosen/bootargs.
	* kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
	/chosen/bootargs as "variable=value" pairs.

2005-05-08  Vincent Pelletier  <subdino2004@yahoo.fr>

	* include/grub/misc.h (grub_dprintf): New macro.
	(grub_real_dprintf): New prototype.
	(grub_strword): Likewise.
	(grub_iswordseparator): Likewise.
	* kern/misc.c (grub_real_dprintf): New function.
	(grub_strword): Likewise.
	(grub_iswordseparator): Likewise.

2005-04-30  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
	(roundup): Remove macro.
	(grub_ieee1275_flags): Make static.
	(grub_ieee1275_realmode): Remove.
	(grub_ieee1275_test_flag): New function.
	(grub_ieee1275_set_flag): Likewise.
	(find_options): Rename to `grub_ieee1275_find_options'; update
	callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
	GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
	(cmain): New prototype.
	(cmain): Use `grub_ieee1275_set_flag' instead of accessing
	`grub_ieee1275_flags' directly.
	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
	machine/biosdisk.h.
	* disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
	Don't include grub/machine/init.h.
	(grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
	* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
	Remove prototype.
	(grub_ieee1275_realmode): Likewise.
	(grub_ieee1275_flag): New enum.
	(grub_ieee1275_test_flag): New prototype.
	(grub_ieee1275_set_flag): New prototype.
	* include/grub/powerpc/ieee1275/init.h: Remove file.
	* include/grub/powerpc/ieee1275/ofdisk.h: New file.
	* kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
	Include grub/machine/console.h.  Include grub/machine/ofdisk.h.
	(grub_machine_fini): Don't call `grub_ieee1275_release'.  Remove
	comment.
	* kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
	`grub_ieee1275_test_flag'.
	(grub_ieee1275_encode_devname): Likewise.

2005-04-21  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_encode_devname): New prototype.
	(grub_ieee1275_get_filename): Likewise.
	* kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
	function.
	(grub_set_prefix): Likewise.
	(grub_machine_init): Call grub_set_prefix.
	* kern/powerpc/ieee1275/openfw.c: Fix typos.
	(grub_parse_type): New enum.
	(grub_ieee1275_get_devargs): New function.
	(grub_ieee1275_get_devname): Likewise.
	(grub_ieee1275_parse_args): Likewise.
	(grub_ieee1275_get_filename): Likewise.
	(grub_ieee1275_encode_devname): Likewise.

2005-03-30  Marco Gerards  <metgerards@student.han.nl>

	* kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
	`grub_loader_unset'.

2005-03-26  Hollis Blanchard  <hollis@penguinppc.org>

	* commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
	instead of grub_ieee1275_interpret.
	(grub_halt_init): New function.
	(grub_halt_fini): Likewise.
	(GRUB_MOD_INIT): Correct message grammar.
	* commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
	instead of grub_ieee1275_interpret.
	(grub_reboot_init): New function.
	(grub_reboot_fini): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
	commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
	util/i386/pc/misc.c with commands/ieee1275/halt.c,
	commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
	function.
	* include/grub/powerpc/ieee1275/console.h (grub_console_fini):
	Add prototype.
	* include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
	prototype.
	(grub_halt): Likewise.
	* include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
	(cmain): Remove __attribute__((unused)).
	* kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
	(grub_heap_len): Likewise.
	(grub_machine_fini): New function.
	* kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
	(grub_halt): Likewise.
	* term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
	function.
	* util/powerpc/ieee1275/misc.c: New file.

2005-03-19  Yoshinori K. Okuji  <okuji@enbug.org>

	* DISTLIST: New file.
	* gendistlist.sh: Likewise.

	* Makefile.in (COMMON_DISTFILES): Removed.
	(BOOT_DISTFILES): Likewise.
	(CONF_DISTFILES): Likewise.
	(DISK_DISTFILES): Likewise.
	(FS_DISTFILES): Likewise.
	(INCLUDE_DISTFILES): Likewise.
	(KERN_DISTFILES): Likewise.
	(LOADER_DISTFILES): Likewise.
	(TERM_DISTFILES): Likewise.
	(UTIL_DISTFILES): Likewise.
	(DISTFILES): Likewise.
	(uninstall): Uninstall files in $(pkgdata_DATA).
	(DISTLIST): New target.
	(distdir): Use the contents of the file DISTLIST to get a list of
	distributed files.

2005-03-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
	descriptor. This is ported from GRUB Legacy.

	* gencmdlist.sh: Added an extra semicolon to make it work with
	old sed versions. Reported by Robert Bihlmeyer
	<robbe@orcus.priv.at>.

2005-03-08  Yoshinori Okuji  <okuji@enbug.org>

	Automatic loading of commands is supported.

	* normal/main.c (read_command_list): New function.
	(grub_normal_execute): Call read_command_list.

	* normal/command.c (grub_register_command): Return zero or CMD.
	Allocate CMD->NAME from the heap.
	Initialize CMD->MODULE_NAME to zero.
	Find the same name as well. If the same command is found and it is
	a dummy command, overwrite members. If it is not a dummy command,
	return zero.
	(grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
	(grub_command_find): If a dummy command is found, load a module
	and retry to find a command only once.

	* normal/cmdline.c (grub_tab_complete): Call grub_command_find to
	make sure that each command is loaded.

	* include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
	macro.
	(struct grub_command): Remove const from the member `name'.
	Add a new member `module_name'.
	(grub_register_command): Return grub_command_t.

	* commands/help.c (grub_cmd_help): Call grub_command_find to make
	sure that each command is loaded.

	* genmk.rb (PModule::rule): Specify a module name without the
	suffix ".mod" to gencmdlist.sh.

2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>

	* gencmdlist.sh: New file.

	* genmk.rb (PModule::rule): Generate a rule for a command list.
	Clean command.lst.
	Generate command.lst from $(COMMANDFILES).

	* Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
	(DATA): Added $(pkgdata_DATA).
	(install-local): Install files in $(pkgdata_DATA).

2005-03-02  Yoshinori K. Okuji  <okuji@enbug.org>

	* term/i386/pc/vga.c (debug_command): Removed.
	(GRUB_MOD_INIT): Do not register the command "debug".

	From Hollis Blanchard:
	* commands/configfile.c: New file.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Added
	commands/configfile.c.
	(pkgdata_MODULES): Added configfile.mod.
	(configfile_mod_SOURCES): New variable.
	(configfile_mod_CFLAGS): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
	commands/configfile.c.
	(pkgdata_MODULES): Added configfile.mod.
	(configfile_mod_SOURCES): New variable.
	(configfile_mod_CFLAGS): Likewise.
	* util/grub-emu.c (main): Call grub_configfile_init and
	grub_configfile_fini.
	* include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
	prototype.
	[GRUB_UTIL] (grub_configfile_fini): Likewise.

2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/arg.c (grub_arg_show_help): Do not show the bug report
	address.

	* commands/help.c (grub_cmd_help): Do not print newlines after
	the last command in print_command_help.

2005-02-27  Yoshinori K. Okuji  <okuji@enbug.org>

	* commands/default.h: New file.
	* commands/timeout.h: Likewise.
	* normal/context.c: Likewise.

	* util/misc.c: Do not include sys/times.h.
	Include sys/time.h and grub/machine/time.h.
	(grub_get_rtc): Rewritten with gettimeofday.

	* util/grub-emu.c (main): Call grub_default_init and
	grub_timeout_init before grub_normal_init, and call
	grub_timeout_fini and grub_default_fini after grub_main.

	* util/console.c (grub_ncurses_checkkey): Return the read
	character or -1.

	* normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
	timeouts.

	* normal/main.c (read_config_file): Push MENU. If this fails,
	print an error and wait for a user input.
	Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
	If a menu is empty or an error occurs, pop MENU.
	(grub_normal_execute): Pop and free MENU after grub_menu_run
	returns.

	* kern/loader.c (grub_loader_boot): Call grub_machine_fini.

	* include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
	include	time.h.
	[GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
	without GRUB_UTIL.
	* include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
	time.h.
	[GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
	without GRUB_UTIL.

	* include/grub/normal.h (struct grub_menu_list): New struct.
	(grub_menu_list_t): New type.
	(struct grub_context): New struct.
	(grub_context_t): New type.
	(grub_register_command): Got rid of EXPORT_FUNC.
	(grub_unregister_command): Likewise.
	(grub_context_get): New prototype.
	(grub_context_get_current_menu): Likewise.
	(grub_context_push_menu): Likewise.
	(grub_context_pop_menu): Likewise.
	[GRUB_UTIL] (grub_default_init): Likewise.
	[GRUB_UTIL] (grub_default_fini): Likewise.
	[GRUB_UTIL] (grub_timeout_init): Likewise.
	[GRUB_UTIL] (grub_timeout_fini): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
	commands/timeout.c and normal/context.c.
	(pkgdata_MODULES): Added default.mod and timeout.mod.
	(normal_mod_SOURCES): Added normal/context.c.
	(default_mod_SOURCES): New variable.
	(default_mod_CFLAGS): Likewise.
	(timeout_mod_SOURCES): Likewise.
	(timeout_mod_CFLAGS): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
	conf/i386-pc.rmk.
	(pkgdata_MODULES): Added default.mod and timeout.mod.
	(normal_mod_SOURCES): Added normal/context.c.
	(default_mod_SOURCES): New variable.
	(default_mod_CFLAGS): Likewise.
	(timeout_mod_SOURCES): Likewise.
	(timeout_mod_CFLAGS): Likewise.

	* Makefile.in (all-local): Added $(MKFILES).

2005-02-21  Vincent Pelletier  <subdino2004@yahoo.fr>

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add `sun.mod'.
	(sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
	`partmap/sun.c'.
	(pkgdata_MODULES): Add `sun.mod'.
	(sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
	* include/grub/partition.h (grub_sun_partition_map_init): New
	prototype.
	(grub_sun_partition_map_fini): Likewise.
	* partmap/sun.c: New file.
	* util/grub-emu.c (main): Initialize and de-initialize the sun
	partitionmap support.

2005-02-19  Yoshinori K. Okuji  <okuji@enbug.org>

	This implements an Emacs-like menu entry editor.

	* normal/menu_entry.c: New file.

	* util/console.c (grub_ncurses_putchar): Translate some Unicode
	characters to ASCII.
	(saved_char): New variable.
	(grub_ncurses_checkkey): Rewritten completely.
	(grub_ncurses_getkey): Likewise.
	(grub_ncurses_init): Call raw instead of cbreak.

	* normal/menu.c (print_entry): Do not put a space.
	(init_page): Renamed to ...
	(grub_menu_init_page): ... this. All callers changed.
	(edit_menu_entry): Removed.
	(run_menu): Call grub_menu_entry_run instead of edit_menu_entry.

	* normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.

	* kern/misc.c (grub_vprintf): Call grub_refresh.

	* normal/menu.c (DISP_LEFT): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
	* normal/menu.c (DISP_UP): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
	* normal/menu.c (DISP_RIGHT): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
	* normal/menu.c (DISP_DOWN): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
	* normal/menu.c (DISP_HLINE): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
	* normal/menu.c (DISP_VLINE): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
	* normal/menu.c (DISP_UL): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
	* normal/menu.c (DISP_UR): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
	* normal/menu.c (DISP_LL): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
	* normal/menu.c (DISP_LR): Renamed to ...
	* include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
	* normal/menu.c (TERM_WIDTH): Renamed to ...
	* include/grub/term.h (GRUB_TERM_WIDTH): ... this.
	* normal/menu.c (TERM_HEIGHT): Renamed to ...
	* include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
	* normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
	* include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
	* normal/menu.c (TERM_MARGIN): Renamed to ...
	* include/grub/term.h (GRUB_TERM_MARGIN): ... this.
	* normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
	* include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
	* normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
	* include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
	* normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
	* include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
	* normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
	* include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
	* normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
	* include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
	* normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
	* include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
	* normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
	* include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
	* normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
	* include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
	* normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
	* include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
	* normal/menu.c (TERM_CURSOR_X): Renamed to ...
	* include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
	All callers changed.

	* include/grub/normal.h: New prototype.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added
	normal/menu_entry.c.
	(normal_mod_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

2005-02-15  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/grub/normal.h (grub_halt_init): New prototype.
	(grub_halt_fini): Likewise.
	(grub_reboot_init): Likewise.
	(grub_reboot_fini): Likewise.

	* util/grub-emu.c: Include signal.h.
	(main_env): New global variable.
	(grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
	catch C-c.
	(grub_machine_fini): New function.
	(main): Call grub_halt_init and grub_reboot_init before
	grub_main, and grub_reboot_fini and grub_halt_fini after it.
	Call setjmp with MAIN_ENV to go back afterwards.
	Call grub_machine_fini right before return.

	* include/grub/util/misc.h: Include setjmp.h.
	(main_env): New prototype.

	* include/grub/kernel.h (grub_machine_fini): New prototype.
	* include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
	* include/grub/i386/pc/console.h (grub_console_fini): Likewise.

	* disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
	* kern/i386/pc/init.c (grub_machine_fini): Likewise.
	* term/i386/pc/console.c (grub_console_fini): Likewise.

	* util/i386/pc/misc.c: New file.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Added
	util/i386/pc/misc.c, commands/i386/pc/halt.c and
	commands/i386/pc/reboot.c.

2005-02-14  Guillem Jover  <guillem@hadrons.org>

	* include/grub/dl.h (grub_dl_check_header): New prototype.
	(grub_arch_dl_check_header): Change return type to grub_err_t,
	remove size parameter and export function.  Update all callers.
	* kern/dl.c (grub_dl_check_header): New function.
	(grub_dl_load_core): Use `grub_dl_check_header' instead of
	`grub_arch_dl_check_header'.  Check ELF type.  Check if sections
	are inside the core.
	* kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
	independent ELF header checks.
	* kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
	* loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
	`grub_dl_check_header' instead of explicit checks.  Check for the
	ELF type.
	* loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
	`grub_dl_check_header' instead of explicit checks.  Remove arch
	specific ELF header checks.

	* util/grub-emu.c (grub_arch_dl_check_header): Remove the
	argument SIZE.

2005-02-13  Hollis Blanchard  <hollis@penguinppc.org>

	* conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
	* include/grub/powerpc/libgcc.h (__mulsf3): New prototype.

2005-02-12  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/partition.c (grub_partition_probe): Clear `grub_errno' and
	return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
	(part_map_iterate): Clear `grub_errno' and return 0 if
	`partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
	* partmap/amiga.c (amiga_partition_map_iterate): Return
	GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
	* partmap/apple.c (apple_partition_map_iterate): Likewise.

2005-02-01  Guillem Jover  <guillem@hadrons.org>

	* loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
	help info.

2005-01-31  Marco Gerards  <metgerards@student.han.nl>

	* include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
	Removed prototype.
	(grub_rescue_cmd_linux): New prototype.
	(grub_rescue_cmd_initrd): Likewise.
	* powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
	`bi_rec'.
	(grub_linux_release_mem): Release the memory for the initrd.
	(grub_load_linux): Renamed from this...
	(grub_rescue_cmd_linux): ...To this.  Changed all callers.
	Changed `entry' not to be static.  Loop over memory regions to
	find another one when the default fails.
	(grub_rescue_cmd_initrd): New function.
	(grub_linux_init): Remove function.
	(grub_linux_fini): Likewise.
	(GRUB_MOD_INIT): Register `initrd'.
	(GRUB_MOD_FINI): Unregister `initrd'.
	* powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
	Function removed.
	(grub_linux_normal_fini): Likewise.
	(GRUB_MOD_INIT): Register `initrd'.
	(GRUB_MOD_FINI): Unregister `initrd'.

2005-01-31  Marco Gerards  <metgerards@student.han.nl>

	* commands/help.c: New file.
	* normal/arg.c (show_help): Renamed to...
	(grub_arg_show_help): ... this.
	* commands/i386/pc/halt.c: New file.
	* commands/i386/pc/reboot.c: Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
	(pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
	(help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
	(reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
	variables.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
	`commands/help.c'.
	(pkgdata_MODULES): Add `help.mod'.
	(help_mod_SOURCES, help_mod_CFLAGS): New variables.
	* grub/i386/pc/init.h (grub_reboot): New prototype.
	(grub_halt): Likewise.
	* include/grub/normal.h (grub_arg_show_help): New prototype.
	(grub_help_init): Likewise.
	(grub_help_fini): Likewise.
	* util/grub-emu.c (main): Initialize and deinitialize the help
	command.

	* normal/cmdline.c (grub_cmdline_get): Doc fix.

	* normal/command.c (grub_command_init): Fixed the description of
	the `set' and `unset' commands.

2005-01-31  Marco Gerards  <metgerards@student.han.nl>

	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
	function.
	* commands/ieee1275/halt.c: New file.
	* commands/ieee1275/reboot.c: Likewise.
	* commands/ieee1275/suspend.c (grub_cmd_suspend): Use
	`__attribute__ ((unused))'.  Some GCS related fixed.
	(grub_suspend_init) [GRUB_UTIL]: Function removed.
	(grub_suspend_fini): Likewise.
	* conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
	and `halt.mod'.
	(reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
	(halt_mod_CFLAGS): New variables.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_interpret): New prototype.

2005-01-29  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/grub/misc.h (memmove): New prototype.
	(memcpy): Likewise.

2005-01-22  Hollis Blanchard  <hollis@penguinppc.org>

	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
	`devpath' to 0.  Use `name' instead of `devpath' with `grub_strndup'.

2005-01-22  Marco Gerards  <metgerards@student.han.nl>

	* kern/misc.c (grub_strndup): Function rewritten.

2005-01-22  Vincent Pelletier  <subdino2004@yahoo.fr>

	* normal/menu.c (TERM_WIDTH): Macro redefined.
	(TERM_TOP_BORDER_Y): Likewise.
	(draw_border): Replaced while-loop by a for-loop.  Make the number
	of lines consistent with the number of lines displayed in
	print_entries.  Added a margin below the rectangle.
	(print_entry): Make the entry fit in the rectangle.
	(print_entries): Display the scroll arrows next to the right
	border.

2005-01-21  Marco Gerards  <metgerards@student.han.nl>

	* fs/minix.c (grub_minix_find_file): Reserve more space for
	`fpath' so the \0 can be stored.  Use `grub_strcpy' instead of
	`grub_strncpy' to copy `path' into it.

2005-01-21  Marco Gerards  <metgerards@student.han.nl>

	Add the loopback device, a device via which files can be accessed
	as devices.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
	(pkgdata_MODULES): Add loopback.mod.
	(loopback_mod_SOURCES): New variable.
	(loopback_mod_CFLAGS): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
	`disk/loopback.c'.
	(pkgdata_MODULES): Add loopback.mod.
	(loopback_mod_SOURCES): New variable.
	(loopback_mod_CFLAGS): Likewise.
	* disk/loopback.c: new file.
	* include/grub/normal.h (grub_loop_init): New prototype.
	(grub_loop_fini): New prototype.
	* util/grub-emu.c (main): Initialize and de-initialize loopback
	support.
	* include/grub/disk.h (grub_disk_dev_id): Add
	`GRUB_DISK_DEVICE_LOOPBACK_ID'.

2005-01-20  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
	function.
	* conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
	(suspend_mod_SOURCES): New variable.
	(suspend_mod_CFLAGS): Likewise.
	* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
	New prototype.
	* commands/ieee1275/suspend.c: New file.

2005-01-20  Timothy Baldwin  <T.E.Baldwin99@members.leeds.ac.uk>

	* include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
	((unused))' to `__attribute__ ((used))'.
	(GRUB_MOD_FINI): Likewise.
	* kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
	* genmk.rb (PModule): Assign space to common symbols when linking
	modules.

2005-01-20  Marco Gerards  <metgerards@student.han.nl>

	* include/grub/mm.h (grub_mm_init_region): Change the type of the
	`unsigned' arguments to `grub_size_t'.
	(grub_malloc): Likewise.
	(grub_realloc): Likewise.
	(grub_memalign): Likewise.
	* kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
	* kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
	* util/misc.c (grub_malloc): Likewise.
	(grub_realloc): Likewise.
	* kern/mm.c (get_header_from_pointer): Change the casts to
	`unsigned' into a cast to `grub_size_t'.

	* fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
	point to `currnode' when `currnode' is changed.

	* util/grub-emu.c (main): Initialize `progname'.  Reported by Nico
	Schottelius <nico-linux@schottelius.org>.

2005-01-09  Hollis Blanchard  <hollis@penguinppc.org>

	* util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
	(note_path): Remove variable.
	(GRUB_IEEE1275_NOTE_NAME): New macro.
	(GRUB_IEEE1275_NOTE_TYPE): Likewise.
	(grub_ieee1275_note_hdr): New structure.
	(grub_ieee1275_note_desc): Likewise.
	(grub_ieee1275_note): Likewise.
	(load_note): Remove `dir' argument.  All callers updated.  Remove
	`note_img' and `path'.  Do not load a file from `note_path'.
	Initialize a struct grub_ieee1275_note and write that to `out'.
	Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.

2005-01-05  Marco Gerards  <metgerards@student.han.nl>

	* util/misc.c (grub_util_read_image): Revert last change.  It
	called `grub_util_read_at', which seeks from the beginning of the
	file.

2005-01-04  Hollis Blanchard  <hollis@penguinppc.org>

	* TODO: Add note about endianness in grub-mkimage.
	* boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
	section.
	* conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
	(grub_mkimage_SOURCES): New target.
	* include/grub/kernel.h (grub_start_addr): Remove variable.
	(grub_end_addr): Likewise.
	(grub_total_module_size): Likewise.
	(grub_kernel_image_size): Likewise.
	(GRUB_MODULE_MAGIC): New constant.
	(grub_module_info): New structure.
	(grub_arch_modules_addr): New prototype.
	(grub_get_end_addr): Remove prototype.
	* include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
	* include/grub/powerpc/ieee1275/kernel.h: New file.
	* include/grub/util/misc.h (grub_util_get_fp_size): New
	prototype.
	(grub_util_read_at): Likewise.
	(grub_util_write_image_at): Likewise.
	* kern/main.c (grub_get_end_addr): Remove function.
	(grub_load_modules): Call grub_arch_modules_addr instead of using
	grub_end_addr.  Look for a grub_module_info struct in memory.  Use
	the grub_module_info fields instead of calling grub_get_end_addr
	as loop conditions.  Move grub_add_unused_region code here.
	(grub_add_unused_region): Remove function.
	* kern/i386/pc/init.c: Include grub/cache.h.
	(grub_machine_init): Remove call to grub_get_end_addr.  Remove
	one call to add_mem_region.
	(grub_arch_modules_addr): New function.
	* kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
	(grub_total_module_size): Likewise.
	Include grub/machine/kernel.h.
	(grub_arch_modules_addr): New function.
	* util/grub-emu.c (grub_end_addr): Remove variable.
	(grub_total_module_size): Likewise.
	(grub_arch_modules_addr): New function.
	* util/misc.c: Include unistd.h.
	(grub_util_get_fp_size): New function.
	(grub_util_read_at): Likewise.
	(grub_util_write_image_at): Likewise.
	(grub_util_read_image): Call grub_util_read_at.
	(grub_util_write_image): Call grub_util_write_image_at.
	* util/i386/pc/grub-mkimage.c (generate_image): Allocate
	additional memory in kernel_img for a struct grub_module_info.
	Fill in that grub_module_info.
	* util/powerpc/ieee1275/grub-mkimage.c: New file.

2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
	New function.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_milliseconds): New prototype.
	* include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
	Change to 1000.
	* kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
	grub_ieee1275_milliseconds.

2005-01-03  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
	variable.
	(find_options): New function.
	(cmain): Call find_options.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_realmode): New extern variable.
	* kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
	grub_map if grub_ieee1275_realmode is false.

2004-12-29  Marco Gerards  <metgerards@student.han.nl>

	* normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
	lines are inserted and make it work like readline.  Reported by
	Vincent Pelletier <subdino2004@yahoo.fr>.

2004-12-28  Marco Gerards  <metgerards@student.han.nl>

	* boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
	`kern/powerpc/cache.S'.

2004-12-27  Marco Gerards  <metgerards@student.han.nl>

	* genmk.rb: Handle the `Program' class in the main loop.  Written
	by Johan Rydberg <jrydberg@gnu.org>.
	(Program): New class.
	(programs): New variable.
	* boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
	instead of "grub/machine/ieee1275.h".  Include <grub/kernel.h>
	instead of "grub/kernel.h".  Include <grub/machine/init.h>.
	(help_arch): Function removed.
	* conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
	`powerpc/libgcc.h' and `loader.h'.
	(pkgdata_PROGRAMS): New variable.
	(sbin_UTILITIES): Variable removed.
	(grub_emu_SOURCES): Added kern/powerpc/cache.S.
	(grubof_SOURCES): Variable re-defined so it only includes the
	core functionality.
	(grubof_CFLAGS): Remove `-DGRUBOF'.
	(pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
	(fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
	(ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
	(minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
	(hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
	(iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
	(_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
	(normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
	(hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
	(boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
	(ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
	(cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
	(font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
	(apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
	(pc_mod_CFLAGS): New variables.
	* disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
	(grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
	* include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
	* include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
	Moved from here...
	* include/grub/i386/pc/init.h (grub_os_area_addr)
	(rub_os_area_size): ... to here.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_entry_fn): Export symbol.
	* include/grub/powerpc/ieee1275/init.h: New file.
	* include/grub/powerpc/libgcc.h: Likewise.
	* include/grub/cache.h: Likewise.
	* kern/powerpc/cache.S: Likewise.  Written by Hollis Blanchard
	<hollis@penguinppc.org>.
	* kern/dl.c: Include <grub/cache.h>.
	(grub_dl_flush_cache): New function.
	(grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
	for this module.
	* kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
	(grub_console_init): Removed prototypes.
	(grub_machine_init): Don't initialize the modules anymore.
	* kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
	static.
	* include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
	Macro undef removed.
	(GRUB_HOST_WORDS_BIGENDIAN): New macro.
	* kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
	relocation `R_PPC_REL32'.  Return an error when the relocation is
	unknown.
	* Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
	* kern/i386/pc/init.c (grub_arch_sync_caches): New function.
	* util/misc.c (grub_arch_sync_caches): Likewise.

2004-12-19  Marco Gerards  <metgerards@student.han.nl>

	* conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
	`symlist.c', add `grubof_symlist.c'.
	(symlist.c): Variable removed.
	(grubof_HEADERS): Variable added.
	(grubof_symlist.c): New target.
	(kernel_syms.lst): Use `grubof_HEADERS' instead of
	`kernel_img_HEADERS'.
	(grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
	* kern/powerpc/dl.c: New file.
	* kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
	Function removed.
	(grub_arch_dl_relocate_symbols): Likewise.
	(grub_register_exported_symbols): Likewise.

2004-12-13  Marco Gerards  <metgerards@student.han.nl>

	* fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
	(grub_ext2_dir): Likewise.  Don't return in case of an error, jump
	to fail instead.  Reported by Vincent Pelletier
	<subdino2004@yahoo.fr>.

	* fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
	it is not allocated.  Reported by Vincent Pelletier
	<subdino2004@yahoo.fr>.

	* normal/cmdline.c (grub_tab_complete): Add a blank line to the
	output so the output looks better.

2004-12-04  Marco Gerards  <metgerards@student.han.nl>

	Modulize the partition map support and add support for the amiga
	partition map.

	* commands/ls.c: Include <grub/partition.h> instead of
	<grub/machine/partition.h>.
	* kern/disk.c: Likewise.
	* kern/rescue.c: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* normal/cmdline.c: Likewise.
	* kern/powerpc/ieee1275/init.c: Likewise.
	(grub_machine_init): Call `grub_pc_partition_map_init',
	`grub_amiga_partition_map_init' and
	`grub_apple_partition_map_init'.
	* conf/i386-pc.rmk (kernel_img_SOURCES): Remove
	`disk/i386/pc/partition.c'.  Add `kern/partition.c'.
	(kernel_img_HEADERS): Remove `machine/partition.h'.  Add
	`partition.h' and `pc_partition.h'.
	(grub_setup_SOURCES): Remove
	`disk/i386/pc/partition.c'.  Add `kern/partition.c',
	`partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
	(amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
	(apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
	`disk/powerpc/ieee1275/partition.c'.  Add `kern/partition.c',
	`partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
	(grubof_SOURCES): Likewise.
	* disk/i386/pc/partition.c: File removed.
	* disk/powerpc/ieee1275/partition.c: Likewise.
	* include/grub/powerpc/ieee1275/partition.h: Likewise.
	* include/grub/i386/pc/partition.h: Likewise.
	* kern/partition.c: New file.
	* partmap/amiga.c: Likewise.
	* partmap/apple.c: Likewise.
	* partmap/pc.c: Likewise.
	* include/grub/partition.h: Likewise..
	* include/grub/pc_partition.h: Likewise.
	* util/grub-emu.c: Include <grub/partition.h> instead of
	<grub/machine/partition.h>.
	(main): Call `grub_pc_partition_map_init',
	`grub_amiga_partition_map_init' and
	`grub_apple_partition_map_init' and deinitialize afterwards.
	* util/i386/pc/biosdisk.c: Include `#include
	<grub/partition.h>' and `include <grub/pc_partition.h>' instead of
	`<grub/machine/partition.h>'.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/i386/pc/biosdisk.c: Likewise.
	(grub_util_biosdisk_get_grub_dev): Only access the PC specific
	partition information in case of a PC partition.
	* util/i386/pc/grub-setup.c: Include `#include
	<grub/partition.h>' and `include <grub/pc_partition.h>' instead of
	`<grub/machine/partition.h>'.
	(setup): Only access the PC specific partition information in case
	of a PC partition.

2004-11-17  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
	(grub_longjmp): Likewise.
	* include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
	20.
	* normal/powerpc/setjmp.S: New file.
	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
	`normal/powerpc/setjmp.S'.
	(grubof_CFLAGS): Add `-DGRUBOF'.
	* include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
	[GRUB_UTIL && !GRUBOF].

2004-11-16  Marco Gerards  <metgerards@student.han.nl>

	* kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
	property named `name'.  Correctly handle the error returned by
	`grub_ieee1275_finddevice' if a device can not be opened.

2004-11-02  Hollis Blanchard  <hollis@penguinppc.org>

	* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
	`actual' for negativity.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
	kern/fshelp.c.

2004-11-01  Marco Gerards  <metgerards@student.han.nl>

	* term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
	(PAGE_OFFSET): New macro.
	(CRTC_ADDR_PORT): Likewise.
	(CRTC_DATA_PORT): Likewise.
	(START_ADDR_HIGH_REGISTER): Likewise.
	(START_ADDR_LOW_REGISTER): Likewise.
	(GRAPHICS_ADDR_PORT): Likewise.
	(GRAPHICS_DATA_PORT): Likewise.
	(READ_MAP_REGISTER): Likewise.
	(INPUT_STATUS1_REGISTER): Likewise.
	(INPUT_STATUS1_VERTR_BIT): Likewise.
	(page): New variable.
	(wait_vretrace): New function.
	(set_read_map): Likewise.
	(set_start_address): Likewise.
	(grub_vga_init): Use mode 0x10 instead of mode 0x12.  Switch to
	the right page.
	(check_vga_mem): Take the page into account.
	(write_char): Likewise.
	(write_cursor): Likewise.
	(scroll_up): Likewise.  Copy the page to the page that is not
	shown and switch between both pages.
	(grub_vga_putchar): Fix off by one error.
	(grub_vga_cls): Wait for the vertical retrace.  Take the page into
	account.

2004-11-01  Marco Gerards  <metgerards@student.han.nl>

	Add support for iso9660 (including rockridge).

	* conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
	(iso9660_mod_SOURCES): New variable.
	(iso9660_mod_CFLAGS): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
	* include/grub/fs.h (grub_iso9660_init): New prototype.
	* util/grub-emu.c (main): Call `grub_iso9660_init'.
	* fs/iso9660.c: New file.

	* include/grub/misc.h (grub_strncat): New prototype.
	* kern/misc.c (grub_strncat): New function.

	* fs/hfs.c (grub_hfs_mount): Translate the error
	`GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
	* fs/jfs.c (grub_jfs_mount): Likewise.
	* fs/ufs.c (grub_ufs_mount): Likewise.

2004-10-28  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
	which initialized BAT registers.
	* boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
	grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
	Move from here...
	* include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
	grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
	... to here.
	* kern/powerpc/ieee1275/openfw.c (grub_map): New function.
	(grub_mapclaim): Likewise.
	* loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
	grub_mapclaim instead of grub_ieee1275_claim.  Assign linux_addr by
	hand.

2004-10-19  Hollis Blanchard  <hollis@penguinppc.org>

	* conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
	(COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
	-ffreestanding and -msoft-float.

2004-10-15  Hollis Blanchard  <hollis@penguinppc.org>

	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
	append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
	set in grub_ieee1275_flags.

2004-10-14  Hollis Blanchard  <hollis@penguinppc.org>

	* include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
	prototype.
	* kern/powerpc/ieee1275/init.c (grub_machine_init): Call
	grub_console_init first.
	Change the memory range used for grub_ieee1275_claim and
	grub_mm_init_region.
	Print an error message if the claim fails.
	Include <grub/misc.h>.

2004-10-13  Hollis Blanchard  <hollis@penguinppc.org>

	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
	Call grub_children_iterate for device nodes of type `scsi',
	`ide', or `ata'.
	(grub_ofdisk_open): Remove manual device alias resolution.
	Fix memory leak when device cannot be opened.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_children_iterate): New prototype.
	* kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
	New function.
	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
	Return -1 if args.size was -1.

2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
	(cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
	World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
	Open Firmware's memory for it; claim memory from _start to _end.
	* boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
	(_end): New extern.
	(_start): Zero BSS from __bss_start to _end.
	* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
	New extern.
	(GRUB_IEEE1275_NO_PARTITION_0): New #define.

2004-10-11  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
	-1 if args.base was -1.

2004-10-08  Hollis Blanchard  <hollis@penguinppc.org>

	* term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
	escape sequence instead of a literal ^L. Also call
	grub_ofconsole_gotoxy.

2004-10-03  Hollis Blanchard  <hollis@penguinppc.org>

	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
	void *	arguments to grub_addr_t.  All callers updated.  Also make
	the `result' argument optional.
	(grub_ieee1275_release): change void * arguments to grub_addr_t.
	All callers updated.

2004-09-22  Hollis Blanchard  <hollis@penguinppc.org>

	* commands/ls.c (grub_ls_list_files): Use the string following the
	initial ')', if present, as the filesystem path.
	* kern/rescue.c (grub_rescue_cmd_ls): Likewise.

	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.

2004-09-18  Yoshinori K. Okuji  <okuji@enbug.org>

	Make the source code of the menu interface more readable.

	* normal/menu.c: Include grub/mm.h.
	(TERM_WIDTH): New macro.
	(TERM_HEIGHT): Likewise.
	(TERM_INFO_HEIGHT): Likewise.
	(TERM_MARGIN): Likewise.
	(TERM_SCROLL_WIDTH): Likewise.
	(TERM_TOP_BORDER_Y): Likewise.
	(TERM_LEFT_BORDER_X): Likewise.
	(TERM_BORDER_WIDTH): Likewise.
	(TERM_MESSAGE_HEIGHT): Likewise.
	(TERM_BORDER_HEIGHT): Likewise.
	(TERM_NUM_ENTRIES): Likewise.
	(TERM_FIRST_ENTRY_Y): Likewise.
	(TERM_ENTRY_WIDTH): Likewise.
	(TERM_CURSOR_X): Likewise.
	(draw_border): Use macros instead of magic numbers.
	(print_entry): Likewise.
	(print_entries): Likewise.
	(run_menu): Likewise. Also, handle the key 'e'.
	(run_menu_entry): Ignore empty command lines.
	(print_message): Added a new argument EDIT. If EDIT is true,
	print a different message.
	(init_page): Likewise.
	(edit_menu_entry): New function. Not implemented yet.

2004-09-17  Marco Gerards  <metgerards@student.han.nl>

	Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
	can be loaded from normal mode.

	* conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
	`multiboot.mod'.
	(linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
	(multiboot_mod_CFLAGS): New variables.
	* loader/i386/pc/linux_normal.c: New file.
	* loader/i386/pc/multiboot_normal.c: Likewise.

	* loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
	attribute `unused'.

	* fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type.  Use
	`fdiro' to read the mode information from instead of `diro'.

	* fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
	looking up a symlink.

	* include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
	macro.
	* normal/command.c (grub_command_execute): Don't parse the
	arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
	flags of the command.

	* normal/menu.c (grub_menu_run): Fix typo.

2004-09-14  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.

	* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
	`y + 1' instead of `y - 1'.

	* conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.

2004-09-14  Yoshinori K. Okuji  <okuji@enbug.org>

	From Hollis Blanchard <hollis@penguinppc.org>:
	* kern/misc.c (memmove): New alias for grub_memmove.
	(memcmp): New alias for grub_memcmp.
	(memset): New alias for grub_memset.
	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
	Change "int handle" to "grub_ieee1275_phandle_t handle".
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_get_property): Likewise.

2004-09-12  Tomas Ebenlendr  <ebik@ucw.cz>

	Added normal mode command `chainloader' as module chain.mod, which
	depends on normal.mod and _chain.mod.

	* conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
	(chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
	* include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
	Deleted prototype.
	* loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
	but arguments parsing moved to ...
	(grub_chainloader_cmd): ... here.  New function.
	* include/grub/i386/pc/chainloader.h: New file.
	* loader/i386/pc/chainloader_normal.c: Likewise.

2004-09-11  Marco Gerards  <metgerards@student.han.nl>

	* conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
	(grub_mkimage_LDFLAGS): Likewise.
	(grub_emu_SOURCES): Likewise.
	(kernel_img_HEADERS): Added fshelp.h.
	* fs/ext2.c: Include <grub/fshelp.h>.
	(FILETYPE_REG): New macro.
	(FILETYPE_INO_REG): Likewise.
	(grub_ext_sblock): Renamed to `grub_ext2_sblock'.
	Changed all users.
	(ext2_block_group): Renamed to `grub_ext2_block_group'.  Changed
	all users.
	(grub_fshelp_node): New struct.
	(grub_ext2_data): Added member `diropen'.  Changed member `inode'
	to a pointer.
	(grub_ext2_get_file_block): Removed function.
	(grub_ext2_read_block): New function.
	(grub_ext2_read_file): Replaced parameter `data' by `node'.
	This function was written.
	(grub_ext2_mount): Read the root inode.  Create a diropen struct.
	(grub_ext2_find_file): Removed function.
	(grub_ext2_read_symlink): New function.
	(grub_ext2_iterate_dir): Likewise.
	(grub_ext2_open): Rewritten.
	(grub_ext2_dir): Rewritten.
	* include/grub/fshelp.h: New file.
	* fs/fshelp.c: Likewise.

2004-09-10  Yoshinori K. Okuji  <okuji@enbug.org>

	* normal/menu.c: Include grub/loader.h and grub/machine/time.h.
	(print_message): Add a missing newline.
	(run_menu): Added timeout support.
	(run_menu_entry): New local function.
	(grub_menu_run): Added support for booting.

	* kern/loader.c (grub_loader_is_loaded): New function.

	* include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
	(grub_get_rtc): Exported.

	* include/grub/i386/pc/time.h: Include grub/symbol.h.
	(grub_get_rtc): Exported.

	* include/grub/normal.h (struct grub_command_list): Remove
	constant from the member `command'.

	* include/grub/loader.h (grub_loader_is_loaded): Declared.

	* include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.

	* conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.

2004-08-28  Marco Gerards  <metgerards@student.han.nl>

	Add support for the JFS filesystem.

	* fs/jfs.c: New file.
	* include/grub/fs.h (grub_jfs_init): New prototype.
	(grub_jfs_fini): New prototype.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add jfs.mod.
	(jfs_mod_SOURCES): New variable.
	(jfs_mod_CFLAGS): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
	(grubof_SOURCES): Likewise.
	* util/grub-emu.c (main): Initialize and deinitialize JFS support.

	* fs/fat.c (grub_fat_find_dir): Convert the filename little
	endian to the host endian.
	(grub_fat_utf16_to_utf8): Move function from there...
	* kern/misc.c (grub_utf16_to_utf8): ...to here.  Do not convert
	the endianness of the source string anymore.
	* include/grub/misc.h (grub_utf16_to_utf8): New prototype.

2004-08-24  Marco Gerards  <metgerards@student.han.nl>

	* commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
	(grub_boot_fini) [GRUB_UTIL]: Likewise.
	(GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
	(GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.

	* fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
	(grub_hfs_iterate_dir): Make the function static.  Add prototypes
	for `node_found' and `it_dir'.
	(grub_hfs_dir): Add prototype for `dir_hook'.

	* fs/minix.c (grub_minix_get_file_block): Add prototype for
	`grub_get_indir'.  Rename `indir' in two blocks to `indir16'
	and `indir32' to silence a gcc warning.

	* include/grub/fs.h (grub_hfs_init): New prototype.
	(grub_hfs_fini): Likewise.


2004-08-21  Yoshinori K. Okuji  <okuji@enbug.org>

	Each disk device has its own id now. This is useful to make use
	of multiple disk devices.

	* include/grub/disk.h (grub_disk_dev_id): New enum.
	(GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
	(GRUB_DISK_DEVICE_OFDISK_ID): Likewise.

	* disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
	GRUB_DISK_DEVICE_BIOSDISK_ID as an id.

	* disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
	GRUB_DISK_DEVICE_OFDISK_ID as an id.

	* util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
	GRUB_DISK_DEVICE_BIOSDISK_ID as an id.

	* include/grub/disk.h (struct grub_disk_dev): Added a new member
	"id" which is used by the cache manager.

	* normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
	of just "GRUB".

2004-08-18  Marco Gerards  <metgerards@student.han.nl>

	* fs/hfs.c: New file.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add hfs.mod.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
	(grubof_SOURCES): Likewise.
	* util/grub-emu.c (main): Initialize and deinitialize HFS support.

	* include/grub/misc.h (grub_strncasecmp): Add prototype.
	* kern/misc.c (grub_strncasecmp): Add function.

2004-08-14  Marco Gerards  <metgerards@student.han.nl>

	* include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
	with parentheses.

	* fs/ext2.c (FILETYPE_UNKNOWN): New macro.
	(grub_ext2_dir): In case the directory entry type is unknown, read
	it from the inode.

2004-08-02  Peter Bruin  <pjbruin@dds.nl>

	* loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
	grub_load_linux instead of grub_rescue_cmd_linux as second
	argument of grub_rescue_register_command.

	* Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.

2004-07-27  Marco Gerards  <metgerards@student.han.nl>

	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
	function.
	* commands/boot.c: Remove the check for `GRUB_UTIL'.
	* conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
	`loader/powerpc/ieee1275/linux.c',
	`loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
	* include/grub/powerpc/ieee1275/ieee1275.h
	(grub_ieee1275_release): New prototype.
	* include/grub/powerpc/ieee1275/loader.h: Rewritten.
	* kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
	normal, boot, linux and linux_normal.
	* loader/powerpc/ieee1275/linux.c: New file.
	* loader/powerpc/ieee1275/linux_normal.c: Likewise.

2004-07-12  Marco Gerards  <metgerards@student.han.nl>

	* normal/arg.c (grub_arg_parse): Correct error handling after
	reallocating the argumentlist (check if `argl' is not null instead
	of checking if `args' is not null).
	* kern/mm.c (grub_realloc): Return the same pointer when using the
	same region, instead of returning the header address.

2004-07-11  Marco Gerards  <metgerards@student.han.nl>

	* disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
	one block instead of two when looking for the initial partition.
	(grub_partition_probe): Initialize the local variable `p' with 0.
	Use base 10 for the grub_strtoul call.
	* kern/misc.c (grub_strncpy): Fix off by one bug.  Eliminated the
	need for one local variable.
	(grub_strtoul): Don't add the new value to `num', instead of that
	just assign it.

2004-07-11  Marco Gerards  <metgerards@student.han.nl>

	* conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
	(pxeboot_img_SOURCES): New variable.
	(pxeboot_img_ASFLAGS): Likewise.
	(pxeboot_img_LDFLAGS): Likewise.
	* boot/i386/pc/pxeboot.S: New file.  Based on pxeloader.S from
	GRUB Legacy and boot.S.  Adopted for GRUB 2 by lode leroy
	<lode_leroy@hotmail.com>.

2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>

	* kern/rescue.c (grub_enter_rescue_mode): Don't continue when
	there was no input.

2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>

	* normal/cmdline.c (grub_set_history): Fix off by one bug.  Fixed
	the history buffer logic.

2004-06-27  Tomas Ebenlendr  <ebik@ucw.cz>

	* fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
	(FILETYPE_INO_SYMLINK): New macros.
	(grub_ext2_find_file): Check if the node is a directory using the
	inode stat information instead of using the filetype in the
	dirent.  Exclude the first character of an absolute symlink.
	(grub_ext2_dir): Mask out the filetype part of the mode member of
	the inode.

2004-05-24  Marco Gerards  <metgerards@student.han.nl>

	Add support for UFS version 1 and 2.  Add support for the minix
	filesystem version 1 and 2, both the variants with 14 and 30 long
	filenames.

	* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
	fs/minix.c.
	(grub_emu_SOURCES): Likewise.
	(pkgdata_MODULES): Add ufs.mod and minix.mod.
	(ufs_mod_SOURCES): New variable.
	(ufs_mod_CFLAGS): Likewise.
	(minix_mod_SOURCES): Likewise.
	(minix_mod_CFLAGS): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
	fs/minix.c.
	(grubof_SOURCES): Likewise.
	* fs/ufs.c: New file.
	* fs/minix.c: New file.
	* include/grub/fs.h (grub_ufs_init): New prototype.
	(grub_ufs_fini): Likewise.
	(grub_minix_init): Likewise.
	(grub_minix_fini): Likewise.
	* util/grub-emu.c (main): Initialize and deinitialize UFS and
	minix fs.

2004-04-30  Jeroen Dekkers  <jeroen@dekkers.cx>

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
	commands/ls.c, commands/terminal.c, commands/boot.c,
	commands/cmp.c and commands/cat.c.
	(grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.

	* kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
	"env.h"

2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>

	All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
	and grub_, respectively. Because the conversion is trivial and
	mechanical, I omit the details here. Please refer to the CVS
	if you need more information.

2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/pupa: Renamed to ...
	* include/grub: ... this.
	* util/i386/pc/pupa-mkimage.c: Renamed to ...
	* util/i386/pc/grub-mkimage.c: ... this.
	* util/i386/pc/pupa-setup.c: Renamed to ...
	* util/i386/pc/grub-setup.c: ... this.
	* util/pupa-emu.c: Renamed to ...
	* util/grub-emu.c: ... this.

2004-03-29  Marco Gerards  <metgerards@student.han.nl>

	Add support for the newworld apple macintosh (PPC).  This has been
	tested on the powerbook 2000 only.  It only adds support for
	generic ieee1275 functions, console and disk support.  This should
	be easy to port to other architectures with support for Open
	Firmware.

	* configure.ac: Accept the powerpc as host_cpu.  In the case of
	the powerpc cpu set the host_vendor to ieee1275.  Make sure the i386
	specific tests are only executed while building for the i386.
	Inverse test for crosscompile.
	* genmk.rb (Utility): Allow assembler files.
	* normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
	* conf/powerpc-ieee1275.rmk: New file.
	* disk/powerpc/ieee1275/ofdisk.c: Likewise.
	* disk/powerpc/ieee1275/partition.c: Likewise.
	* include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
	* include/pupa/powerpc/ieee1275/console.h: Likewise.
	* include/pupa/powerpc/ieee1275/partition.h: Likewise.
	* include/pupa/powerpc/ieee1275/time.h: Likewise.
	* include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
	* include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
	* include/pupa/powerpc/ieee1275/loader.h
	* include/pupa/powerpc/setjmp.h: Likewise.
	* include/pupa/powerpc/types.h: Likewise.
	* kern/powerpc/ieee1275/init.c: Likewise.
	* kern/powerpc/ieee1275/openfw.c: Likewise.
	* term/powerpc/ieee1275/ofconsole.c: Likewise.

	These files were written by Johan Rydberg
	(jrydberg@night.trouble.net) and I only modified them slightly.

	* boot/powerpc/ieee1275/cmain.c: New file.
	* boot/powerpc/ieee1275/crt0.S: Likewise.
	* boot/powerpc/ieee1275/ieee1275.c: Likewise.
	* include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.

2004-03-14  Jeroen Dekkers  <jeroen@dekkers.cx>

	* Makefile.in: Update copyright.
	* genmodsrc.sh: Likewise.
	* gensymlist.sh: Likewise.
	* term/i386/pc/vga.c: Indent correctly.

	* util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
	bugreporting address.
	* util/i386/pc/pupa-setup.c (usage): Likewise,
	(main): Call pupa_ext2_init and pupa_ext2_fini.

	* fs/fat.c (log2): Renamed to ...
	(fat_log2): ... this.
	All callers changed.
	* kern/misc.c (memcpy): Alias to pupa_memmove.
	* loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
	lvalue cast.
	* util/console.c (pupa_ncurses_fini): Return 0.

	* util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
	Move fail label here.
	[__GNU__]: Don't warn when using stat.
	(open_device)[!__linux__]: Check if FD < 0 instead of !FD.
	(pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
	long int. Use strtol instead of strtoul.

2004-03-14  Marco Gerards  <metgerards@student.han.nl>

	* commands/boot.c: New file.
	* commands/cat.c: Likewise.
	* commands/cmp.c: Likewise.
	* commands/ls.c: Likewise.
	* commands/terminal.c: Likewise.
	* normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
	(pupa_register_command): Changed interface to match the new
	argument parser.
	(pupa_command_execute): Changed (almost rewritten) so it uses
	pupa_split_command.  Added support for setting variables using the
	syntax `foo=bar'.
	(rescue_command): Changed to work with the new argument parser.
	(terminal_command): Moved from here to commands/terminal.c.
	(set_command): New function.
	(unset_command): New function.
	(insmod_command): New function.
	(rmmod_command): New function.
	(lsmod_command): New function.
	(pupa_command_init): Don't initialize the command terminal
	anymore.  Initialize the commands set, unset, insmod, rmmod and
	lsmod.
	* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
	(kernel_img_HEADERS): Add arg.h and env.h.
	(pupa_mkimage_LDFLAGS): Add kern/env.c.
	(pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
	commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
	normal/arg.c.
	(pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
	terminal.mod.
	(normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
	(boot_mod_SOURCES): New variable.
	(terminal_mod_SOURCES): Likewise.
	(ls_mod_SOURCES): Likewise.
	(cmp_mod_SOURCES): Likewise.
	(cat_mod_SOURCES): Likewise.

	* normal/arg.c: New file.
	* kern/env.c: Likewise.
	* include/pupa/arg.h: Likewise.
	* include/pupa/env.h: Likewise.
	* font/manager.c (font_command): Changed to match argument parsing
	interface changes.
	(PUPA_MOD_INIT): Likewise.
	* hello/hello.c (pupa_cmd_hello): Likewise.
	(PUPA_MOD_INIT): Likewise.
	* include/pupa/disk.h: Include <pupa/device.h>.
	(pupa_print_partinfo): New prototype.
	* include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
	(pupa_dl_get_prefix): Likewise.
	* include/pupa/misc.h: Include <pupa/err.h>.
	(pupa_isgraph): New prototype.
	(pupa_isdigit): Likewise.
	(pupa_split_cmdline): Likewise.
	* include/pupa/normal.h: Include <pupa/arg.h>.
	(pupa_command): Changed the prototype of the member `func' to
	match the argument parsing interface.  Added member `options'.
	(pupa_register_command): Updated to match function.
	(pupa_arg_parse): New prototype.
	(pupa_hello_init) [PUPA_UTIL]: New prototype.
	(pupa_hello_fini) [PUPA_UTIL]: Likewise.
	(pupa_ls_init) [PUPA_UTIL]: Likewise.
	(pupa_ls_fini) [PUPA_UTIL]: Likewise.
	(pupa_cat_init) [PUPA_UTIL]: Likewise.
	(pupa_cat_fini) [PUPA_UTIL]: Likewise.
	(pupa_boot_init) [PUPA_UTIL]: Likewise.
	(pupa_boot_fini) [PUPA_UTIL]: Likewise.
	(pupa_cmp_init) [PUPA_UTIL]: Likewise.
	(pupa_cmp_fini) [PUPA_UTIL]: Likewise.
	(pupa_terminal_init) [PUPA_UTIL]: Likewise.
	(pupa_terminal_fini) [PUPA_UTIL]: Likewise.
	* kern/disk.c: Include <pupa/file.h>.
	(pupa_print_partinfo): New function.
	* kern/dl.c: Include <pupa/env.h>.
	(pupa_dl_dir): Variable removed.
	(pupa_dl_load): Use the environment variable `prefix' instead of
	the variable pupa_dl_dir.
	(pupa_dl_set_prefix): Function removed.
	(pupa_dl_get_prefix): Likewise.
	* kern/i386/pc/init.c: Include <pupa/env.h>.
	(pupa_machine_init): Use the environment variable `prefix' instead of
	using pupa_dl_set_prefix to set the prefix.
	* kern/main.c: Include <pupa/env.h>.
	(pupa_set_root_dev): Use the environment variable `prefix' instead of
	using pupa_dl_get_prefix to get the prefix.
	* kern/misc.c: Include <pupa/env.h>.
	(pupa_isdigit): New function.
	(pupa_isgraph): Likewise.
	(pupa_ftoa): Likewise.
	(pupa_vsprintf): Added support for printing values of the type
	`double'.  Make it possible to format variable output when using
	formatting like `%1.2%f'.
	(pupa_split_cmdline): New function.
	* kern/rescue.c: Include <pupa/env.h>.
	(next_word): Removed function.
	(pupa_rescue_cmd_prefix): Likewise.
	(pupa_rescue_cmd_set): New function.
	(pupa_rescue_cmd_unset): New function.
	(pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
	split the command line instead of splitting it here.  Added
	support for setting variables using the syntax `foo=bar'.  Don't
	initialize the prefix command anymore.  Initialized the set and
	unset commands.
	* normal/cmdline.c: Include <pupa/env.h>.
	(pupa_tab_complete): Added prototypes for print_simple_completion,
	print_partition_completion, add_completion, iterate_commands,
	iterate_dev, iterate_part and iterate_dir. Moved code to print
	partition information from here to kern/disk.c.
	(pupa_cmdline_run): Don't check if the function exists anymore.
	* normal/main.c: Include <pupa/env.h>.
	(pupa_rescue_cmd_normal): Use the environment variable `prefix'
	instead of using pupa_dl_get_prefix to get the prefix.
	* term/i386/pc/vga.c: Include <pupa/arg.h>.
	(check_vga_mem): Cast pointers to `void *' to silence a gcc
	warning.
	(pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
	(pupa_vga_setcolor): Declare unused variables with `__attribute__
	((unused))' to silence a gcc warning.
	(pupa_vga_setcolor): Likewise.
	(debug_command): Changed to match argument parsing
	interface changes.
	* util/pupa-emu.c: Include <pupa/env.h>.
	(options): Added 0's for unused fields to silence a gcc warning.
	(argp): Likewise.
	(main): Use the environment variable `prefix' instead of using
	pupa_dl_set_prefix to set the prefix.  Initialize the commands ls,
	boot, cmp, cat and terminal.  Finish the commands boot, cmp, cat
	and terminal.

	* util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
	* util/misc.c: Include <malloc.h>.
	(pupa_malloc): Rewritten so errors are correctly reported.
	(pupa_realloc): Likewise.
	(pupa_memalign): Likewise.
	(pupa_mm_init_region): Declare unused variables with
	`__attribute__ ((unused))' to silence a gcc warning.
	* normal/i386/setjmp.S: Remove tab at the end of the file to
	silence a gcc warning.
	* loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
	variables with `__attribute__ ((unused))' to silence a gcc
	warning.
	* loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
	local variable i unsigned to silence a gcc warning.

	* kern/term.c: Include <pupa/misc.h>.
	(pupa_more_lines): New variable.
	(pupa_more): Likewise.
	(pupa_putcode): When the pager is active pause at the end of every
	screen.
	(pupa_set_more): New function.
	* include/pupa/term.h (pupa_set_more): New prototype.


2004-03-07  Yoshinori K. Okuji  <okuji@enbug.org>

	Now this project is GRUB 2 rather than PUPA. The location of
	the CVS repository was moved to GRUB's.

	* configure.ac: Use bug-grub as the reporting address.
	Use GRUB instead of PUPA.
	Change the version number to 1.90.

2004-02-24  Yoshinori K. Okuji  <okuji@enbug.org>

	* genkernsyms.sh: Updated copyright information.
	* genmk.rb: Likewise.
	* genmodsrc.sh: Likewise.
	* gensymlist.sh: Likewise.
	* boot/i386/pc/boot.S: Likewise.
	* boot/i386/pc/diskboot.S: Likewise.
	* disk/i386/pc/biosdisk.c: Likewise.
	* disk/i386/pc/partition.c: Likewise.
	* font/manager.c: Likewise.
	* fs/ext2.c: Likewise.
	* fs/fat.c: Likewise.
	* include/pupa/boot.h: Likewise.
	* include/pupa/device.h: Likewise.
	* include/pupa/disk.h: Likewise.
	* include/pupa/dl.h: Likewise.
	* include/pupa/elf.h: Likewise.
	* include/pupa/err.h: Likewise.
	* include/pupa/file.h: Likewise.
	* include/pupa/font.h: Likewise.
	* include/pupa/fs.h: Likewise.
	* include/pupa/kernel.h: Likewise.
	* include/pupa/loader.h: Likewise.
	* include/pupa/misc.h: Likewise.
	* include/pupa/mm.h: Likewise.
	* include/pupa/net.h: Likewise.
	* include/pupa/normal.h: Likewise.
	* include/pupa/rescue.h: Likewise.
	* include/pupa/setjmp.h: Likewise.
	* include/pupa/symbol.h: Likewise.
	* include/pupa/term.h: Likewise.
	* include/pupa/types.h: Likewise.
	* include/pupa/i386/setjmp.h: Likewise.
	* include/pupa/i386/types.h: Likewise.
	* include/pupa/i386/pc/biosdisk.h: Likewise.
	* include/pupa/i386/pc/boot.h: Likewise.
	* include/pupa/i386/pc/console.h: Likewise.
	* include/pupa/i386/pc/init.h: Likewise.
	* include/pupa/i386/pc/kernel.h: Likewise.
	* include/pupa/i386/pc/linux.h: Likewise.
	* include/pupa/i386/pc/loader.h: Likewise.
	* include/pupa/i386/pc/memory.h: Likewise.
	* include/pupa/i386/pc/multiboot.h: Likewise.
	* include/pupa/i386/pc/partition.h: Likewise.
	* include/pupa/i386/pc/time.h: Likewise.
	* include/pupa/i386/pc/vga.h: Likewise.
	* include/pupa/i386/pc/util/biosdisk.h: Likewise.
	* include/pupa/util/getroot.h: Likewise.
	* include/pupa/util/misc.h: Likewise.
	* include/pupa/util/resolve.h: Likewise.
	* kern/device.c: Likewise.
	* kern/disk.c: Likewise.
	* kern/dl.c: Likewise.
	* kern/err.c: Likewise.
	* kern/file.c: Likewise.
	* kern/fs.c: Likewise.
	* kern/loader.c: Likewise.
	* kern/main.c: Likewise.
	* kern/misc.c: Likewise.
	* kern/mm.c: Likewise.
	* kern/rescue.c: Likewise.
	* kern/term.c: Likewise.
	* kern/i386/dl.c: Likewise.
	* kern/i386/pc/init.c: Likewise.
	* kern/i386/pc/lzo1x.S: Likewise.
	* kern/i386/pc/startup.S: Likewise.
	* loader/i386/pc/chainloader.c: Likewise.
	* loader/i386/pc/linux.c: Likewise.
	* loader/i386/pc/multiboot.c: Likewise.
	* normal/cmdline.c: Likewise.
	* normal/command.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu.c: Likewise.
	* normal/i386/setjmp.S: Likewise.
	* term/i386/pc/console.c: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* util/console.c: Likewise.
	* util/genmoddep.c: Likewise.
	* util/misc.c: Likewise.
	* util/pupa-emu.c: Likewise.
	* util/resolve.c: Likewise.
	* util/unifont2pff.rb: Likewise.
	* util/i386/pc/biosdisk.c: Likewise.
	* util/i386/pc/getroot.c: Likewise.
	* util/i386/pc/pupa-mkimage.c: Likewise.
	* util/i386/pc/pupa-setup.c: Likewise.

2004-02-15  Jeroen Dekkers  <jeroen@dekkers.cx>

	* fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
	when it is EXT2_BLOCK_SIZE (data).  New argument READ_HOOK, all
	callers changed.  Set DATA->DISK->READ_HOOK to READ_HOOK before
	reading and reset it after reading.
	(pupa_ext2_close): Return PUPA_ERR_NONE.

	* include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
	Correct value.
	(struct linux_kernel_header): Add kernel_version and
	initrd_addr_max.
	* loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
	pupa_file_read succeeds.
	(pupa_rescue_cmd_initrd): Implement.

2003-12-03  Marco Gerards  <metgerards@student.han.nl>

	* fs/ext2.c (pupa_ext2_label): New function.
	(pupa_ext2_fs): Added label.
	* fs/fat.c (pupa_fat_label): New function.
	(pupa_fat_fs): Added label.
	* include/pupa/fs.h (struct pupa_fs): Added prototype label.

	* kern/misc.c (pupa_strndup): New function.
	* include/pupa/misc.h (pupa_strndup): New prototype.

	* include/pupa/normal.h: Include <pupa/err.h>.
	(pupa_set_history): New prototype.
	(pupa_iterate_commands): New prototype.
	* normal/cmdline.c: Include <pupa/machine/partition.h>,
	<pupa/disk.h>, <pupa/file.h>.
	(hist_size): New variable.
	(hist_lines): Likewise.
	(hist_end): Likewise.
	(hist_used): Likewise.
	(pupa_set_history): New function.
	(pupa_history_get): Likewise.
	(pupa_history_add): Likewise.
	(pupa_history_replace): Likewise.
	(pupa_tab_complete): Likewise.
	(pupa_cmdline_run): Added tab completion and history buffer.  Tab
	completion shows partitionnames while completing partitions, this
	feature was suggested by Jeff Bailey.
	* normal/command.c (pupa_iterate_commands): New function.
	* normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
	(pupa_normal_init): Initialize history buffer.
	(PUPA_MOD_INIT): Likewise.
	(pupa_normal_fini): Free the history buffer.
	(PUPA_MOD_FINI): Likewise.

	* util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
	key.

	* aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
	* configure.ac [i386]: Check for regparam bug.
	(NESTED_FUNC_ATTR) [! i386]: Defined.

2003-11-17  Marco Gerards  <metgerards@student.han.nl>

	* conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
	(pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
	(pupa_emu_SOURCES): New variable.
	(pupa_emu_LDFLAGS): Likewise.
	* include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
	(pupa_ext2_fini) [PUPA_UTIL]: Likewise.
	* include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
	(pupa_normal_fini) [PUPA_UTIL]: Likewise.
	* include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
	(pupa_jmp_buf): New typedef.
	(pupa_setjmp) [PUPA_UTIL]: New macro.
	(pupa_longjmp) [PUPA_UTIL]: Likewise.
	* include/pupa/term.h (struct pupa_term): New member `refresh'.
	(pupa_refresh): New prototype.
	* include/pupa/util/getroot.h: New file.
	* kern/misc.c (pupa_vsprintf): Refresh the screen after updating
	it.
	* kern/rescue.c (pupa_rescue_get_command_line): Likewise.
	(pupa_rescue_cmd_cat): Likewise.
	(pupa_rescue_cmd_ls): Likewise.
	(pupa_rescue_cmd_testload): Likewise.
	(pupa_rescue_cmd_lsmod): Likewise.
	* normal/cmdline.c (pupa_cmdline_get): Likewise.
	* normal/menu.c (run_menu): Likewise.
	* kern/term.c (pupa_cls): Likewise.
	(pupa_refresh): New function.
	* normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
	(pupa_normal_fini) [PUPA_UTIL]: Likewise.
	* util/console.c: New file.

	* util/i386/pc/getroot.c: New file.
	* util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
	(pupa_putchar): New function.
	(pupa_refresh): Likewise.
	(xgetcwd): Function moved to ...
	(strip_extra_slashes): Likewise.
	(get_prefix): Likewise.
	* util/i386/pc/getroot.c: ... here.
	(find_root_device): Function moved and renamed to...
	* util/i386/pc/getroot.c (pupa_find_root_device): ... here.
	Changed all callers.
	* util/i386/pc/pupa-setup.c (guess_root_device): Function moved
	and renamed to...
	* util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
	Changed all callers.
	* util/misc.c (pupa_memalign): New function.
	(pupa_mm_init_region): Likewise.
	(pupa_register_exported_symbols): Likewise.
	(pupa_putchar): Function removed.
	* util/pupa-emu.c: New file.

2003-11-16  Jeroen Dekkers  <jeroen@dekkers.cx>

	* conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
	(_multiboot_mod_SOURCES): New variable.
	(_multiboot_mod_CFLAGS): Likewise.
	* loader/i386/pc/multiboot.c: New file.
	* include/pupa/i386/pc/multiboot.h: Likewise.
	* kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
	(pupa_multiboot_real_boot): New function.
	* include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
	(pupa_multiboot_real_boot): New prototype.
	(pupa_rescue_cmd_multiboot): Likewise
	(pupa_rescue_cmd_module): Likewise.

	* kern/loader.c (pupa_loader_set): Continue when
	pupa_loader_unload_func() fails.
	(pupa_loader_unset): New function.
	* include/pupa/loader.h (pupa_loader_unset): New prototype.

	* kern/misc.c (pupa_stpcpy): New function.
	* include/pupa/misc.h (pupa_stpcpy): New prototype.

2003-11-12  Marco Gerards  <metgerards@student.han.nl>

	* disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
	for available extensions.

	* include/pupa/i386/pc/time.h: New file.
	* kern/disk.c: Include <pupa/machine/time.h>.
	(PUPA_CACHE_TIMEOUT): New macro.
	(pupa_last_time): New variable.
	(pupa_disk_open): Flush the cache when there was a timeout.
	(pupa_disk_close): Reset the timer.
	* kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
	pupa_currticks.
	* util/misc.c: Include <sys/times.h>
	(pupa_get_rtc): New function.

2003-11-09  Jeroen Dekkers  <jeroen@dekkers.cx>

	* fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
	as blocks.
	(pupa_ext2_get_file_block): Use blocks member.

	* fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
	first block. Return -1 instead of pupa_errno on error.

2003-10-27  Marco Gerards  <metgerards@student.han.nl>

	* README: In the pupa-mkimage example use _chain instead of chain
	and ext2 instead of fat.
	* TODO: Replace ext2fs with jfs as an example.  Add an item for
	adding journal playback for ext2fs.
	* conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
	(pkgdata_MODULES): Added ext2.mod.
	(ext2_mod_SOURCES): New variable.
	(ext2_mod_CFLAGS): Likewise.
	* include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
	* include/pupa/misc.h (pupa_strncpy): New prototype.
	(pupa_strcat): Likewise.
	(pupa_strncmp): Likewise.
	* kern/misc.c (pupa_strcat): Enable function.
	(pupa_strncpy): New function.
	(pupa_strncmp): Likewise.
	* fs/ext2.c: New file.

	* kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
	when the read failed before retrying.
	* util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
	(_FILE_OFFSET_BITS): Likewise.
	* configure.ac: Added AC_SYS_LARGEFILE.

2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* genmk.rb (PModule#rule): Make sure to get only symbol names
	from the output of nm.
	Reported by Robert Millan <rmh.grub@aybabtu.com>.

2003-09-25  Yoshinori K. Okuji  <okuji@enbug.org>

	I forgot to check in these changes for a long time. This adds
	incomplete support for VGA console, and this is still very
	buggy. Also, a lot of consideration is required for I18N,
	UNICODE, and VGA font issues. Therefore, assume that this is
	such that "better than nothing".

	* font/manager.c: New file.
	* include/pupa/font.h: Likewise.
	* include/pupa/i386/pc/vga.h: Likewise.
	* term/i386/pc/vga.c: Likewise.
	* util/unifont2pff.rb: Likewise.

	* conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
	(pkgdata_MODULES): Added vga.mod and font.mod.
	(vga_mod_SOURCES): New variables.
	(vga_mod_CFLAGS): Likewise.
	(font_mod_SOURCES): Likewise.
	(font_mod_CFLAGS): Likewise.

	* include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.

	* include/pupa/term.h: Include pupa/err.h.
	(struct pupa_term): Added init and fini.
	Changed the argument of putchar to pupa_uint32_t.

	* include/pupa/i386/pc/console.h: Include pupa/symbol.h.
	(pupa_console_real_putchar): New prototype.
	(pupa_console_putchar): Removed.
	(pupa_console_checkkey): Exported.
	(pupa_console_getkey): Likewise.

	* kern/misc.c (pupa_vsprintf): Add support for UNICODE
	characters.

	* kern/term.c (pupa_term_set_current): Rewritten.
	(pupa_putchar): Likewise.
	(pupa_putcode): New function.

	* kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
	(pupa_console_real_putchar): ... this.
	(pupa_vga_set_mode): New function.
	(pupa_vga_get_font): Likewise.

	* normal/command.c: Include pupa/term.h.
	(terminal_command): New function.
	(pupa_command_init): Register the command "terminal".

	* normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
	(DISP_UP): Likewise.
	(DISP_RIGHT): Likewise.
	(DISP_DOWN): Likewise.
	(DISP_HLINE): Likewise.
	(DISP_VLINE): Likewise.
	(DISP_UL): Likewise.
	(DISP_UR): Likewise.
	(DISP_LL): Likewise.
	(DISP_LR): Likewise.

	* term/i386/pc/console.c (pupa_console_putchar): New function.

2003-02-08  NIIBE Yutaka  <gniibe@m17n.org>

	* util/resolve.c (pupa_util_resolve_dependencies): BUG
	FIX. Reverse the path_list.

	* include/pupa/normal.h: Export pupa_register_command and
	pupa_unregister_command.

	* hello/hello.c (pupa_cmd_hello): New module.
	* conf/i386-pc.rmk: Added hello.mod.

2003-01-31  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/i386/pc/lzo1x.S: New file.

	* util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
	(compress_kernel): New variable.
	(generate_image): Heavily modified to support compressing a
	large part of the core image.

	* util/misc.c (pupa_util_read_image): Fix a file descriptor
	leak.
	(pupa_util_load_image): New function.

	* kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
	(pupa_compressed_size): New variable.
	(codestart): Enable Gate A20 here.
	Decompress the compressed part of the core image.
	Rearrange the code to put functions and variables which are
	required for initialization in the non-compressed part.
	Include lzo1x.S.

	* kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
	here.

	* include/pupa/util/misc.h (pupa_util_write_image): Declared.

	* include/pupa/i386/pc/kernel.h
	(PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
	(PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
	(PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
	(PUPA_KERNEL_MACHINE_PREFIX): Likewise.
	(PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.

	* conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.

	* genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
	(Utility#rule): Likewise.

	* configure.ac: Check if LZO is available.

2003-01-20  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/pupa/normal.h: New file.
	* include/pupa/setjmp.h: Likewise.
	* include/pupa/i386/setjmp.h: Likewise.
	* normal/cmdline.c: Likewise.
	* normal/command.c: Likewise.
	* normal/main.c: Likewise.
	* normal/menu.c: Likewise.
	* normal/i386/setjmp.S: Likewise.

	* loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
	(pupa_rescue_cmd_initrd): Likewise.

	* loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
	Likewise.

	* kern/i386/pc/startup.S (translation_table): New variable.
	(translate_keycode): New function.
	(pupa_console_getkey): Call translate_keycode.

	* kern/rescue.c (attempt_normal_mode): New function.
	(pupa_enter_rescue_mode): Attempt to execute the normal mode. If
	it failed, print a message.

	* kern/mm.c (pupa_real_malloc): Print more information when a
	free magic is broken.
	(pupa_free): If the first free header is not free actually, set
	it to P.

	* kern/main.c (pupa_load_normal_mode): Just load the module
	"normal".
	(pupa_main): Don't print the message
	"Entering into rescue mode..." here.

	* include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
	Declared.
	(pupa_rescue_cmd_initrd): Likewise.
	(pupa_rescue_cmd_initrd): Likewise.

	* include/pupa/symbol.h (FUNCTION): Specify the type.
	(VARIABLE): Likewise.

	* include/pupa/err.h (pupa_err_t): Added
	PUPA_ERR_UNKNOWN_COMMAND.

	* include/pupa/dl.h (pupa_dl_set_prefix): Exported.
	(pupa_dl_get_prefix): Likewise.

	* conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
	Added _chain.mod and _linux.mod instead of chain.mod and
	linux.mod.
	(chain_mod_SOURCES): Renamed to ...
	(_chain_mod_SOURCES): ... this.
	(chain_mod_CFLAGS): Renamed to ...
	(_chain_mod_CFLAGS): ... this.
	(linux_mod_SOURCES): Renamed to ...
	(_linux_mod_SOURCES): ... this.
	(linux_mod_CFLAGS): Renamed to ...
	(_linux_mod_CFLAGS): ... this.
	(normal_mod_SOURCES): New variable.
	(normal_mod_CFLAGS): Likewise.
	(normal_mod_ASFLAGS): Likewise.

2003-01-18  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
	possible.

	* kern/dl.c (pupa_dl_ref): Refer depending modules
	recursively.
	(pupa_dl_unref): Unrefer depending modules recursively.
	Don't call pupa_dl_unload implicitly, because PUPA can crash if
	a module is unloaded before one depending on that module is
	unloaded.
	(pupa_dl_unload): Unload depending modules explicitly,
	if possible.

2003-01-17  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/pupa/i386/pc/linux.h: New file.
	* loader/i386/pc/linux.c: Likewise.

	* loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
	Removed.
	(pupa_chainloader_unload): Return PUPA_ERR_NONE.
	(pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
	of PUPA_CHAINLOADER_BOOT_SECTOR.

	* kern/i386/pc/startup.S: Include pupa/machine/linux.h.
	(pupa_linux_prot_size): New variable.
	(pupa_linux_tmp_addr): Likewise.
	(pupa_linux_real_addr): Likewise.
	(pupa_linux_boot_zimage): New function.
	(pupa_linux_boot_bzimage): Likewise.

	* kern/i386/pc/init.c (struct mem_region): New structure.
	(MAX_REGIONS): New macro.
	(mem_regions): New variable.
	(num_regions): Likewise.
	(pupa_os_area_addr): Likewise.
	(pupa_os_area_size): Likewise.
	(pupa_lower_mem): Likewise.
	(pupa_upper_mem): Likewise.
	(add_mem_region): New function.
	(compact_mem_regions): Likewise.
	(pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
	the size of the conventional memory and that of so-called upper
	memory (before the first memory hole).
	Instead of adding each found region to free memory, use
	add_mem_region and add them after removing overlaps.
	Also, add only 1/4 of the upper memory to free memory. The rest
	is used for loading OS images. Maybe this is ad hoc, but this
	makes it much easier to relocate OS images when booting.

	* kern/rescue.c (pupa_rescue_cmd_module): Removed.
	(pupa_enter_rescue_mode): Don't register initrd and module.

	* kern/mm.c: Include pupa/dl.h.

	* kern/main.c: Include pupa/file.h and pupa/device.h.

	* kern/loader.c (pupa_loader_load_module_func): Removed.
	(pupa_loader_load_module): Likewise.

	* kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
	``.o''.

	* include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
	(pupa_linux_tmp_addr): Likewise.
	(pupa_linux_real_addr): Likewise.
	(pupa_linux_boot_zimage): Likewise.
	(pupa_linux_boot_bzimage): Likewise.

	* include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
	(pupa_upper_mem): Likewise.
	(pupa_gate_a20): Don't export, because turning off Gate A20 in a
	module is too dangerous.

	* include/pupa/loader.h (pupa_os_area_addr): Declared.
	(pupa_os_area_size): Likewise.
	(pupa_loader_set): Remove the first argument. Loader doesn't
	manage modules or initrd any longer.
	(pupa_loader_load_module): Removed.

	* conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
	(linux_mod_SOURCES): New variable.
	(linux_mod_CFLAGS): Likewise.

2003-01-07  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/pupa-setup.c (setup): Convert the endianness of
	the length of a blocklist correctly.

	* util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
	Use ioctl only if the OS file is a block device.
	(pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
	not very useful for normal files.

	* kern/main.c (pupa_set_root_dev): New function.
	(pupa_load_normal_mode): Likewise.
	(pupa_main): Call those above.

	* include/pupa/types.h (pupa_swap_bytes16): Cast the result to
	pupa_uint16_t.

	* include/pupa/kernel.h (pupa_enter_normal_mode): Removed.

2003-01-06  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
	(setup): Configure the installed partition information and the
	dl prefix.

	* loader/i386/pc/chainloader.c (my_mod): New variable.
	(pupa_chainloader_unload): New function.
	(pupa_rescue_cmd_chainloader): Refer itself.
	(PUPA_MOD_INIT): Save its own module in MY_MOD.

	* kern/i386/pc/startup.S (install_partition): Removed.
	(version_string): Likewise.
	(config_file): Likewise.
	(pupa_install_dos_part): New variable.
	(pupa_install_bsd_part): Likewise.
	(pupa_prefix): Likewise.
	(pupa_chainloader_real_boot): Call pupa_dl_unload_all.

	* kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
	and pupa/misc.h.
	(make_install_device): New function.
	(pupa_machine_init): Set the dl prefix.

	* kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
	(buf): Renamed to ...
	(linebuf): ... this.
	(pupa_rescue_cmd_prefix): New function.
	(pupa_rescue_cmd_insmod): Likewise.
	(pupa_rescue_cmd_rmmod): Likewise.
	(pupa_rescue_cmd_lsmod): Likewise.
	(pupa_enter_rescue_mode): Register new commands: prefix, insmod,
	rmmod and lsmod.

	* kern/mm.c (pupa_memalign): If failed even after invalidating
	disk caches, unload unneeded modules and retry.

	* kern/misc.c (pupa_memmove): New function.
	(pupa_memcpy): Removed.
	(pupa_strcpy): New function.
	(pupa_itoa): Made static.

	* kern/dl.c (pupa_dl_iterate): New function.
	(pupa_dl_ref): Likewise.
	(pupa_dl_unref): Likewise.
	(pupa_dl_unload): Return if succeeded or not.
	(pupa_dl_unload_unneeded): New function.
	(pupa_dl_unload_all): Likewise.
	(pupa_dl_init): Renamed to ...
	(pupa_dl_set_prefix): ... this.
	(pupa_dl_get_prefix): New function.

	* include/pupa/i386/pc/kernel.h: Include pupa/types.h.
	(PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
	(PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
	(PUPA_KERNEL_MACHINE_PREFIX): Likewise.
	(pupa_install_dos_part): Declared.
	(pupa_install_bsd_part): Likewise.
	(pupa_prefix): Likewise.
	(pupa_boot_drive): Likewise.

	* include/pupa/types.h: Fix a typo.

	* include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
	pupa_memmove.
	(pupa_memmove): Declared.
	(pupa_strcpy): Likewise.

	* include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
	pupa_mod_init takes one argument, its own module.
	(pupa_dl_unload_unneeded): Declared.
	(pupa_dl_unload_all): Likewise.
	(pupa_dl_ref): Likewise.
	(pupa_dl_unref): Likewise.
	(pupa_dl_iterate): Likewise.
	(pupa_dl_init): Renamed to ...
	(pupa_dl_set_prefix): ... this.
	(pupa_dl_get_prefix): Declared.

	* fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
	(pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
	unloaded.
	(pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
	(pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.

	* configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
	-Wmissing-prototypes, -Wundef and -Wstrict-prototypes.

2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>

	* util/i386/pc/pupa-setup.c (setup): Define the internal
	function find_first_partition_start at the top level, because GCC
	3.0.x cannot compile internal functions in deeper scopes
	correctly.
	(find_root_device): Use lstat instead of stat.
	Don't follow symbolic links.
	Fix the path-constructing code.

	* util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
	(pupa_util_biosdisk_open) [__linux__]: Get the size of a device
	by a BLKGETSIZE ioctl first, because block devices don't fill
	the member st_mode of the structure stat on Linux.
	[__linux__] (linux_find_partition): Use a temporary buffer
	REAL_DEV for the working space. Copy it to DEV before returning.
	(open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
	buffer cache consistent.
	(get_os_disk) [__linux__]: Use the length 5 instead of 4 for
	strncmp. The previous value was merely wrong.
	(pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.

	* fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
	FAT size is 12. The previous value was merely wrong.

	* kern/main.c (pupa_main): Don't split the starting message from
	newlines.

	* kern/term.c (pupa_putchar): Put CR after LF instead of before
	LF, because BIOS goes crazy about character attributes in this
	case.

2003-01-03  Yoshinori K. Okuji  <okuji@enbug.org>

	* include/i386/pc/util/biosdisk.h: New file.
	* util/i386/pc/biosdisk.c: Likewise.
	* util/i386/pc/pupa-setup.c: Likewise.

	* Makefile.in (INCLUDE_DISTFILES): Added
	include/pupa/i386/pc/util/biosdisk.h.
	(UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
	directory util/i386/pc.
	(install-local): Added a rule for sbin_UTILITIES.
	(uninstall): Likewise.

	* util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.

	* util/misc.c (xrealloc): New function.
	(pupa_malloc): Likewise.
	(pupa_free): Likewise.
	(pupa_realloc): Likewise.
	(pupa_stop): Likewise.
	(pupa_putchar): Likewise.

	* kern/disk.c (pupa_disk_read): Prevent L from underflowing.

	* include/pupa/util/misc.h (xrealloc): Declared.

	* include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
	macro.
	(PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
	(PUPA_BOOT_MACHINE_BPB_END): ... this.

	* include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
	[PUPA_UTIL] (pupa_fat_fini): Likewise.

	* fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
	way should be implemented.
	[PUPA_UTIL] (pupa_fat_fini): Likewise.

	* disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
	the size of NAME for safety.
	(pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
	0x88.

	* conf/i386-pc.rmk (sbin_UTILITIES): New variable.
	(pupa_setup_SOURCES): Likewise.

	* genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.

2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>

	* kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
	bunch of pushl's from pusha, because this destroys the return
	value.

2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>

	Use -mrtd and -mregparm=3 to reduce the generated code sizes.
	This means that any missing prototypes could be fatal. Also, you
	must take care when writing assembly code. See the comments at
	the beginning of startup.S, for more details.

	* kern/i386/pc/startup.S (pupa_halt): Modified for the new
	compilation mechanism.
	(pupa_chainloader_real_boot): Likewise.
	(pupa_biosdisk_rw_int13_extensions): Likewise.
	(pupa_biosdisk_rw_standard): Likewise.
	(pupa_biosdisk_check_int13_extensions): Likewise.
	(pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
	(pupa_biosdisk_get_diskinfo_standard): Likewise.
	(pupa_get_memsize): Likewise.
	(pupa_get_mmap_entry): Likewise.
	(pupa_console_putchar): Likewise.
	(pupa_console_setcursor): Likewise.
	(pupa_getrtsecs): Use pushl instead of push.

	* kern/i386/pc/init.c (pupa_machine_init): Use the scratch
	memory instead of the stack for a mmap entry, because some
	BIOSes may ignore the maximum size and overflow.

	* conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.

	* genmk.rb (PModule#rule): Compile automatically generated
	sources with module-specific CFLAGS as well as other sources.

2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>

	* configure.ac: Check ld.
	Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
	respectively, before checking endianness and sizes.

	* Makefile.in (LD): New variable.

2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>

	* Makefile.in (BUILD_CC): CC -> BUILD_CC.

2002-12-27  Yoshinori K. Okuji  <okuji@enbug.org>

	* Changelog: New file.

