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.
