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.

