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

	Release 2.02~beta3

	grub_arch_sync_dma_caches: Accept volatile address

2016-02-27  Leif Lindholm  <leif.lindholm@linaro.org>

	efidisk: Respect block_io_protocol buffer alignment
	Returned from the OpenProtocol operation, the grub_efi_block_io_media
	structure contains the io_align field, specifying the minimum alignment
	required for buffers used in any data transfers with the device.

	Make grub_efidisk_readwrite() allocate a temporary buffer, aligned to
	this boundary, if the buffer passed to it does not already meet the
	requirements.

	Also sanity check the io_align field in grub_efidisk_open() for
	power-of-two-ness and bail if invalid.

2016-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	usbtrans: Fix memory coherence and use-after-free.

	ehci: Fix memory coherence
	This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.

	arm-uboot: Make self-relocatable to allow loading at any address

	Allow _start == 0 with relocatable images

2016-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Provide __bss_start and _end symbols in grub-mkimage.
	For this ensure that all bss sections are merged.

	We need this to correctly prelink non-PE relocatable images.

2016-02-27  Vladimir Serbinenko  <phcoder@gmail.com>

	Encapsulate image layout into a separate structure.
	Currently we pass around a lot of pointer. Instead put all relevant data
	into one structure.

	mkimagexx: Split PE and generic part for relocations.
	As a preparation for U-Boot relocations, split emitting PE-relocations
	from parsing source ELF-relocations.

	mkimage.c: Split into separate files.
	util/grub-mkimagexx.c is included in a special way into mkimage.c.
	Interoperation between defines makes this very tricky. Instead
	just have a clean interface and compile util/grub-mkimage*.c separately
	from mkimage.c

	bsd: Ensure that kernel is loaded before loading module.
	kernel_type may be set to the type of failed kernel. This patching-up is
	easier than to reflow kernel loading routines.

	cat: Don't switch terminal mode when there is nothing to highlight.
	This just pollutes serial console.

	Use console rather than serial_efi0 on arm64-efi in tests

2016-02-27  Andrei Borzenkov  <arvidjaar@gmail.com>

	efidisk: fix misplaced parenthesis in b00e4c2

2016-02-26  Andrei Borzenkov  <arvidjaar@gmail.com>

	efidisk: prevent errors from diskfilter scan of removable drives
	Map EFI_NO_MEDIA to GRUB_ERR_OUT_OF_RANGE that is ignored by diskfilter. This
	actually matches pretty close (we obviously attempt to read outside of media)
	and avoids adding more error codes.

	This affects only internally initiated scans. If read/write from removable is
	explicitly requested, we still return an error and text explanation is more
	clear for user than generic error.

	Reported and tested by Andreas Loew <Andreas.Loew@gmx.net>

2016-02-26  Vladimir Serbinenko  <phcoder@gmail.com>

	Regenerate checksums

	Makefile: Don't delete default_payload.elf if it doesn't exist.

2016-02-25  Josef Bacik  <jbacik@fb.com>

	net: fix ipv6 routing
	ipv6 routing in grub2 is broken, we cannot talk to anything outside our local
	network or anything that doesn't route in our global namespace.  This patch
	fixes this by doing a couple of things

	1) Read the router information off of the router advertisement.  If we have a
	router lifetime we need to take the source address and create a route from it.

	2) Changes the routing stuff slightly to allow you to specify a gateway _and_ an
	interface.  Since the router advertisements come in on the link local address we
	need to associate it with the global address on the card.  So when we are
	processing the router advertisement, either use the SLAAC interface we create
	and add the route to that interface, or loop through the global addresses we
	currently have on our interface and associate it with one of those addresses.
	We need to have a special case here for the default route so that it gets used,
	we do this by setting the masksize to 0 to mean it encompasses all networks.
	The routing code will automatically select the best route so if there is a
	closer match we will use that.

	With this patch I can now talk to ipv6 addresses outside of my local network.
	Thanks,

2016-02-24  Vladimir Serbinenko  <phcoder@gmail.com>

	ieee1275: fix signed comparison

2016-02-23  Andrei Borzenkov  <arvidjaar@gmail.com>

	search: actually skip floppy with --no-floppy
	grub_device_iterate() ignores device when iterator returns 1, not 0.

	Reported by Carlos E. R. <robin.listas@telefonica.net>

2016-02-23  Andrei Borzenkov  <arvidjaar@gmail.com>

	multiboot2: zero reserved field in memory map
	Documentation says, bootloader should set reserved field to zero.

	Reported by Wink Saville <wink@saville.com>

2016-02-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Improve EHCI logging
	Add dprintf's on common error paths and remove some entries which are too
	noisy.

	usb_keyboard: Remove useless include
	This prevents non-PCI machines from having USB.

	Refresh before abort
	This ensures that abort message is actually visible to the user.

2016-02-22  Eric Snowberg  <eric.snowberg@oracle.com>

	ieee1275: prevent buffer over-read
	Prevent buffer over-read in grub_machine_mmap_iterate. This was
	causing phys_base from being calculated properly. This then
	caused the wrong value to be placed in ramdisk_image within
	struct linux_hdrs. Which prevented the ramdisk from loading on
	boot.

	Newer SPARC systems contain more than 8 available memory entries.

	For example on a T5-8 with 2TB of memory, the memory layout could
	look like this:

	T5-8 Memory
	reg                      00000000 30000000 0000003f b0000000
	                         00000800 00000000 00000040 00000000
	                         00001000 00000000 00000040 00000000
	                         00001800 00000000 00000040 00000000
	                         00002000 00000000 00000040 00000000
	                         00002800 00000000 00000040 00000000
	                         00003000 00000000 00000040 00000000
	                         00003800 00000000 00000040 00000000
	available                00003800 00000000 0000003f ffcae000
	                         00003000 00000000 00000040 00000000
	                         00002800 00000000 00000040 00000000
	                         00002000 00000000 00000040 00000000
	                         00001800 00000000 00000040 00000000
	                         00001000 00000000 00000040 00000000
	                         00000800 00000000 00000040 00000000
	                         00000000 70000000 0000003f 70000000
	                         00000000 6eef8000 00000000 00002000
	                         00000000 30400000 00000000 3eaf6000
	name                     memory

2016-02-22  Thomas Huth  <thuth@redhat.com>

	menu_entry: Disable cursor during update_screen()
	When running grub in a VGA console of a KVM pseries guest on PowerPC,
	you can see the cursor sweeping over the whole line when entering a
	character in editor mode. This is visible because grub always refreshes
	the whole line when entering a character in editor mode, and drawing
	characters is quite a slow operation with the firmware used for the
	powerpc pseries guests (SLOF).
	To avoid this ugliness, the cursor should be disabled when refreshing
	the screen contents during update_screen().

2016-02-17  Vladimir Serbinenko  <phcoder@gmail.com>

	default_payload.elf: Always rebuild and remove before build.
	It's difficult to know all dependencies. Since it's manual and cheap
	target anyway, simply always rebuild it.

	default_payload.elf: Include password_pbkdf2.
	Withoout this module we may end up in a system where no password is
	accepted.

	default_payload.elf: Add modules from $(EXTRA_PAYLOAD_MODULES).
	This allows coreboot building system to add extra modules depending
	on user config.

	mm: Avoid integer overflow.

	Remove -Wno-maybe-uninitialized as it may not be present.

	Fix warnings when compiling with -O3

2016-02-14  Vladimir Serbinenko  <phcoder@gmail.com>

	Add wbinvd around bios call.
	Via C3 has problems with cache coherency when transitioning between the modes,
	so flush it around bios calls.

2016-02-12  Eric Snowberg  <eric.snowberg@oracle.com>

	OBP available region contains grub. Start at grub_phys_end.
	This prevents a problem where grub was being overwritten since
	grub_phys_start does not start at a zero offset within the memory
	map.

2016-02-12  Andreas Freimuth  <andreas_freimuth@web.de>

	Add Thinkpad T410s button cmos address.

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

	TODO: Remove obsolete link

2016-02-12  Toomas Soome  <tsoome@me.com>

	lz4: Fix pointer overflow

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

	grub-shell: Update 32-bit OVMF binary name.

2016-02-12  Daniel Kiper  <daniel.kiper@oracle.com>

	relocator: Fix integer underflow.

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

	Change -v to -V for version of shell utils.

	xnu: Add new kernel path to autoconfig.

	arm64: Use cpu timer for timekeeping.

	powerpc: Trim header in tests.

	default_payload: Include syslinuxcfg, all filesystems and xnu.

	xnu: Supply random seed.
	Now we're able to load kernels up to El Capitan.

	Add RNG module.

	yylex: use grub_fatal for exit.
	lexer calls yylex_fatal on fatal internal errors. yylex_fatal itself is
	declared as noreturn and calls exit. Returning from noreturn function has
	unpredictable consequences.

	printf: Fix and test %% behaviour in presence of subsequenbt args.

	Split pmtimer wait and tsc measurement from pmtimer tsc calibration.

	Make grub_cpu_is_tsc_supported generally available.

	Make grub_acpi_find_fadt accessible generically

	Make unaligned types public.
	This simplifies code which has to handle those types.

	Fix emu compilation error on arm.

2016-02-11  Vladimir Serbinenko  <phcoder@gmail.com>

	xnu: Include relocated EFI in heap size.

	xnu: supply ramsize to the kernel.
	Without this info recent kernels crash as they allocate no heap.

2016-02-03  Andrei Borzenkov  <arvidjaar@gmail.com>

	support modules without symbol table
	all_video module does not have any code or data and exists solely for
	.moddeps section to pull in dependencies. This makes all symbols unneeded.

	While in current binutils (last released version as of this commit is 2.26)
	``strip --strip-unneeded'' unintentionally adds section symbols for each
	existing section, this behavior was considered a bug and changed in commit
	14f2c699ddca1e2f706342dffc59a6c7e23e844c to completely strip symbol table
	in this case.

	Older binutils (verified with 2.17) and some other toolchains (at least
	elftoolchain r3223M), both used in FreeBSD, remove symbol table in all_video
	as well.

	Relax run-time check and do not return error for modules without symbol table.
	Add additional checks to module verifier to make sure such modules

	a) have non-empty .moddeps section. Without either externally visible symbols
	or .moddeps modules are completely useless and should not be built.

	b) do not have any relocations.

	Closes: 46986

	v2: add run-time check for empty symbol table if relocations are present as
	    suggested by Vladimir.

2016-02-01  Andrei Borzenkov  <arvidjaar@gmail.com>

	10_linux: avoid multi-device root= kernel argument
	If root filesystem is multidev btrfs, do not attempt to pass all devices as
	kernel root= argument. This results in splitting command line in GRUB due to
	embedded newline and even if we managed to quote it, kernel does not know how
	to interpret it anyway. Multidev btrfs requires user space device scanning,
	so passing single device would not work too.

	This still respects user settings GRUB_DISABLE_LINUX_UUID. Not sure what we
	should do in this case.

	Closes: 45709

2016-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Error out if mtools invocation fails.

	arm64: Add support for relocations needed for linaro gcc

	efiemu: Fix compilation failure

	Document cpuid -p

2016-01-22  Robert Elliott  <elliott@hpe.com>

	efiemu: Handle persistent RAM and unknown possible future additions.

2016-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	Document expr1 expr2 syntax for test command

2016-01-22  Michael Chang  <mchang@suse.com>

	Restore terminal settings on grub-emu exit.

2016-01-22  Vladimir Serbinenko  <phcoder@gmail.com>

	xen_boot: Remove obsolete module type distinctions.

	arm: Ignore qemu clock bug

	i386-ieee1275: Increase maximum heap size to accomodate highres graphi tests

2016-01-20  Colin Watson  <cjwatson@ubuntu.com>

	Remove pragmas related to -Wunreachable-code
	-Wunreachable-code has been a no-op since GCC 4.5; GRUB hasn't been
	compiled with it since 2012; and GCC 6 produces "error:
	'-Wunreachable-code' is not an option that controls warnings" for these.

	Fixes Debian bug #812047.

2016-01-16  Colin Watson  <cjwatson@ubuntu.com>

	loader/bsd: Fix signed/unsigned comparison

	ahci, ehci: Fix typos

2016-01-16  Andrei Borzenkov  <arvidjaar@gmail.com>

	grub-probe: fix memory leak
	Found by: Coverity scan.
	CID: 73783

2016-01-16  Andrei Borzenkov  <arvidjaar@gmail.com>

	tftp: fix memory leaks in open
	If protocol open fails, file is immediately freed, so data was leaked.

	Found by: Coverity scan.
	CID: 96659

2016-01-16  Andrei Borzenkov  <arvidjaar@gmail.com>

	tcp: fix memory leaks
	Found by: Coverity scan.
	CID: 96639, 96647

	net: fix memory leaks
	Found by: Coverity scan.
	CID: 96638, 96648

	legacycfg: fix memory leaks and add NULL check
	Memory leaks found by Coverity scan.
	CID: 96642, 96645

2016-01-15  Andrei Borzenkov  <arvidjaar@gmail.com>

	loader: Unintended sign extension
	CID: 96707, 96699, 96693, 96691, 96711, 96709, 96708, 96703, 96702,
	96700, 96698, 96696, 96695, 96692, 96710, 96705

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

	script: fix memory leak
	Found by: Coverity scan.
	CID: 96637

	normal: fix memory leak
	Found by: Coverity scan.
	CID: 96641, 96670, 96667

	xnu: fix memory leak
	Found by: Coverity scan.
	CID: 96663

	truecrypt: fix memory leak
	Found by: Coverity scan.
	CID: 156611

	gfxmenu: fix memory leak
	Found by: Coverity scan.
	CID: 96657

	efiemu: fix memory leak
	Found by: Coverity scan.
	CID: 156610

	efidisk: fix memory leak
	Found by: Coverity scan.
	CID: 96644

	verify: fix memory leak
	Found by: Coverity scan.
	CID: 96643

	password_pbkdf2: fix memory leak
	Found by: Coverity scan.
	CID: 96656

	parttool: fix memory leak
	Found by: Coverity scan.
	CID: 96652

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

	nativedisk: fix memory leak
	Based on Coverity scan.
	CID: 96660

	Extended to also cover other error return places.

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

	acpi: fix memory leak
	Found by: Coverity scan.
	CID: 96673

2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>

	grub-install: include ehci in list of native modules
	This matches behavior of "nativedisk" command.

	Reported and tested by Smith Henry <sh37092@gmail.com>

2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>

	grub-mkimage: remove redundant NULL check
	Found by: Coverity scan.
	CID: 73737

2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>

	net: remove dead and redundant code
	server cannot be NULL at this point (we return error earlier if it is).
	Also structure is zalloc'ed, so no need to explicitly initialize
	members to 0.

	Found by: Coverity scan.
	CID: 73837

2016-01-10  Andrei Borzenkov  <arvidjaar@gmail.com>

	hostdisk: fix device detection
	Condition was apparently reversed so GRUB assumed all devices were
	files. This later made it skip BLKFLSBUF ioctl on Linux which caused
	various page cache coherency issues. Observed were

	- failure to validate blocklist install (read content did not match
	  just written)

	- failure to detect Linux MD on disk after online hot addition
	  (GRUB got stale superblock)

	Closes: 46691

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	setup: fix NULL pointer dereference
	Check return value of grub_guess_root_devices

	Found by: Coverity scan.
	CID: 73638, 73751

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	mkimage: fix unintended sign extension
	Found by: Coverity scan.
	CID: 73691, 73717

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	util/getroot: delete dead code
	is_part cannot be non-zero at this point.

	Found by: Coveruty scan.
	CID: 73838

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	loader/multiboot: fix unintended sign extension
	Found by: Coveruty scan.
	CID: 73700, 73763

	kern/elf: fix unintended sign extension
	Found by: Coverity scan.
	CID: 73729, 73735, 73758, 73760

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	xfs: fix possible inode corruption in directory scan
	grub_xfs_iterate_dir did not restore first character after inline
	name when match was found. Dependning on XFS format this character
	could be inode number and we could return to the same node later in
	find_file if processing cycled symlinks.

	CID: 86724

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	rescue_parser: restructure code to avoid Coverity false positive
	If line contains single word, line and argv[0] are aliases, so
	no NULL dereference is possible, but Coverity does not know it.
	Change code to avoid ambiguity and also remove redundant call to
	grub_strchr.

	CID: 86725

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	grub-mklayout: check subscript bounds
	Found by: Coverity scan.
	CID: 73686

	grub-probe: fix memory leak
	Found by: Coverity scan.
	CID: 73783

	gfxmenu: fix memory leak
	Found by: Coverity scan.
	CID: 73766

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	util/setup: fix grub_util_path_list leak
	Add helper grub_util_free_path_list and use it where appropriate.

	Found by: Coverity scan.
	CID: 73727

2016-01-09  Andrei Borzenkov  <arvidjaar@gmail.com>

	setup: fix memory leak
	Found by: Coverity scan.
	CID: 73680, 73715

	efiemu: check return value of grub_efiemu_write_value
	Found by: Coverity scan.
	CID: 73590

	efiemu: change code to avoid Coverity false positive
	CID: 73623

	efiemu: fix unintended sign extension
	Found by: Coverity scan.
	CID: 73883, 73637

	hfs: fix memory leak
	Found by: Coverity scan.
	CID: 156531

	grub-module-verifier: fix unintended sign extension
	Found by: Coverity scan.
	CID: 156533, 156532

2016-01-08  Vladimir Serbinenko  <phcoder@gmail.com>

	Tests: Support arm-efi

2016-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	arm64/setjmp: Add missing move for arg1 == 0 case.

	grub-shell: Support arm64-efi

2016-01-07  Mark Salter  <msalter@redhat.com>

	arm-efi: Reduce timer event frequency by 10
	Timer event to keep grub msec counter was running at 1000HZ. This was too
	fast for UEFI timer driver and resulted in a 10x slowdown in grub time
	versus wallclock. Reduce the timer event frequency and increase tick
	increment accordingly to keep better time.

2016-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	x86_64-efi: Automatically add -bios OVMF.fd to qemu in tests.

	Allow GRUB_QEMU_OPTS to override machine.

	arm64: Disable tests that need native drivers.

	Disable NetBSD bootcheck on EFI until it supports ACPI on EFI.

	grub-shell: Use new cbfstool syntax.

	grub-shell: On i386-ieee1275 don't try to switch to console.
	console goes to serial as well, so this doesn't stop garbage from going
	to serial. But it creates garbage itself.

	hddboot_test: reenable on OVMF
	OVMF now supports booting from disks.

	iee1275/datetime: Fix off-by-1 error.

2016-01-07  Vladimir Serbinenko  <phcoder@gmail.com>

	Adjust bootcheck tests for multiboot/coreboot/qemu to match real support.
	coreboot has ACPI while 2 others don't. *BSD need ACPI and have trouble
	without it. Don't even attempt to boot *BSD on multiboot or qemu targets.

	On coreboot boot all *BSD except 32-bit NetBSD which apparently does some
	early BIOS calls.

2016-01-05  Vladimir Serbinenko  <phcoder@gmail.com>

	minixfs_test: Check if mkfs.minixfs supports -B option.

	Add memdisk support to grub-emu.
	Use it to add custom files, so that tests which need them work.

	Move file loading functions to grub-emu.
	So that we can use it in grub-emu as well as utils.

	Disable progress indicator in grub-shell.
	This disables progress indicator for tests. This in turn fixes test
	flakiness as they ended up timing-dependent.

	Update checksums

2016-01-02  Andrei Borzenkov  <arvidjaar@gmail.com>

	acpihalt: add GRUB_ACPI_OPCODE_CREATE_DWORD_FIELD (0x8a)
	Fixes ACPI halt on ASUSTeK P8B75-V,
	Bios: American Megatrends v: 0414 date: 04/24/2012

	Reported-By: Goh Lip <g.lip@gmx.com>

2016-01-02  Andrei Borzenkov  <arvidjaar@gmail.com>

	acpihalt: fix GRUB_DSDT_TEST compilation

2016-01-01  Andrei Borzenkov  <arvidjaar@gmail.com>

	Add missing BUILD_EXEEXT

2015-12-31  Vladimir Serbinenko  <phcoder@gmail.com>

	configure.ac: Reorder efiemu check to after link format check.
	efiemu is supposed to be disabled when compiling through exe format.
	Unfortunately format was determined only after efiemu check. Reorder to fix the
	problem

2015-12-31  Andrey Borzenkov  <arvidjaar@gmail.com>

	remove temporary .bin files (kernel and modules)

	add dejavu built fonts to cleanfiles

2015-12-31  Andrei Borzenkov  <arvidjaar@gmail.com>

	Add grub-module-verifier files to EXTRA_DIST

2015-12-31  Vladimir Serbinenko  <phcoder@gmail.com>

	configure: Add -fno-unwind-tables if supported.
	Unwind tables are useless for us bt consume space if present. Ensure that they
	are not.

	module-verifier: allow limited-range relocations on sparc64.
	clang as incomplete mcmodel=large support. As we don't currently need full
	mcmodel=large support for sparc64, relax those checks.

	Disable build-time module check on emu.
	On emu some checks can be laxer like check for relocation range. Additionally
	module loading in emu is rarely used. So skip this check rather than making
	it laxer for all platforms. In ideal we may want to have slightly different
	check for emu but for now this is good enough.

	configure: Fix grub_cv_cc_fno_unwind_tables check.
	Check tries -fno-dwarf2-cfi-asm but adds -fno-asynchronous-unwind-tables
	to TARGET_CFLAGS. Fix this.

	Add -mno-stack-arg-probe on mingw.
	This argument disables generation of calls to __chkstk_ms. Those calls are
	useless on GRUB as function is dummy. Yet they increase module size and
	use limited-range relocations which may not work under some memory layouts.
	We currently don't use such layouts on concerned platforms but lt's correct
	this.

	Strip .ARM.exidx
	This section is generated by clang and is useful only for debugging.
	It contains exotic relocations, so strip them to avoid them interferring
	with module loading.

	module-verifier: Check range-limited relative relocations.
	Check that they point to the same module, so will end up in the same
	chunk of memory.

	xen/relocator: Use local symbol to ensure that code is relocation-free.

	backtrace: Fix register call syntax

	Verify modules on build-time rather than failing in runtime.

	sparc64: Fix assembly to let compiler to fill in memory references.
	This fixes the use of not fully relocatable (they assume that variables are
	under 4G limit in virtual memory) references.

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

	30_os-prober: derive --class from os-prober generated label
	Currently only Windows gets distinguished icons, everything else is displayed
	using the same generic one. Add additional --class based on os-prober returned
	label, which usually is expected to match primary distribution name.

	Also use it for Windows as well - chainloader prober may actually return
	different strings (Windows, MS-DOS, Windows9xME).

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

	backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G

2015-12-30  Andrei Borzenkov  <arvidjaar@gmail.com>

	menu: fix line count calculation for long lines
	It gave one extra screen line if length was exactly equal to screen
	width.

	Reported by Michael Chang.
	Also-By: Michael Chang <mchang@suse.com>

2015-12-29  Vladimir Serbinenko  <phcoder@gmail.com>

	grub-mkrescue: Delete temporary file
	Reported by: Thomas Schmitt

	grub-mount: Fix oath parsing.
	Brackets detection was copied from somewhere else and makes no sense in case
	of grub-mount and prevents user from accessing and files with ) in them.

	exfat: Fix stream extension flag parsing.

2015-12-26  Andrei Borzenkov  <arvidjaar@gmail.com>

	devmapper: check for valid device abstraction in get_grub_dev
	This was lost when code was refactored. Patch restores previous behavior.

	It is still not clear whether this is the right one. Due to the way we
	detect DM abstraction, partitions on DM are skipped, we fall through to
	generic detection which ends up in assuming parent device is BIOS disk.

	It is useful to install GRUB on VM disk from the host. But it also means
	that GRUB will mistakenly allow install on real system as well.

	For now let's fix regression; future behavior needs to be discussed.

	Closes: 45163

2015-12-19  Andrei Borzenkov  <arvidjaar@gmail.com>

	windows: correct LBA in generated EFI HDD media paths
	GRUB keeps partition offset and size in units of 512B sectors. Media paths
	are defined in terms of LBA which are presumed to match HDD sector size.

	This is probably cosmetic (EFI requires that partition is searched by GUID)
	and still incorrect if GPT was created using different logical block size.
	But current code is obviously wrong and new has better chances to be correct.

2015-12-17  Robert Elliott  <elliott@hpe.com>

	lsefimmap: support persistent memory and other UEFI 2.5 features
	This should accompany
		76ce1de740 Translate UEFI persistent memory type

	1. Add a string for the EfiPersistentMemory type 14 that was
	added in UEFI 2.5.

	2. Decode the memory attributes that were added in UEFI 2.5:
	* NV (non-volatile)
	* MORE_RELIABLE (higher reliable, e.g., mirrored memory in a system
	  with partial memory mirroring)
	* RO (read-only)

	3. Use proper IEC binary units (KiB, MiB, etc.) for power-of-two
	values rather than misusing SI power-of-ten units (KB, MB, etc.)

	4. The lsmmap command only decodes memory ranges sizes up to GiB scale
	units.  Persistent memory ranges will reach into the TiB scale.
	Since 64-bit size field supports TiB, PiB, and EiB, decode all of
	them for completeness.

	5. In the lsefimmap command, rewrite the print statements to
	* avoid rounding
	* avoid a big nested if/else tree.

	For example: In the sixth entry below, the value of 309MB implies
	316416KB but is really reporting 316436KB.

	Widen the size column to 6 digits to accommodate typical cases.
	The worst case value would require 14 digits; if that happens,
	let the columns get out of sync.

	Old format:
	Type      Physical start  - end             #Pages     Size Attributes
	conv-mem  0000000000000000-0000000000092fff 00000093  588KB UC WC WT WB
	reserved  0000000000093000-0000000000093fff 00000001    4KB UC WC WT WB
	conv-mem  0000000000094000-000000000009ffff 0000000c   48KB UC WC WT WB
	conv-mem  0000000000100000-000000000fffffff 0000ff00  255MB UC WC WT WB
	BS-code   0000000010000000-0000000010048fff 00000049  292KB UC WC WT WB
	conv-mem  0000000010049000-000000002354dfff 00013505  309MB UC WC WT WB
	ldr-data  000000002354e000-000000003ecfffff 0001b7b2  439MB UC WC WT WB
	BS-data   000000003ed00000-000000003ed7ffff 00000080  512KB UC WC WT WB
	conv-mem  000000003ed80000-000000006af5ffff 0002c1e0  705MB UC WC WT WB
	reserved  000000006af60000-000000006b55ffff 00000600    6MB UC WC WT WB
	BS-data   000000006b560000-000000006b560fff 00000001    4KB UC WC WT WB
	RT-data   000000006b561000-000000006b5e1fff 00000081  516KB RT UC WC WT WB
	BS-data   000000006b5e2000-000000006ecfafff 00003719   55MB UC WC WT WB
	BS-code   000000006ecfb000-000000006ecfbfff 00000001    4KB UC WC WT WB
	conv-mem  000000006ecfc000-00000000711fafff 000024ff   36MB UC WC WT WB
	BS-data   00000000711fb000-000000007128dfff 00000093  588KB UC WC WT WB
	Unk 0d    0000000880000000-0000000e7fffffff 00600000   24GB UC WC WT WB NV
	reserved  0000001680000000-0000001c7fffffff 00600000   24GB UC WC WT WB NV

	New format:
	Type      Physical start  - end             #Pages        Size Attributes
	conv-mem  0000000000000000-0000000000092fff 00000093    588KiB UC WC WT WB
	reserved  0000000000093000-0000000000093fff 00000001      4KiB UC WC WT WB
	conv-mem  0000000000094000-000000000009ffff 0000000c     48KiB UC WC WT WB
	conv-mem  0000000000100000-000000000fffffff 0000ff00    255MiB UC WC WT WB
	BS-code   0000000010000000-0000000010048fff 00000049    292KiB UC WC WT WB
	conv-mem  0000000010049000-000000002354dfff 00013505 316436KiB UC WC WT WB
	ldr-data  000000002354e000-000000003ecfffff 0001b7b2 450248KiB UC WC WT WB
	BS-data   000000003ed00000-000000003ed7ffff 00000080    512KiB UC WC WT WB
	conv-mem  000000003ed80000-000000006af5ffff 0002c1e0 722816KiB UC WC WT WB
	reserved  000000006af60000-000000006b55ffff 00000600      6MiB UC WC WT WB
	BS-data   000000006b560000-000000006b560fff 00000001      4KiB UC WC WT WB
	RT-data   000000006b561000-000000006b5e1fff 00000081    516KiB RT UC WC WT WB
	BS-data   000000006b5e2000-000000006ecfafff 00003719  56420KiB UC WC WT WB
	BS-code   000000006ecfb000-000000006ecfbfff 00000001      4KiB UC WC WT WB
	conv-mem  000000006ecfc000-0000000071222fff 00002527  38044KiB UC WC WT WB
	BS-data   0000000071223000-00000000712ddfff 000000bb    748KiB UC WC WT WB
	persist   0000000880000000-0000000e7fffffff 00600000     24GiB UC WC WT WB NV
	reserved  0000001680000000-0000001c7fffffff 00600000     24GiB UC WC WT WB NV

2015-12-16  Andrei Borzenkov  <arvidjaar@gmail.com>

	kernel: print and reset grub_errno after each embedded config line
	Otherwise it causes subsequent file open to fail, because grub_file_open
	misinterprets set grub_errno for grub_file_get_device_name failure.

	Closes: 46540

2015-12-16  Andrei Borzenkov  <arvidjaar@gmail.com>

	Erase backspaced character in grub_username_get
	It probably does not work across linefeed, but hopefully user names are not
	that long (and nobody is using terminal that small).

2015-12-16  Hector Marco-Gisbert  <hecmargi@upv.es>

	Fix security issue when reading username and password
	This patch fixes two integer underflows at:
	  * grub-core/lib/crypto.c
	  * grub-core/normal/auth.c

	CVE-2015-8370

	Also-By: Andrey Borzenkov <arvidjaar@gmail.com>

2015-12-15  Andrei Borzenkov  <arvidjaar@gmail.com>

	NEWS: more additions
	Also-By: Robert Elliott <elliott@hpe.com>

2015-12-15  Robert Elliott  <elliott@hpe.com>

	Translate UEFI persistent memory type
	Define
	* GRUB_EFI_PERSISTENT_MEMORY (UEFI memory map type 14) per UEFI 2.5
	* GRUB_MEMORY_PERSISTENT (E820 type 7) per ACPI 3.0
	* GRUB_MEMORY_PERSISTENT_LEGACY (E820 unofficial type 12) per ACPI 3.0

	and translate GRUB_EFI_PERSISTENT_MEMORY to GRUB_MEMORY_PERSISTENT in
	grub_efi_mmap_iterate().

	Includes
	* adding the E820 names to lsmmap
	* handling the E820 types in make_efi_memtype()

	Suggested-by: Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
	Suggested-by: Andrei Borzenkov <arvidjaar@gmail.com>

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

	Document bootlocation discovery limitations and xen platform limitations

2015-12-07  Josef Bacik  <jbacik@fb.com>

	tcp: ack when we get an OOO/lost packet
	While adding tcp window scaling support I was finding that I'd get some packet
	loss or reordering when transferring from large distances and grub would just
	timeout.  This is because we weren't ack'ing when we got our OOO packet, so the
	sender didn't know it needed to retransmit anything, so eventually it would fill
	the window and stop transmitting, and we'd time out.  Fix this by ACK'ing when
	we don't find our next sequence numbered packet.  With this fix I no longer time
	out.  Thanks,

2015-12-01  Michael Chang  <mchang@suse.com>

	i386: fix TSC calibration using PIT
	Condition was accidentally reversed, so PIT calibration always failed
	when PIT was present and always succeeded when PIT was missing, but in
	the latter case resulted in absurdly fast clock.

	Reported and tested by Vitaly Kuznetsov <vkuznets@redhat.com>

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

	Do not include generated gnulib headers in tarball
	gnulib files are already handled by recursive make distdir invocation.
	Including all generated headers (after make completed) causes build
	failure if target system is different (different compile version etc).

2015-11-27  Andrei Borzenkov  <arvidjaar@gmail.com>

	Replace numbers with grub_memory_type_t enums

2015-11-27  Andrei Borzenkov  <arvidjaar@gmail.com>

	configure: fix macports flex version detection
	Macports add extra information after version itself:

	$flex --version
	flex 2.5.35 Apple(flex-31)

	We require at least felx 2.5.35 so do not need to care about prehistoric
	"flex version n.n.n"; just use second field always.

	Reported by Peter Cheung <mcheung63@hotmail.com>

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

	tsc: Use alternative delay sources whenever appropriate.
	PIT isn't available on some of new hardware including Hyper-V. So
	use pmtimer for calibration. Moreover pmtimer calibration is faster, so
	use it on coreboor where booting time is important.

	Based on patch by Michael Chang.

2015-11-26  Andrei Borzenkov  <arvidjaar@gmail.com>

	efi: really mark memory of unknown type as reserved
	9be4c45dbe3c877d1f4856e99ee15133c6cd2261 added switch case between
	fall through cases, causing all memory regions of unknown type to be
	marked as available.

	Move default case into its own block and add explicit FALLTHROUGH
	annotation.

	Reported by Elliott, Robert (Persistent Memory) <elliott@hpe.com>

2015-11-24  Josef Bacik  <jbacik@fb.com>

	net: reset nb->data per dns record lookup loop
	We were resetting nb->data every time we tried a new server, but we need to do
	it every time we try for a different record, otherwise we don't end up falling
	back to the A record properly.  Thanks,

