2013-12-24 Vladimir Serbinenko * configure.ac: Set version to 2.02~beta2. 2013-12-24 Vladimir Serbinenko * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts. 2013-12-24 Andrey Borzenkov * util/grub-probe.c: Improve help message and simplify list handling. 2013-12-24 Vladimir Serbinenko Fix buffer overflow in grub_efi_print_device_path. 2013-12-24 Vladimir Serbinenko Show SATA device path. 2013-12-24 Vladimir Serbinenko Revert grub-file usage in grub-mkconfig. 2013-12-24 Vladimir Serbinenko Make newly-created files other than grub.cfg world-readable. 2013-12-24 Andrey Borzenkov * util/grub.d/00_header.in: Improve compatibility with old config. 2013-12-24 Vladimir Serbinenko Make rijndael.c respect aliasing rules. Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e. 2013-12-24 Vladimir Serbinenko Make grub_util_device_is_mapped_stat available in grub-emu core. 2013-12-24 Vladimir Serbinenko Add -Qn to TARGET_CFLAGS if it's supported. Fixes compilation on cygwin. Reported by: Andrey Borzenkov. Suggested by: Andrey Borzenkov. 2013-12-24 Vladimir Serbinenko Save TARGET_CC version in modinfo.sh. Suggested by: Andrey Borzenkov. 2013-12-24 Vladimir Serbinenko Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start follow the same algorithm to avoid method mismatch. Don't assume DMRAID- UUID to mean full disk but instead check that mapping is linear. 2013-12-24 Vladimir Serbinenko Declare GRUB_EFI_VENDOR_APPLE_GUID. 2013-12-24 Vladimir Serbinenko Dump type and vendor specific data when printing device path. 2013-12-23 Colin Watson Update some documentation to refer to Git rather than Bazaar. * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather than Bazaar. * po/README: Likewise. Fix spelling mistake. 2013-12-23 Colin Watson Don't distribute config.h. * Makefile.am (platform_HEADERS): Move to ... (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test failure when building from a distributed tarball. 2013-12-23 Colin Watson * configure.ac: Fix spelling. * grub-core/commands/parttool.c: Fix grammar. * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM Embedding Partition". 2013-12-23 Vladimir Serbinenko ARM64 support for grub-mkrescue. 2013-12-23 Vladimir Serbinenko Install modinfo.sh to keep build information around. 2013-12-23 Vladimir Serbinenko * grub-core/modinfo.sh.in: Add build config information. 2013-12-23 Vladimir Serbinenko ARM64 grub-file and grub-mkconfig support. 2013-12-23 Vladimir Serbinenko Remove leftover options defines. 2013-12-23 Vladimir Serbinenko * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes. 2013-12-23 Vladimir Serbinenko * grub-core/loader/arm64/linux.c: Add missing bracket. 2013-12-23 Vladimir Serbinenko Add arm64-efi recognition to grub-file. 2013-12-23 Vladimir Serbinenko Fix ia64-efi recognition in grub-file. 2013-12-23 Vladimir Serbinenko Recognize raspberry pi kernel in grub-file. 2013-12-23 Vladimir Serbinenko Enable cache on ARM U-Boot port. Without it the port is reidiculously slow. 2013-12-23 Vladimir Serbinenko Fix ARM cache maintainance. More code was converted from ASM to C for easier handling. 2013-12-22 Vladimir Serbinenko * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6 algorithm on v5. Suggested by: Leif Lindholm. 2013-12-22 Andrey Borzenkov * util/grub-mkconfig.in: Fix Xen platform conditions. 2013-12-22 Andrey Borzenkov * util/grub-mkrescue.c: Split single help message string in several strings used in previous shell version. 2013-12-22 Leif Lindholm Add arm64 Linux loader. 2013-12-22 Leif Lindholm Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64(). 2013-12-22 Vladimir Serbinenko Add module loading and parsing boot time checkpoints. 2013-12-22 Vladimir Serbinenko * grub-core/loader/arm/linux.c: Pass arguments through on ATAG platforms. 2013-12-22 Lars Wendler * util/grub-mkconfig.in: Skip non-executable files. 2013-12-22 Vladimir Serbinenko Workaround buggy timer in raspberry pie by using our own timer implementation. 2013-12-22 Vladimir Serbinenko * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE): Increase to 16 MiB to allow loading the whole memdisk. 2013-12-22 Vladimir Serbinenko Fix ARM Linux Loader on non-FDT platforms. 2013-12-21 Vladimir Serbinenko * configure.ac: Choose link format based on host_os on emu. 2013-12-21 Vladimir Serbinenko * grub-core/osdep/unix/getroot.c: Non-unix build fix. 2013-12-21 Vladimir Serbinenko * grub-core/kern/emu/main.c: Build fix for emu. 2013-12-21 Vladimir Serbinenko Build fixes for argp.h with older gcc. 2013-12-21 Vladimir Serbinenko * util/grub-glue-efi.c: Use "universal binary" rather "fat binary" in strings. Suggested by: David Prévot. 2013-12-21 Vladimir Serbinenko * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning. 2013-12-21 Vladimir Serbinenko Enable -Wformat=2 if it's supported. 2013-12-21 Vladimir Serbinenko * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations if supported. 2013-12-21 Vladimir Serbinenko * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as u32 as both HFS and HFS+ have 32-bit inodes. 2013-12-21 Vladimir Serbinenko * include/grub/misc.h (grub_strtol): Fix overflow. 2013-12-21 Vladimir Serbinenko * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t as return type in both conditionals. 2013-12-21 Vladimir Serbinenko * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype to use uint8_t for color. 2013-12-21 Vladimir Serbinenko * util/misc.c (grub_util_get_image_size): Check for overflow. 2013-12-21 Vladimir Serbinenko * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t for size. 2013-12-21 Vladimir Serbinenko * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t for pointer difference. 2013-12-21 Vladimir Serbinenko * util/import_gcry.py: Skip sample keys. 2013-12-21 Vladimir Serbinenko * util/misc.c (grub_qsort_strcmp): Don't discard const attribute. 2013-12-21 Vladimir Serbinenko * configure.ac: Remove duplicate warning arguments. 2013-12-21 Vladimir Serbinenko Add missing static qualifiers. 2013-12-21 Vladimir Serbinenko Add missing includes. 2013-12-21 Vladimir Serbinenko Inline printf templates when possible to enable format checking. 2013-12-21 Vladimir Serbinenko * include/grub/crypto.h: Don't discard const attribute. 2013-12-21 Vladimir Serbinenko * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it was intended. 2013-12-21 Vladimir Serbinenko * grub-core/lib/crypto.c: Don't discard const attribute. 2013-12-21 Vladimir Serbinenko * grub-core/lib/disk.c: Fix potential overflow. 2013-12-21 Vladimir Serbinenko * grub-core/lib/arg.c: Don't discard const attribute. 2013-12-21 Vladimir Serbinenko * grub-core/kern/dl.c: Don't discard const attribute. 2013-12-21 Vladimir Serbinenko * grub-core/kern/disk.c: Fix potential overflow. 2013-12-21 Vladimir Serbinenko * conf/Makefile.common: Don't include non-existing directory grub-core/lib/libgcrypt-grub/include. 2013-12-21 Vladimir Serbinenko Clarify several translatable messages. 2013-12-21 David Prévot Correct some translatable strings. 2013-12-21 Colin Watson * util/grub-mkrescue.c: Rephrase mkrescue description. 2013-12-21 Vladimir Serbinenko 2013-12-21 Colin Watson Clarify several translatable messages. 2013-12-20 Colin Watson Be more verbose about some configure failures. 2013-12-20 Colin Watson Fix various build problems on GNU/Hurd. * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside !defined (__GNU__). (xgetcwd): Likewise. * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info) [__GNU__]: Add prototype. * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format long int using %ld rather than %d. 2013-12-18 Vladimir Serbinenko * util/grub-install.c: Inform user about install platform. 2013-12-18 Vladimir Serbinenko * configure.ac: Set version to 2.02~beta1. 2013-12-18 Allen Pais 2013-12-18 Bob Picco * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields. 2013-12-18 Vladimir Serbinenko Make grub_zlib_decompress handle incomplete chunks. Fixes squash4. 2013-12-18 Vladimir Serbinenko * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt on i386-multiboot. 2013-12-18 Aleš Nesrsta * grub-core/disk/usbms.c: Retry on unknown errors. Reuse the same tag on retries. 2013-12-18 Aleš Nesrsta * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers. Avoid confusing them with already completed transfers. 2013-12-18 Vladimir Serbinenko Remove xen VFB. Due to XEN bug it prevents Linux boot. Remove it at least, until workaround is found. 2013-12-18 Vladimir Serbinenko * po/exclude.pot: Add 2 missing excludes. 2013-12-18 Vladimir Serbinenko Add missing license section in macbless.mod and macho.mod. 2013-12-18 Vladimir Serbinenko Allow compilation without thumb-interwork as long as no thumb is involved or only thumb2 is used. 2013-12-18 Vladimir Serbinenko Use -Wl,--no-relax rather than -mno-relax for uniformity. 2013-12-18 Vladimir Serbinenko * INSTALL: Update comment as to why sparc64 clang isn't usable. 2013-12-18 Vladimir Serbinenko Add __attribute__ ((sysv_abi)) only if it's really needed. Some compilers don't support it. 2013-12-18 Vladimir Serbinenko * grub-core/lib/syslinux_parse.c: Declare timeout unsigned. 2013-12-18 Vladimir Serbinenko Remove -Wold-style-definition. Not very useful and interaction of it with regexp depends on GCC version. 2013-12-18 Vladimir Serbinenko Make grub_util_get_windows_path_real static. 2013-12-18 Vladimir Serbinenko * grub-core/commands/fileXX.c: Silence cast-align. * grub-core/loader/i386/xen_fileXX.c: Likewise. 2013-12-18 Vladimir Serbinenko * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast rather than LL suffix. 2013-12-18 Vladimir Serbinenko * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover. 2013-12-18 Vladimir Serbinenko * grub-core/loader/arm/linux.c: Use common initrd functions. 2013-12-18 Vladimir Serbinenko Decrease number of strings to translate. 2013-12-18 Vladimir Serbinenko * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check. 2013-12-18 Vladimir Serbinenko Mark strings for translation and add remaining ones to exclude list. 2013-12-18 Vladimir Serbinenko * util/grub-file.c (main): Fix sizeof usage. 2013-12-18 Vladimir Serbinenko Silence spurious warning. 2013-12-18 Vladimir Serbinenko Remove check_nt_hiberfil as it's been superseeded by file command. 2013-12-17 Vladimir Serbinenko * docs/osdetect.cfg: Add isolinux config to detected OSes. 2013-12-17 Vladimir Serbinenko Implement syslinux parser. 2013-12-17 Vladimir Serbinenko * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS. 2013-12-17 Vladimir Serbinenko Support cpuid --pae. 2013-12-17 Vladimir Serbinenko Use AT keyboard on Yeeloong 3A. 2013-12-17 Vladimir Serbinenko Add Yeeloong 3A reboot and halt. 2013-12-17 Vladimir Serbinenko Add Radeon Yeeloong 3A support. 2013-12-17 Vladimir Serbinenko Add bonito 3A support. 2013-12-17 Vladimir Serbinenko * grub-core/loader/machoXX.c: Fix compilation on non-i386. 2013-12-17 Vladimir Serbinenko * grub-core/loader/i386/xen_fileXX.c: Silence cast-align. 2013-12-17 Vladimir Serbinenko * grub-core/loader/macho.c: Fix compilation on non-i386. 2013-12-17 Vladimir Serbinenko Add missing format_arg attribute to check that printf with translated messages has proper arguments. 2013-12-17 Vladimir Serbinenko Use grub_xasprintf to format translated error messages containing 64-bit quantity. 2013-12-17 Jon McCune Fix double-free introduced by commit 33d02a42d64cf06cada1c389 2013-12-17 Vladimir Serbinenko Unify message for unsupported relocation. 2013-12-17 Vladimir Serbinenko Mark miscompile error for translation. 2013-12-17 Vladimir Serbinenko Use %I64 and not %ll when using OS printf if compiling for windows. 2013-12-17 Vladimir Serbinenko Update Mac code to match new register_efi prototype. 2013-12-17 Vladimir Serbinenko Implement better integration with Mac firmware. 2013-12-17 Vladimir Serbinenko * grub-core/loader/multiboot_mbi2.c: Implement special value for load_addr. 2013-12-17 Vladimir Serbinenko Include serial module in default_payload.elf. 2013-12-17 Vladimir Serbinenko Add explicit thumb interwork bx in asm files. Shouldn't matter for armv >= 5 but let's be safe. 2013-12-17 Vladimir Serbinenko Implement Truecrypt ISO loader. 2013-12-17 Vladimir Serbinenko * grub-core/lib/arg.c: Ensure at least a single space between commands. 2013-12-17 Vladimir Serbinenko Implement grub_file tool and use it to implement generating of config in separate root. 2013-12-17 Vladimir Serbinenko Change to v1 xen grants. 2013-12-17 Vladimir Serbinenko * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation. GRUB relied on %ebx being preserved across hypercall which isn't true. 2013-12-17 Vladimir Serbinenko * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation. GRUB relied on %rdi being preserved across hypercall which isn't true. 2013-12-17 Vladimir Serbinenko Implement XEN VFB support. 2013-12-17 Vladimir Serbinenko Remove grub_bios_interrupt on coreboot. It's not used currently and cannot be used safely currently. 2013-12-16 Vladimir Serbinenko Update exclude.pot and mark few strings for translation. 2013-12-16 Vladimir Serbinenko * util/grub-mkrescue.c: Fix incorrect file usage in fallback code. Reported by: Jon McCune 2013-12-16 Andrey Borzenkov * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform): Add verbose information which firmware directories were tried. 2013-12-16 Andrey Borzenkov * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New function to optionally redirect all three standard descriptors. Redefine grub_util_exec, grub_util_exec_redirect and grub_util_exec_redirect_null to use it. * include/grub/emu/exec.h: Define it. * include/grub/osdep/exec_unix.h: Delete, it is unused. * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform): Use grub_util_exec_redirect_all to redirect error to NULL. 2013-12-16 Vladimir Serbinenko * grub-core/tests/sleep_test.c: Silence spurious warning. 2013-12-16 Vladimir Serbinenko Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid linker trying to "fixup" the code. 2013-12-16 Vladimir Serbinenko * grub-core/kern/x86_64/xen/startup.S: Align stack. 2013-12-16 Vladimir Serbinenko Add support for converting PE+ to Elf64. 2013-12-16 Vladimir Serbinenko * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case. 2013-12-16 Vladimir Serbinenko Remove practice of assigning random const pointers to device id. This is not required as cache code already checks driver id as well. 2013-12-16 Vladimir Serbinenko * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling with mingw. 2013-12-16 Vladimir Serbinenko * include/grub/efi/api.h: Don't use call wrappers when compiled with mingw or cygwin as API already matches. 2013-12-16 Vladimir Serbinenko * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining. 2013-12-16 Vladimir Serbinenko * include/grub/efi/api.h: Define (u)intn_t based on pointer size and not on long. 2013-12-16 Vladimir Serbinenko Handle X86_64_PC64 relocation. Those are generated by some cygwin compilers. 2013-12-16 Vladimir Serbinenko Determine the need for mingw-related stubs at compile time rather than using not very significant $target_os. 2013-12-16 Vladimir Serbinenko * grub-core/genmod.sh.in: Strip before converting to ELF as strip may not work with ELF. 2013-12-16 Vladimir Serbinenko Use unix functions for temporary files and special files on cygwin. 2013-12-16 Vladimir Serbinenko Define functions explicitly rather than using --defsym in tests whenever possible. Respect locality in remaining cases. 2013-12-16 Vladimir Serbinenko * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin. 2013-12-15 Andrey Borzenkov * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle unlikely errors when getting EFI variables and make exhaustive search for all BootNNNN variables to find matching one. 2013-12-15 Ian Campbell * grub-core/kern/uboot/init.c: Fix units of uboot timer. 2013-12-15 Vladimir Serbinenko New functional test for sleep function. This test allows to check sleep without qemu. Keep qemu version as well as functional test won't notice if all clocks are going too fast or too slow. 2013-12-15 Vladimir Serbinenko Add explicit sysv_abi on amd64 asm routines. 2013-12-15 Vladimir Serbinenko * grub-core/commands/efi/lsefisystab.c: Use %lld to show num_table_entries. 2013-12-15 Vladimir Serbinenko * include/grub/test.h: Use gnu_printf rather than printf on GRUB functions. 2013-12-15 Vladimir Serbinenko * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when appropriate. 2013-12-15 Vladimir Serbinenko * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers. 2013-12-15 Vladimir Serbinenko * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when appropriate. 2013-12-15 Vladimir Serbinenko * grub-core/disk/loopback.c: Use sequential IDs rather than pointer. In case of quick removal of loopback and adding another one it may get same ID, confusing the cache system. 2013-12-15 Vladimir Serbinenko * grub-core/commands/acpi.c: Use grub_addr_t rather than long when appropriate. 2013-12-15 Vladimir Serbinenko * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather than converting to long. 2013-12-15 Vladimir Serbinenko * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id". 2013-12-15 Vladimir Serbinenko * util/grub-mkimagexx.c (relocate_addresses): Display offset rather than almost useless pointer. 2013-12-15 Vladimir Serbinenko Add gcc_struct to all packed structures when compiling with mingw. Just "packed" doesn't always pack the way we expect. 2013-12-14 Vladimir Serbinenko * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed). 2013-12-14 Vladimir Serbinenko * util/grub-pe2elf.c: Fix handling of .bss. 2013-12-14 Vladimir Serbinenko Implement windows flavour of EFI install routines. 2013-12-14 Vladimir Serbinenko * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc. 2013-12-14 Vladimir Serbinenko Change grub_install_register_efi interface to pass GRUB device. This allows grub_install_register_efi to request partition info directly. 2013-12-14 Vladimir Serbinenko Workaround cygwin bug when using \\?\Volume{GUID} syntax. 2013-12-14 Vladimir Serbinenko Do not use TCHAR string functions as they are not available on cygwin. 2013-12-14 Vladimir Serbinenko Workaround windows bug when querying EFI system partition parameters. 2013-12-14 Vladimir Serbinenko * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size by using bitfields. 2013-12-14 Vladimir Serbinenko * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C. 2013-12-14 Vladimir Serbinenko Make i386-* other than i386-pc compileable under cygwin. 2013-12-14 Vladimir Serbinenko Fix definition of grub_efi_hard_drive_device_path. Take care that existing code would work even if by some reason bogus definition is used by EFI implementations. 2013-12-14 Vladimir Serbinenko * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation. 2013-12-14 Vladimir Serbinenko * grub-core/osdep/windows/blocklist.c: Add missing cast in printf invocation. 2013-12-14 Vladimir Serbinenko * util/config.c: Remove trailing newline from distributor in simple parsing. 2013-12-14 Vladimir Serbinenko * include/grub/efi/api.h: Rename protocol and interface to avoid conflict. 2013-12-14 Vladimir Serbinenko * .gitignore: Add .exe variants. Add missing files. Remove few outdated entries. 2013-12-14 Vladimir Serbinenko * grub-core/osdep/exec.c: Use unix version on cygwin. 2013-12-13 Vladimir Serbinenko Implement multiboot2 EFI BS specification. 2013-12-11 Vladimir Serbinenko * grub-core/normal/charset.c: Fix premature line wrap and crash. Crash happened only in some cases like a string starting at the half of the screen of same length. 2013-12-11 Vladimir Serbinenko * include/grub/efiemu/efiemu.h: Sync configuration table declaration with EFI counterpart. 2013-12-11 Vladimir Serbinenko Propagate the EFI commits to x86-efi specific parts. 2013-12-11 Vladimir Serbinenko * grub-core/commands/efi/lssal.c: Fix terminating condition. 2013-12-11 Vladimir Serbinenko Introduce grub_efi_packed_guid and use it where alignment is not guaranteed. 2013-12-11 Vladimir Serbinenko * include/grub/efi/api.h (grub_efi_device_path): Define length as unaligned u16 rather than u8[2]. 2013-12-11 Vladimir Serbinenko * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks for relocation range. 2013-12-11 Vladimir Serbinenko * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle non-function pcrel21b relocation. It happens with .text.unlikely section. 2013-12-10 Leif Lindholm * make MAX_USABLE_ADDRESS platform-specific * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro. 2013-12-10 Leif Lindholm * grub-core/lib/fdt.c: change memcpy => grub_memcpy 2013-12-09 Jon McCune * Add --no-rs-codes flag to optionally disable reed-solomon codes in grub-install and grub-bios-setup for x86 BIOS targets. 2013-12-09 Vladimir Serbinenko Add missing compile and link options for sparc64-emu. 2013-12-09 Vladimir Serbinenko Implement sparc64 trampolines (needed for sparc64-emu). 2013-12-09 Vladimir Serbinenko * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check range of R_SPARC_HI22. Implement R_SPARC_LM22. 2013-12-09 Vladimir Serbinenko * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size): Do not explicitly check for symbol table as it's already checked in platform-independent layer. 2013-12-09 Vladimir Serbinenko * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine on ia64 as __clear_cache is a dummy on ia64. 2013-12-09 Vladimir Serbinenko * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size): Do not explicitly check for symbol table as it's already checked in platform-independent layer. 2013-12-09 Colin Watson * util/grub-mkconfig.in: Add missing newline to output. 2013-12-08 Vladimir Serbinenko * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ... * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here. 2013-12-08 Vladimir Serbinenko * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu compilation with GCC <= 4.2. * grub-core/kern/emu/argp_common.c: Likewise. 2013-12-08 Vladimir Serbinenko * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to right platform rather than leaking to sparc64-emu. 2013-12-08 Vladimir Serbinenko * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0. But ensure that the variables in question are indeed unsigned. 2013-12-08 Vladimir Serbinenko * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c. 2013-12-08 Vladimir Serbinenko Remove grub_memalign on emu. 2013-12-08 Vladimir Serbinenko * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't truncate incomplete lines but instead flushes them. 2013-12-08 Vladimir Serbinenko Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c and implement windows variant. 2013-12-08 Vladimir Serbinenko Fix mips-emu compilation. 2013-12-08 Vladimir Serbinenko * configure.ac: Check for freetype library usability. 2013-12-08 Vladimir Serbinenko Make arm-emu work. 2013-12-07 Vladimir Serbinenko * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy. 2013-12-07 Andrey Borzenkov * docs/grub.texi (Environment): Update color_normal and color_highlight defaults (light-gray instead of white). 2013-12-07 Andrey Borzenkov * grub-core/normal/main.c (INIT): Set default color to light-gray to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux and apparently BIOS defaults. 2013-12-07 Vladimir Serbinenko Transform -C option to grub-mkstandalone to --core-compress available in all grub-install flavours. 2013-12-07 Vladimir Serbinenko Merge GRUBFS and GRUB_FS variables. 2013-12-07 Andrey Borzenkov Revert commit 69ca97c820, it caused failures when using OS device name in grub-install. Instead just strip off parenthesis in grub-install if (hdX) was passed. 2013-12-07 Andrey Borzenkov * util/grub-install.c (push_partmap_module): Add helper to convert partmap names to module names and use it in probe_mods(). Fixes failure to find partmap modules in diskfilter case. 2013-12-07 Vladimir Serbinenko * configure.ac: Make unifont mandatory on coreboot. 2013-12-07 Vladimir Serbinenko * configure.ac: Skip unifont 6.3 pcf and bdf. 2013-12-07 Vladimir Serbinenko * Makefile.am: Remove partial font files if generation failed. 2013-12-07 Andrey Borzenkov * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort strings. * include/grub/util/misc.h: Define it ... * util/grub-install.c (device_map_check_duplicates): ... and use it. 2013-12-07 Andrey Borzenkov * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of ${grub_probe}. 2013-12-06 Vladimir Serbinenko Don't add -mlong-calls when compiling with clang. 2013-12-06 Vladimir Serbinenko * configure.ac: Fix a typo. 2013-12-06 Vladimir Serbinenko Revamp relocation handling. Move more code to common dl.c. Add missing veneers for arm and arm64. Decreases kernel size by 70 bytes on i386-pc (40-50 compressed) 2013-12-05 Vladimir Serbinenko * util/grub-mkimagexx.c: Fix reloc section generation for ia64. 2013-12-05 Mike Gilbert * INSTALL: Raise minimum python version to 2.6. * gentpl.py: Use python3-style print function. 2013-12-05 Vladimir Serbinenko * util/grub-install.c: Mention Boot* variable. 2013-12-05 Colin Watson * grub-core/osdep/linux/hostdisk.c (grub_util_find_partition_start_os): Initialise start to avoid spurious compiler warning. 2013-12-05 Colin Watson On Linux, read partition start offsets from sysfs if possible, to cope with block device drivers that don't implement HDIO_GETGEO. Fixes Ubuntu bug #1237519. * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New function. (sysfs_partition_start): Likewise. (grub_util_find_partition_start_os): Try sysfs_partition_start before HDIO_GETGEO. 2013-12-05 Leif Lindholm * grub-core/kern/fdt.c: Update struct size when adding node. 2013-12-05 Vladimir Serbinenko Handle unaligned .bss on sparc64. Current code improperly assumes that both __bss_start and _end are aligned to 8-bytes. Eliminating this assumption and explicitly align modules. 2013-12-04 Vladimir Serbinenko * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad so it doesn't land in the middle of loaded image. 2013-12-04 Vladimir Serbinenko * configure.ac: Move all warning options that may be absent in gcc >= 3.1 to optional. Note: while this allows to compile with older GCC, official requirements remain the same and no support for older GCC. 2013-12-04 Colin Watson Copying the themes directory in grub-shell isn't parallel-test-friendly and breaks on the second test when the source directory is read-only (as in "make distcheck"). Instead, add a hidden --themes-directory option to grub-mkrescue et al, and use it in grub-shell. 2013-12-04 Vladimir Serbinenko * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition as it's no longer necessarry. 2013-12-04 Vladimir Serbinenko * configure.ac: Allow compilation with older GCC for ARM. 2013-12-04 Vladimir Serbinenko * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported. * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for ppc. 2013-12-04 Vladimir Serbinenko * grub-core/kern/emu/main.c: Ignore missing prototype for main. 2013-12-04 Vladimir Serbinenko Pass font config to config.h and not by TARGET_CFLAGS as adding arguments doesn't work if TARGET_CFLAGS is specified on command line. 2013-12-04 Vladimir Serbinenko * configure.ac: Add -Wvla if compiler supports it. 2013-12-04 Vladimir Serbinenko * grub-core/osdep/windows/emuconsole.c (grub_console_putchar): Remove variable length arrays. * grub-core/term/efi/console.c (grub_console_putchar): Likewise. 2013-12-04 Vladimir Serbinenko * grub-core/kern/i386/qemu/init.c: Remove variable length arrays. 2013-12-04 Vladimir Serbinenko * include/grub/types.h: Declare all byteswaps as inline functions except compile-time ones. Solves variable shadowing in constructions like cpu_to_le (le_to_cpu(x) + 1). 2013-12-04 Vladimir Serbinenko * grub-core/kern/efi/efi.c: Remove variable length arrays. 2013-12-04 Vladimir Serbinenko * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71 minutes. 2013-12-04 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays. * grub-core/net/drivers/ieee1275/ofnet.c: Likewise. 2013-12-03 Colin Watson * grub-core/Makefile.core.def (setjmp): Distribute lib/arm64/setjmp.S. 2013-12-03 Colin Watson Add a new timeout_style environment variable and a corresponding GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This controls hidden-timeout handling more simply than the previous arrangements, and pressing any hotkeys associated with menu entries during the hidden timeout will now boot the corresponding menu entry immediately. GRUB_HIDDEN_TIMEOUT= + GRUB_TIMEOUT= now generates a warning, and if it shows the menu it will do so as if the second timeout were not present. Other combinations are translated into reasonable equivalents. Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618. 2013-12-02 Vladimir Serbinenko * util/config.c: Add missing pointer adjustment. Reported by: qwertial 2013-11-30 Andrey Borzenkov * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h directly, not via `cpu' link, to fix libgrub.pp generation. 2013-11-30 Leif Lindholm New port arm64-efi. 2013-11-30 Andrey Borzenkov * docs/grub.texi (sleep): Document exit codes. 2013-11-30 Vladimir Serbinenko Ensure that -mno-unaligned-access or some equivalent option is used. 2013-11-30 Vladimir Serbinenko * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with -march=armv3. 2013-11-30 Vladimir Serbinenko Remove leftover GRUB_IA64_DL_TRAMP_SIZE. 2013-11-29 Colin Watson * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI builds, since we don't have an EPS version of font_char_metrics.png. Add leading dot to image extension per the Texinfo documentation. 2013-11-29 Colin Watson * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than , fixing build with FreeType 2.5.1. * util/grub-gen-widthspec.c: Likewise. * util/grub-mkfont.c: Likewise. 2013-11-29 Andrey Borzenkov * util/grub-setup.c (main): Move parsing of (hdX) syntax to ... * util/setup.c (SETUP): ... here. Fixes regression: grub-install failed to install on (hdX). * util/grub-setup.c (get_device_name): Remove, not needed after above change. 2013-11-29 Vladimir Serbinenko * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays. 2013-11-29 Vladimir Serbinenko * util/grub-fstest.c: Remove variable length arrays. 2013-11-29 Vladimir Serbinenko * grub-core/osdep/linux/ofpath.c: Check return value of read. 2013-11-29 Vladimir Serbinenko * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for computing crc32 rather than handling with md fundtions directly. 2013-11-29 Vladimir Serbinenko * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for checking fwstart.img rather than md fundtions directly. 2013-11-29 Vladimir Serbinenko * util/grub-mkrescue.c (main): Check that fread succeeded. 2013-11-29 Vladimir Serbinenko * conf/Makefile.common: Remove -mexplicit-relocs and -DUSE_ASCII_FALLBACK on yeeloong. -DUSE_ASCII_FALLBACK is already added by font snippets. -mexplicit-relocs isn't needed is compiler/assemblera are configured properly. If they're not we shouldn't attempt to fix it by ourselves. Binary compare between before and after shows no difference. 2013-11-29 Vladimir Serbinenko * grub-core/Makefile.core.def: Remove libgnulib.a and use its sources in dependencies directly. This was the only instance of "library" in core config. A bug was reported that -fno-stack-protector wasn't passed to it. Instead of figuring out why it failed just remove this construction used needlessly. 2013-11-29 Vladimir Serbinenko * grub-core/osdep/unix/password.c (grub_password_get): Check that fgets succeeded. 2013-11-27 Francesco Lavra * docs/grub.texi (ls): Fix command description in case of a device name passed as argument. 2013-11-27 Vladimir Serbinenko Eliminate variable length arrays in grub_vsnprintf_real. A bit tricky because this function has to continue to work without heap for short strings. Fixing prealloc to 32 arguments is reasonable but make all stack references use 32-bit offset rather than 8-bit one. So split va_args preparsing to separate function and put the prealloc into the caller. 2013-11-27 Vladimir Serbinenko Introduce grub_util_file_sync and use it instead of fsync(fileno(f)). Fixes build for windows. 2013-11-27 Vladimir Serbinenko * gentpl.py: Don't generate platform-dependent conditionals for platform-independent targets. 2013-11-27 Colin Watson * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove references to mdadm from otherwise generic code. (grub_util_exec_pipe): Likewise. (grub_util_exec_pipe_stderr): Likewise. * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command): This function calls vgs, not mdadm; adjust variable names accordingly. 2013-11-27 Colin Watson Generate Makefile.*.am directly from gentpl.py, eliminating the use of Autogen. The Autogen definitions files remain intact as they offer a useful abstraction. 2013-11-27 Colin Watson Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls into no-ops, and use it in programs that copy files but do not need to take special care to sync writes (grub-mknetdir, grub-rescue, grub-mkstandalone). 2013-11-26 Colin Watson * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather than hardcoding /usr/local/bin/xorriso. 2013-11-26 Vladimir Serbinenko Add PCI command activation to all PCI drivers as required for coreboot and maybe some other firmwares. 2013-11-26 Vladimir Serbinenko * grub-core/Makefile.am: Reduce gratuituous differences between Apple and non-Apple variants of efiemu compile. 2013-11-25 Andrey Borzenkov * configure.ac: Add explicit check for linking format of efiemu64; save it as EFIEMU64_LINK_FORMAT. * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of hardcoding linking format. 2013-11-25 Vladimir Serbinenko * util/grub-mknetdir.c: Look for platform directories under pkglibdir and not pkgdatadir. 2013-11-25 Colin Watson 2013-11-25 Vladimir Serbinenko Add a --locale-directory option to grub-install and related tools. * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add --locale-directory option. (enum grub_install_options): Add GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY. * util/grub-install-common.c (grub_install_help_filter): Handle GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY. (grub_install_parse): Likewise. (get_localedir): New function to check for a user-provided option before trying grub_util_get_localedir. (copy_locales): Use get_localedir rather than grub_util_get_localedir. Handle differing locale directory layouts. (grub_install_copy_files): Likewise. 2013-11-25 Vladimir Serbinenko * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline. Don't rely on PATH_MAX. 2013-11-25 Vladimir Serbinenko * grub-core/genmoddep.awk: Use more portable && rather than and. 2013-11-24 Vladimir Serbinenko * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing an object after data. While it doesn't seem right solution, it works well enough and OSX isn't main compilation platform. 2013-11-24 Vladimir Serbinenko * gentpl.py: Add -ed2016 in order to make objconv accept our binary. While it doesn't seem right solution, it works well enough and OSX isn't main compilation platform. 2013-11-24 Vladimir Serbinenko * configure.ac: Add -static to LDFLAGS when using apple linker to prevent it from pulling in dynamic linker. 2013-11-24 Vladimir Serbinenko Apple assembly doesn't handle symbol arithmetic well. So define an offset symbol in boot.S and use it. 2013-11-24 Vladimir Serbinenko Apple assembly doesn't handle symbol arithmetic well. So instead of getting addres of kernel_sector + 4 define kernel_sector_high. It also makes code more readable. 2013-11-24 Vladimir Serbinenko With Apple assembly in .macro environvemnt you have to use $$ instead of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands to $$x on Apple and to $x on everything else. 2013-11-24 Vladimir Serbinenko * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than OBJCONV. 2013-11-24 Vladimir Serbinenko * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple and non-Apple. This instruction is shorter and faster, so no reason not to use it on both. 2013-11-24 Vladimir Serbinenko * grub-core/lib/reed_solomon.c: Use section _text, _text rather than .text when compiling for Apple. 2013-11-24 Vladimir Serbinenko * grub-core/term/arc/console.c: Add missing cast to silence warning. 2013-11-24 Vladimir Serbinenko * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing %dx restore the probe worked on non-existant drive. Reorganize the code a little bit to free 2 bytes necessary for push/pop. 2013-11-23 Vladimir Serbinenko * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation): Add missing cast to silence warning. 2013-11-23 Keshav Padram Amburay * util/grub-install.c (update_nvram): Support --no-nvram flag for EFI targets. 2013-11-23 Vladimir Serbinenko * INSTALL: Add note about sparc64/ia64 with clang (unsupported). 2013-11-23 Vladimir Serbinenko * util/garbage-gen.c: Add missing include of sys/time.h. 2013-11-23 Vladimir Serbinenko Don't add -mflush-func if it's not supported by compiler. 2013-11-23 Vladimir Serbinenko Move common BIOS/coreboot memory map declarations to include/grub/i386/memory_raw.h and eliminate duplicate declarations. 2013-11-22 Andrey Borzenkov * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST. 2013-11-22 Vladimir Serbinenko * INSTALL: Document why older clang versions aren't appropriate. 2013-11-22 Vladimir Serbinenko * INSTALL: Document about clang for mips. 2013-11-22 Vladimir Serbinenko * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips clang. 2013-11-22 Vladimir Serbinenko Add *-xen to the list of grub-install-common platforms. 2013-11-22 Vladimir Serbinenko * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with 3 last commits. 2013-11-22 Vladimir Serbinenko * grub-core/kern/xen/init.c: Do not map more pages than we can address. 2013-11-22 Vladimir Serbinenko * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling with -mcmodel=large. 2013-11-22 Vladimir Serbinenko * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add range-checking for 32-bit quantities. 2013-11-22 Vladimir Serbinenko * configure.ac: Compile with -fPIC when compiling with clang on mips. 2013-11-22 Vladimir Serbinenko * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS when compiling with clang. 2013-11-22 Vladimir Serbinenko clang emits calls to abort () under some unknown conditions. Export abort () when compiling with clang. 2013-11-22 Vladimir Serbinenko * docs/grub-dev.texi: Document stack and heap sizes. 2013-11-22 Vladimir Serbinenko * include/grub/i386/pc/memory.h: Decrease GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase GRUB_MEMORY_MACHINE_PROT_STACK_SIZE. The binary doesn't change (checked). It's more to better reflect actual usage. 2013-11-22 Vladimir Serbinenko * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure at compile time that enough of scratch size is available. 2013-11-22 Vladimir Serbinenko * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment. Previously we misaligned stack by 8 in startup.S and compensated for it in callwrap.S. According to ABI docs (EFI and sysv amd64) right behaviour is to align stack in startup.S and keep it aligned in callwrap.S. startup.S part was committed few commits before. This takes care of callwrap.S. Reported by: Gary Lin. 2013-11-22 Vladimir Serbinenko * grub-core/boot/mips/startup_raw.S: Handle the case of gap between .data and .bss. May happen if compiler and assembly use different alignment. 2013-11-22 Vladimir Serbinenko On MIPS handle got16 relocations to local symbols in an ABI-compliant way. 2013-11-22 Vladimir Serbinenko Add support for a new magic symbol _gp_disp on mips to handle PIC binaries. 2013-11-22 Vladimir Serbinenko Use $t9 for indirect calls from asm to C as PIC ABI requires. 2013-11-22 Vladimir Serbinenko Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem when rest of GRUB is compiled for hisher stepping. Instead use .set mips3/.set mips1 around cache and sync opcodes. 2013-11-21 Vladimir Serbinenko Unify GOT/trampoline handling between PPC, MIPS and IA64 as they do essentially the same thing, do it in similar way. 2013-11-21 Colin Watson * util/grub-mkrescue.c (main): If a source directory is not specified, read platform-specific files from subdirectories of pkglibdir, not pkgdatadir. 2013-11-21 Colin Watson * grub-core/normal/progress.c: Remove unused file. 2013-11-20 Vladimir Serbinenko * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length array. 2013-11-20 Vladimir Serbinenko * util/grub-mkconfig.in: Say explicit "grub configuration" rather than grub.cfg. 2013-11-20 Vladimir Serbinenko * coreboot.cfg: Add missing file. 2013-11-19 Vladimir Serbinenko * Makefile.am: Allow STRIP to be empty when creating windowszip. 2013-11-19 Axel Kellermann * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to selectively skipping systems. 2013-11-19 Colin Watson * Makefile.util.def (grub-mkimage): Add grub-core/osdep/aros/config.c to extra_dist. * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg, docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff, grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and grub-core/gnulib-no-gets.diff. 2013-11-19 Vladimir Serbinenko Add automated filesystem checking based on scripts I've used now for quite some time locally. Most of the test require root so they are skipped when run without necessarry privelegies. 2013-11-19 Colin Watson * util/grub-install.c (main): Adjust info messages to match installed paths of grub-bios-setup and grub-sparc64-setup. 2013-11-19 Colin Watson * util/grub-install-common.c (copy_locales): Consistently use grub_util_get_localedir () rather than LOCALEDIR. (grub_install_copy_files): Likewise. 2013-11-19 Josh Triplett * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a 16-byte boundary, as required by the x86-64 ABI, before calling grub_main. In some cases, GCC emits code that assumes this alignment, which crashes if not aligned. The EFI firmware is also entitled to assume that stack alignment without checking. 2013-11-18 Josh Triplett * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to 4k page boundaries as expected by firmware rather than 1k boundaries. (grub_mmap_malign_and_register): Likewise. 2013-11-18 Vladimir Serbinenko * tests/grub_func_test.in: Decrease RAM size to 512M. With less fragmentation 512M is enough. 2013-11-18 Vladimir Serbinenko * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the pointer to 32K. This is the size of cache element which is the most common allocation >1K. This way the pointer is always around blocks of 32K and so we keep performance while decreasing fragmentation. 2013-11-18 Vladimir Serbinenko * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to current memory when allocating large chunks. This significantly decreases memory fragmentation. 2013-11-18 Colin Watson * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely, but for symmetry). * tests/lzocompress_test.in: Skip if lzop is not installed. * tests/xzcompress_test.in: Skip if xz is not installed. 2013-11-18 Colin Watson * util/grub-mkrescue.c (main): Fix typo. 2013-11-18 Vladimir Serbinenko * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update clock frequency to 200 MHz, 2013-11-18 Vladimir Serbinenko * tests/util/grub-shell.in: Increase console size to 1024x1024. 2013-11-18 Vladimir Serbinenko * Makefile.am (default_payload.elf): Add pata to loaded modules. Load config file from (cbfsdisk)/etc/grub.cfg. 2013-11-18 Vladimir Serbinenko * util/grub-install-common.c (grub_install_copy_files): Fix module destination directory. 2013-11-18 Colin Watson * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo files have not been built. 2013-11-18 Colin Watson * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file): Handle errors from mkstemp. (grub_util_make_temporary_dir): Handle errors from mkdtemp. 2013-11-18 Vladimir Serbinenko * tests/util/grub-shell.in: Use -cdrom and don't force cdrom on primary master on pseries. 2013-11-18 Vladimir Serbinenko * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's already loaded. This saves memory needed for tests, 2013-11-18 Vladimir Serbinenko * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part work again. 2013-11-18 Vladimir Serbinenko * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g work again. 2013-11-18 Vladimir Serbinenko * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary master since with some combinations of qemu and firmware only primary IDE channel is available. 2013-11-18 Vladimir Serbinenko * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on low-memory platforms where we don't have enough memory for them. * grub-core/tests/videotest_checksum.c: Likewise. 2013-11-18 Vladimir Serbinenko * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's already loaded. This saves memory needed for tests, 2013-11-18 Vladimir Serbinenko Fix handling of install lists. 2013-11-18 Vladimir Serbinenko * grub-core/lib/sparc64/setjmp.S: Force spilling of current window. 2013-11-18 Vladimir Serbinenko On i386-ieee1275 we run in paged mode. So we need to explicitly map the devices before accessing them. 2013-11-18 Vladimir Serbinenko * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char * as file argument. 2013-11-18 Vladimir Serbinenko * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak. 2013-11-18 Vladimir Serbinenko * grub-core/kern/file.c (grub_file_open): Free file->name on failure. (grub_file_close): Free file->name. 2013-11-18 Vladimir Serbinenko * grub-core/commands/verify.c (free_pk): Plug memory leak. (grub_load_public_key): Likewise. (grub_verify_signature_real): Likewise. (grub_cmd_verify_signature): Likewise. 2013-11-18 Vladimir Serbinenko * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug memory leak. 2013-11-18 Vladimir Serbinenko * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31. (grub_longjmp): Restore r31. * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31. 2013-11-18 Vladimir Serbinenko * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap modules to be in line with make_image_abs. 2013-11-18 Vladimir Serbinenko * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size. setjmp.S uses 12 entries but buffer is declared with only 11 entries. 2013-11-17 Ian Campbell * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks. 2013-11-17 Vladimir Serbinenko * tests/grub_func_test.in: Increase memory reservation as on EFI we need to leave some memory to firmware. 2013-11-17 Vladimir Serbinenko * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors of loading gfxterm as gfxterm is embed in kernel on some platforms. * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise. Load gfxmenu. 2013-11-17 Vladimir Serbinenko * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra now needs full arguments. 2013-11-17 Vladimir Serbinenko * util/grub-mkrescue.c (main): Add trailing \n in .disk_label.contentDetails to be in line with previous shell script. 2013-11-17 Vladimir Serbinenko * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt. 2013-11-17 Vladimir Serbinenko * util/grub-install-common.c (grub_install_parse): Recognize --compress=none like shell script did. 2013-11-17 Vladimir Serbinenko * include/grub/misc.h: Replace check for __sparc64__ with one for __sparc__ as __sparc64__ isn't actually defined. 2013-11-17 Vladimir Serbinenko * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing counterpart of fixing the naming of escc ports. 2013-11-17 Vladimir Serbinenko * util/grub-install-common.c (platforms): Fix the order of entries and remove useless field val. 2013-11-16 Vladimir Serbinenko * util/grub-install.c: Add new option --no-bootsector to skip installing of bootsector. Accept --grub-setup=/bin/true as backwards-compatible synonym. 2013-11-16 Andrey Borzenkov * util/grub-install.c (device_map_check_duplicates): Fix incorrect order of qsort arguments (number of elements vs. element size). 2013-11-16 Vladimir Serbinenko Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir the function of these files exceeds what can be sanely handled in shell in posix-comaptible way. Also writing it in C extends the functionality to non-UNIX-like OS and minimal environments. 2013-11-16 Vladimir Serbinenko * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when compiling to thumb2. * grub-core/kern/arm/cache_armv7.S: Likewise. * grub-core/lib/arm/setjmp.S: Likewise. 2013-11-16 Leif Lindholm * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8 in grub_uboot_syscall 2013-11-16 Vladimir Serbinenko Decrease stack usage in lexer. We have only 92K of stack and using over 4K per frame is wasteful * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare as macros so that compiler would remove useless structure on stack. Better solution would be to fix flex not to put this structure on the stack but flex is external program. 2013-11-16 Vladimir Serbinenko Decrease stack usage in signature verification. We have only 92K of stack and using over 4K per frame is wasteful * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap rather than stack. (grub_verify_signature_real): Likewise. 2013-11-16 Vladimir Serbinenko Decrease stack usage in mdraid 0.9x. We have only 92K of stack and using over 4K per frame is wasteful * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap rather than stack. 2013-11-16 Vladimir Serbinenko Decrease stack usage in BtrFS. We have only 92K of stack and using over 4K per frame is wasteful * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap rather than stack. 2013-11-16 Vladimir Serbinenko Decrease stack usage in JFS. We have only 92K of stack and using over 4K per frame is wasteful * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on stack. Note: this function is recursive. (grub_jfs_read_inode): Read only part we care about. 2013-11-16 Leif Lindholm * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg handling 2013-11-16 Andrey Borzenkov * configure.ac: Restore -nostdlib for libgcc symbols tests. 2013-11-16 Andrey Borzenkov * docs/grub.texi (Environment): Document cmdpath. 2013-11-16 Andrey Borzenkov * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation): Remove "unused" attribute from arguments, they are used. 2013-11-15 Colin Watson * .gitignore: Only ignore grub-mk* at the top level. 2013-11-15 Colin Watson * util/grub-reboot.in (usage): Fix a typo. 2013-11-15 Vladimir Serbinenko Replace libgcc version of ctz with our own. On upcoming arm64 port libgcc ctz* are not usable in standalone environment. Since we need ctz* for this case and implementation is in C we may as well use it on all concerned platforms. 2013-11-14 Vladimir Serbinenko * configure.ac: Probe for linking format rather than guessing it based on target_os. 2013-11-14 Vladimir Serbinenko * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to "1" prior to handoff. Reported by: M A Young. 2013-11-14 Vladimir Serbinenko * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add \0 to all files. Reported by: M A Young. 2013-11-14 Vladimir Serbinenko * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix compilation on NetBSD. 2013-11-14 Vladimir Serbinenko * acinclude.m4: Don't add -P on initial nm test. Note: even though this patch postdates Andrey's it bears 14 Nov as date due to timezone difference. 2013-11-15 Andrey Borzenkov * grub-core/Makefile.core.def (signature_test): Add missing tests/signatures.h. 2013-11-14 Colin Watson * util/grub-install_header: Set localedir here, since this file is where it's used. * util/grub-install.in: Remove setting of localedir. * util/grub-mkrescue.in: Likewise. 2013-11-14 Vladimir Serbinenko * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard. 2013-11-14 Vladimir Serbinenko * configure.ac: Move nm checks to the end. Call grub_PROG_NM_WORKS. * acinclude.m4: New check grub_PROG_NM_WORKS. Use $TARGET_CFLAGS -c when compiling test binary. 2013-11-14 Colin Watson * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove unused variables. 2013-11-14 Matthew Garrett * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable cmdpath to firmware directory. 2013-11-14 Vladimir Serbinenko * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer at the start of second iteration. 2013-11-14 Vladimir Serbinenko * grub-core/Makefile.am (efiemu64.o): Explicitly set link format. 2013-11-14 Vladimir Serbinenko * Makefile.am (default_payload.elf): New target for easier coreboot build. 2013-11-14 Vladimir Serbinenko * grub-core/kern/arm/cache_armv6.S: Remove special handling for clang (not necessarry with -no-integrated-as). * include/grub/symbol.h [__arm__]: Likewise. 2013-11-14 Vladimir Serbinenko * configure.ac: Use -no-integrated-as on arm with clang. * INSTALL: Mention ARM compilation with clang. 2013-11-14 Vladimir Serbinenko * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add -mthumb-interwork. 2013-11-14 Colin Watson * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common code for indirect block handling. Saves 185 bytes on compressed image. 2013-11-13 Paulo Flabiano Smorigo Fix make clean. * Makefile.am: Remove build-grub-* in make clean. 2013-11-13 Paulo Flabiano Smorigo New files to gitignore. * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec, build-grub-mkfont, and grub-emu-lite. Remove .bzrignore. 2013-11-13 Leif Lindholm * grub-core/kern/arm/misc.S: Make thumb2-compatible. 2013-11-13 Leif Lindholm * .gitignore: fix rules for .dep* and add *.a post git migration 2013-11-13 Colin Watson * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1, to match INSTALL. 2013-11-13 Colin Watson * grub-core/kern/misc.c: Don't redirect divisions in the GRUB_UTIL case. * include/grub/misc.h: Likewise. 2013-11-13 Colin Watson * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on systems that require checking the return value of write. 2013-11-13 Colin Watson * util/grub-install.in (efi_quiet): Fix inverted logic: make efibootmgr quiet when --debug is not used, rather than when it is. 2013-11-13 Colin Watson * gentpl.py (define_macro_for_platform_dependencies): Remove first (and thus unused) of two definitions for this function. (platform_dependencies): Likewise. 2013-11-13 Colin Watson * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested functions, we only need to check this for the target, not the host. * configure.ac (grub_apple_cc): Likewise. 2013-11-13 Vladimir Serbinenko * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ... * grub-core/kern/arm/cache_armv6.S: ... here. This allows this asm to stay in arm even if surrounding is thumb. 2013-11-13 Vladimir Serbinenko * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those helper functions are needed for thumb. 2013-11-13 Vladimir Serbinenko * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make level / 3 division explicitly unsigned. Saves few bytes. 2013-11-13 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics. 2013-11-13 Vladimir Serbinenko * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than division. 2013-11-13 Vladimir Serbinenko * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and grub_uboot_boot_data to asm part. 2013-11-13 Vladimir Serbinenko * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with literal load. (grub_uboot_syscall): Save/restore r9 and align stack. 2013-11-13 Vladimir Serbinenko * grub-core/kern/arm/cache.S: Replace = with explicit litteral load. 2013-11-13 Vladimir Serbinenko * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end occurencies with END. 2013-11-13 Colin Watson * util/grub-editenv.c (help_filter, argp): Document how to delete the whole environment block. Reported by Dan Jacobson. Fixes Debian bug #726265. 2013-11-13 Colin Watson * docs/grub.texi (Internationalisation, Supported kernels): Fix sectioning. 2013-11-13 Josh Triplett * grub-core/normal/term.c (grub_set_more): Use bool logic rather than increment/decrement. 2013-11-13 Vladimir Serbinenko * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when compiling with clang. 2013-11-13 Vladimir Serbinenko * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning ".". 2013-11-13 Vladimir Serbinenko Redirect all divisions to grub_divmod64. 2013-11-12 Vladimir Serbinenko * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions. 2013-11-12 Vladimir Serbinenko Add missing includes of loader.h. 2013-11-12 Vladimir Serbinenko * configure.ac: Allow disabling themes. 2013-11-12 Lukas Schwaighofer * util/grub.d/20_linux_xen.in: Don't decompress initrd. 2013-11-12 Vladimir Serbinenko * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller until it becomes operational. 2013-11-12 Vladimir Serbinenko * grub-core/Makefile.core.def (legacy_password_test): Disable on platforms where no legacycfg is compiled. * grub-core/tests/lib/functional_test.c: Tolerate failure to load legacy_password_test. 2013-11-12 Vladimir Serbinenko * grub-core/loader/i386/bsd.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/efiemu/prepare.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence strict-aliasing warning. (fsync): Silence cast warning. 2013-11-12 Vladimir Serbinenko * grub-core/commands/verify.c: Remove variable length arrays. Load gcry_dsa/gcry_rsa automatically. 2013-11-12 Vladimir Serbinenko * grub-core/tests/signature_test.c: New test. 2013-11-12 Vladimir Serbinenko * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs API. 2013-11-12 Vladimir Serbinenko * grub-core/tests/legacy_password_test.c (vectors): Make static. * grub-core/tests/pbkdf2_test.c (vectors): Likewise. 2013-11-12 Vladimir Serbinenko * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting. 2013-11-12 Vladimir Serbinenko * grub-core/fs/proc.c: Allow \0 in proc files. 2013-11-12 Vladimir Serbinenko * grub-core/tests/xnu_uuid_test.c: Fix assert message. 2013-11-12 Vladimir Serbinenko * grub-core/tests/xnu_uuid_test.c: Fix copyright year. 2013-11-12 Vladimir Serbinenko * grub-core/fs/ext2.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/disk/AFSplitter.c: Remove variable length arrays. * grub-core/disk/cryptodisk.c: Likewise. * grub-core/disk/geli.c: Likewise. * grub-core/disk/luks.c: Likewise. 2013-11-12 Vladimir Serbinenko * grub-core/tests/legacy_password_test.c: New test. * grub-core/commands/legacycfg.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/lib/pbkdf2.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/tests/pbkdf2_test.c: New test. 2013-11-12 Vladimir Serbinenko * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/io/lzopio.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * include/grub/crypto.h: Add maximums on hash size and cipher block size. 2013-11-12 Vladimir Serbinenko * grub-core/commands/xnu_uuid.c: Remove variable length arrays. 2013-11-12 Vladimir Serbinenko * grub-core/tests/xnu_uuid_test.c: New test. 2013-11-12 Vladimir Serbinenko * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already covers it). 2013-11-12 Vladimir Serbinenko * grub-core/commands/hashsum.c: Remove variable length arrays. 2013-11-11 Vladimir Serbinenko * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory condition. * tests/grub_func_test.in: Increase memory allocation. 2013-11-11 Vladimir Serbinenko * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and sys/mount.h. 2013-11-11 Vladimir Serbinenko * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to .. (grub_util_get_fd_size_os): ...this. (grub_hostdisk_flush_initial_buffer): New empty function. 2013-11-11 Vladimir Serbinenko * grub-core/gensyminfo.sh.in: Handle the case of portable output without --defined-only. 2013-11-11 Vladimir Serbinenko * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use rip-relative addressing in prologue. 2013-11-11 Vladimir Serbinenko * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64. * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function. 2013-11-11 Vladimir Serbinenko * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]: Add missing semicolon. 2013-11-11 Vladimir Serbinenko * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen. 2013-11-11 Vladimir Serbinenko * configure.ac: Check for lzma.h for enabling liblzma and allow manual disabling. 2013-11-11 Vladimir Serbinenko Add missing includes of loader.h. 2013-11-11 Fam Zheng * util/grub.d/30_os-prober.in: Add minix entry. 2013-11-10 Vladimir Serbinenko * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use right buffer for temporary load. 2013-11-10 Vladimir Serbinenko * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore. 2013-11-10 Vladimir Serbinenko * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed payload. 2013-11-10 Vladimir Serbinenko * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and not Types.h. * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB environment. (LzmaDec_InitDicAndState): Make static. 2013-11-10 Vladimir Serbinenko * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot. 2013-11-10 Vladimir Serbinenko * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels. Reported by: Aaro Koskinen 2013-11-10 Vladimir Serbinenko * docs/grub-dev.texi: Replace bzr references with git ones. 2013-11-10 Andrey Borzenkov * docs/grub.texi (Simple configuration): Remove reference to grub-reboot from saved default entry description - grub-default does not use it anymore. 2013-11-10 Vladimir Serbinenko * configure.ac: Make efiemu test cflags match the cflags efiemu is compiled with. 2013-11-10 Andrey Borzenkov * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU. 2013-11-10 Vladimir Serbinenko Fix grub_machine_fini bitrot. Reported by: Glenn Washburn. 2013-11-10 Vladimir Serbinenko * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute. 2013-11-10 Vladimir Serbinenko * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and -DELF. * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__ instead of ELF*. 2013-11-10 Vladimir Serbinenko * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests. Add -march=core2 when testing compile of efiemu64. Thanks Andrey Borzenkov for spotting this. 2013-11-09 Vladimir Serbinenko Add new ports: i386-xen and x86_64-xen. This allows running GRUB in XEN PV environment and load kernels. 2013-11-09 Vladimir Serbinenko * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line. * grub-core/loader/multiboot_mbi2.c: Likewise. 2013-11-09 Vladimir Serbinenko * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline handling. 2013-11-09 Vladimir Serbinenko * grub-core/commands/i386/cmostest.c: Add new command "cmosset". Tested by: Denis 'GNUtoo' Carikli. 2013-11-08 Vladimir Serbinenko * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types. 2013-11-08 Vladimir Serbinenko * grub-core/gfxmenu/gui_circular_progress.c (parse_angle): Use to get rounded angle rather than truncated. 2013-11-08 Vladimir Serbinenko * grub-core/term/serial.c: Add option for enabling/disabling RTS/CTS flow control. 2013-11-08 Vladimir Serbinenko * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed divisions. 2013-11-08 Vladimir Serbinenko * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem): Use grub_fatal rather than divide by zero. * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise. 2013-11-08 Vladimir Serbinenko * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than truncate. (grub_fixed_fsf_divide): Likewise. 2013-11-08 Vladimir Serbinenko * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid division by-zero and senseless negative divisions. 2013-11-08 Vladimir Serbinenko * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid division by-zero and senseless negative divisions. (circprog_set_property): Don't accept negative num_ticks. 2013-11-08 Vladimir Serbinenko * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid division by-zero and senseless negative divisions. 2013-11-08 Vladimir Serbinenko * configure.ac: Use elf_*_fbsd on kfreebsd. 2013-11-08 Vladimir Serbinenko * grub-core/tests/div_test.c: New test. 2013-11-08 Vladimir Testov * grub-core/gfxmenu/gui_box.c: Updated to work with area status. * grub-core/gfxmenu/gui_canvas.c: Likewise. * grub-core/gfxmenu/view.c: Likewise. * grub-core/video/fb/video_fb.c: Introduce new functions: grub_video_set_area_status, grub_video_get_area_status, grub_video_set_region, grub_video_get_region. * grub-core/video/bochs.c: Likewise. * grub-core/video/capture.c: Likewise. * grub-core/video/video.c: Likewise. * grub-core/video/cirrus.c: Likewise. * grub-core/video/efi_gop.c: Likewise. * grub-core/video/efi_uga.c: Likewise. * grub-core/video/emu/sdl.c: Likewise. * grub-core/video/radeon_fuloong2e.c: Likewise. * grub-core/video/sis315pro.c: Likewise. * grub-core/video/sm712.c: Likewise. * grub-core/video/i386/pc/vbe.c: Likewise. * grub-core/video/i386/pc/vga.c: Likewise. * grub-core/video/ieee1275.c: Likewise. * grub-core/video/i386/coreboot/cbfb.c: Likewise. * include/grub/video.h: Likewise. * include/grub/video_fb.h: Likewise. * include/grub/fbfill.h: Updated render_target structure. grub_video_rect_t viewport, region, area int area_offset_x, area_offset_y, area_enabled * include/grub/gui.h: New helper function grub_video_bounds_inside_region. * docs/grub-dev.texi: Added information about new functions. 2013-11-08 Vladimir Serbinenko * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD for alignment. 2013-11-08 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add missing attribute. * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise. 2013-11-08 Vladimir Serbinenko * grub-core/kern/misc.c (grub_divmod64): Don't fallback to simple division on arm and ia64. 2013-11-08 Vladimir Serbinenko * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to link with libgcc. 2013-11-08 Vladimir Serbinenko * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic. 2013-11-08 Vladimir Serbinenko * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as prefix symbol, not @. 2013-11-08 Vladimir Serbinenko * INSTALL: Add note about older gcc and clang. 2013-11-08 Vladimir Serbinenko * tests/util/grub-shell.in: Boot as hdd on ppc by default. 2013-11-08 Vladimir Serbinenko * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix NULL pointer dereference. 2013-11-07 Vladimir Serbinenko * grub-core/Makefile.am: Do not include libgcc.h when compiling with clang. 2013-11-07 Vladimir Serbinenko * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align warnings. 2013-11-07 Vladimir Serbinenko * grub-core/net/net.c (grub_net_route_unregister): Remove unused function. * grub-core/loader/i386/xnu.c (hextoval): Likewise. * grub-core/disk/geli.c (ascii2hex): Likewise. 2013-11-07 Vladimir Serbinenko * configure.ac: Run linker tests without -Werror. Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC. Change all occurences of -static-libgcc resp -lgcc to TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC. 2013-11-07 Vladimir Serbinenko * configure.ac: Don't add -no-itegrated-as on clang on non-x86. 2013-11-07 Vladimir Serbinenko Allow compiling with clang (not really supported though). * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3 unconditionally. * configure.ac: Add -no-integrated-as when using clangfor asm files. Add -mrtd -mregparm=3 on i386 when not using clang. * grub-core/kern/misc.c (grub_memset): Add volatile when on clang. 2013-11-07 Vladimir Serbinenko * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm bindings. * grub-core/lib/reed_solomon.c: Likewise. * include/grub/i386/gdb.h: Likewise. * include/grub/i386/pc/int.h: Likewise. * include/grub/i386/pc/pxe.h: Likewise. * include/grub/ieee1275/ieee1275.h: Likewise. 2013-11-07 Vladimir Serbinenko Import libgcrypt 1.5.3. 2013-11-07 Vladimir Serbinenko * configure.ac: Don't add -Wcast-align on x86. 2013-11-07 Vladimir Serbinenko * configure.ac: Add -freg-struct-return on all platforms that support it. 2013-11-07 Vladimir Serbinenko * acinclude.m4: Use -Werror on parameter tests. * configure.ac: Likewise. 2013-11-07 Vladimir Serbinenko * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests. 2013-11-07 Vladimir Serbinenko * configure.ac: Check that -malign-loops works rather than assuming that either -falign-loops or -malign-loops work. 2013-11-07 Vladimir Serbinenko * configure.ac: Remove -fnested-functions. We don't need it anymore. 2013-11-07 Vladimir Serbinenko * configure.ac: Prevent cflags leaking to subsequent tests by always resetting cflags to target_cflags in target tests. 2013-11-07 Vladimir Serbinenko * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested function. 2013-11-07 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions. 2013-11-07 Vladimir Serbinenko * grub-core/lib/arg.c (grub_arg_parse): Remove nested function. 2013-11-07 Vladimir Serbinenko * grub-core/normal/cmdline.c (grub_cmdline_get): Remove nested functions. 2013-11-07 Vladimir Serbinenko * tests/test_sha512sum.in: Make it work on emu. 2013-11-07 Vladimir Serbinenko * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested functions. (grub_bidi_line_logical_to_visual): Likewise. 2013-11-07 Vladimir Serbinenko Remove vestiges of -Wunsafe-loop-optimisations. * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-unsafe-loop-optimisations. * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations pragma. * grub-core/io/gzio.c: Likewise. * grub-core/script/parser.y: Likewise. * grub-core/script/yylex.l: Likewise. * util/grub-mkfont.c: Likewise. 2013-11-07 Vladimir Serbinenko * util/grub-mkfont.c (process_cursive): Remove nested function. 2013-11-07 Vladimir Serbinenko * include/grub/misc.h (grub_dprintf): Use unnamed vararg. (grub_boot_time): Likewise. 2013-11-07 Vladimir Serbinenko * include/grub/symbol.h (FUNCTION): Use @function rather than "function". (VARIABLE): Likewise. 2013-11-07 Vladimir Serbinenko * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t. 2013-11-07 Vladimir Serbinenko * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const. (parse_dhcp_vendor): Likewise. 2013-11-07 Vladimir Serbinenko * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets. 2013-11-07 Vladimir Serbinenko * grub-core/gettext/gettext.c (main_context), (secondary_context): Define after defining type and not before. 2013-11-07 Vladimir Serbinenko * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error type. (grub_gcm_decrypt): Likewise. (algo_decrypt): Likewise. (grub_zfs_decrypt_real): Transform error type. 2013-11-07 Vladimir Serbinenko * grub-core/disk/geli.c (geli_rekey): Fix error return type. 2013-11-07 Vladimir Serbinenko * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type. (grub_usbms_cbi_reset): Likewise. (grub_usbms_bo_reset): Likewise. (grub_usbms_reset): Likewise. (grub_usbms_attach): Likewise. (grub_usbms_transfer_cbi): Likewise. 2013-11-07 Vladimir Serbinenko * grub-core/io/lzopio.c (test_header): Simplify code and remove useless "checksum = checksum;". 2013-11-07 Vladimir Serbinenko * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of entry_type. 2013-11-07 Vladimir Serbinenko * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix BIOS disk check. 2013-11-07 Vladimir Serbinenko * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum type. (grub_ehci_fini_hw): Likewise. * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise. 2013-11-07 Vladimir Serbinenko * include/grub/usb.h (grub_usb_controller_dev): Make portstatus return grub_usb_err_t for cosistency. All users updated. 2013-11-07 Vladimir Serbinenko * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious assigning to itself. 2013-11-05 Gustavo Luiz Duarte 2013-11-05 Paulo Flabiano Smorigo Issue separate DNS queries for ipv4 and ipv6 Adding multiple questions on a single DNS query is not supportted by most DNS servers. This patch issues two separate DNS queries sequentially for ipv4 and then for ipv6. Fixes: https://savannah.gnu.org/bugs/?39710 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option. * grub-core/net/dns.c (grub_dns_qtype_id): New enum. * (grub_net_dns_lookup): Now using separated dns packages. * (grub_cmd_nslookup): Add error condition. * (grub_cmd_list_dns): Print DNS option. * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6, --prefer-ipv4, and --prefer-ipv6. * include/grub/net.h (grub_dns_option_t): New enum. * (grub_net_network_level_address): option added. 2013-11-05 Vladimir Testov * grub-core/video/fb/video_fb.c: Merge two blit functions into one. 2013-11-05 Vladimir Serbinenko * grub-core/term/terminfo.c: Add sequences for home and end. 2013-11-05 Vladimir Serbinenko * grub-core/lib/legacy_parse.c: Fix handling of hercules and add graphics console. 2013-11-05 Vladimir Serbinenko * grub-core/video/i386/pc/vga.c: Fix double bufferring and add mode 0x12. 2013-11-04 Vladimir Serbinenko * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old e-mail by Per Öberg. 2013-11-04 Vladimir Serbinenko * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command name. 2013-11-04 Andrey Borzenkov * configure.ac: Explicitly disable emusdl, emuusb and emupci on non- emu platforms. * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu. 2013-11-04 Vladimir Serbinenko * docs/grub.texi: Document usage of menuentry id. 2013-11-04 Vladimir Serbinenko * docs/grub.texi: Add few mentions about EFI, debug and videoinfo. 2013-11-04 Peter Lustig * grub-core/commands/i386/nthibr.c: New command. 2013-11-04 Vladimir Serbinenko * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing. 2013-11-04 Vladimir Serbinenko * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per coordinate. 2013-11-04 Vladimir Serbinenko Support GRUB_DISABLE_SUBMENU config. Inspired by patch from Prarit Bhargava. 2013-11-03 Vladimir Serbinenko * docs/grub.texi: Mention RSA support. 2013-11-03 Vladimir Serbinenko * grub-core/commands/verify.c: Add RSA support. 2013-11-03 Vladimir Serbinenko * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices. * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if device is known to be ATAPI. 2013-11-03 Mike Frysinger * configure.ac: Don't add target-prefix. 2013-11-03 Vladimir Serbinenko * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset variables. 2013-11-03 Vladimir Serbinenko * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors if language is English. 2013-11-03 Vladimir Serbinenko * grub-core/osdep/linux/getroot.c: Fix cast-align problems. 2013-11-02 Vladimir Serbinenko * configure.ac: Don't add -m32/-m64 on emu. 2013-11-02 neil * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some broken linux headers. 2013-11-02 Vladimir Serbinenko * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos. 2013-11-02 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do Reed-Solomon recovery if more than half of redundancy info is 0. 2013-11-02 Vladimir Serbinenko * util/grub-mount.c: Handle symlinks to directories. 2013-11-02 Vladimir Serbinenko * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling find_file recursively for symlink. 2013-11-02 Vladimir Serbinenko * tests/util/grub-shell.in: Copy themes. 2013-11-02 Vladimir Serbinenko * util/grub-mkimagexx.c (locate_sections): Reject mislinked images. 2013-11-02 Vladimir Serbinenko * configure.ac: Use 0x8000 for address instead of 8000. 2013-11-02 Vladimir Serbinenko * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix signature. 2013-11-02 Vladimir Serbinenko * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused variable. 2013-11-02 Vladimir Serbinenko * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386. 2013-11-02 Vladimir Serbinenko * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call file_progress_read_hook. * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise. 2013-11-02 Vladimir Serbinenko * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float and double. 2013-11-01 Vladimir Serbinenko * grub-core/fs/tar.c (grub_cpio_read): Add read_hook. 2013-11-01 Vladimir Serbinenko Rewrite blocklist functions in order to get progress when reading large extents and decrease amount of blocklist hook calls. 2013-11-01 Vladimir Serbinenko * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling of SI suffixes. 2013-11-01 Vladimir Serbinenko Support --base-clock for serial command to handle weird cards with non-standard base clock. 2013-11-01 Vladimir Serbinenko * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather strncpy. * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise. * grub-core/kern/misc.c (grub_strncpy): Move from here ... * include/grub/misc.h (grub_strncpy): ... to here. Make inline. * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT + strcpy rather than strncpy. 2013-11-01 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size. (check_pool_label): Likewise. Fixes overflow. (nvlist_find_value): Fix comparison. 2013-11-01 Vladimir Serbinenko * include/grub/misc.h (grub_strcat): Removed. All users changed to more appropriate functions. 2013-11-01 Vladimir Serbinenko * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient realloc. 2013-11-01 Vladimir Serbinenko * util/grub-mkrescue.in: Do not use UUID search on EFI. 2013-11-01 Vladimir Serbinenko * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes on core size. 2013-10-30 Vladimir Serbinenko * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have. 2013-10-30 Vladimir Serbinenko * grub-core/io/gzio.c (huft_build): Use zalloc for safety. (initialize_tables): reset tl and td to NULL after freeing. 2013-10-28 Vladimir Serbinenko * grub-core/loader/multiboot_mbi2.c: Implement network tag. 2013-10-28 Vladimir Serbinenko * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list of supported tags. 2013-10-28 Vladimir Serbinenko * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map. 2013-10-28 Vladimir Serbinenko * grub-core/loader/multiboot.c: Add support for multiboot kernels quirks. 2013-10-28 Vladimir Serbinenko * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least a page in protected space. 2013-10-28 Vladimir Serbinenko * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to allocate space for zero-sized modules. 2013-10-28 Vladimir Serbinenko * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images. 2013-10-28 Francesco Lavra * grub-core/lib/fdt.c: Fix miscellaneous bugs. 2013-10-28 Vladimir Serbinenko * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing safeguards. Fixes a crash with i386/pc/console.c. 2013-10-28 Vladimir Serbinenko * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init and grub_hostfs_init. 2013-10-28 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use windows method on other platforms without good stat as well. 2013-10-28 Vladimir Serbinenko * grub-core/osdep/linux/getroot.c: Add new btrfs defines. 2013-10-28 Vladimir Serbinenko Make / in btrfs refer to real root, not the default volume. Modify mkrelpath to work even if device is mounted with subvolid option. 2013-10-28 Andrey Borzenkov * Makefile.util.def: Add grub-core/kern/disk_common.c to library extra_dist. * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module extra_dist. 2013-10-27 Vladimir Serbinenko * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes fails. 2013-10-27 BVK Chaitanya * docs/autoiso.cfg: New file. 2013-10-27 Vladimir Serbinenko * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and COND_GRUB_PE2ELF conditions. 2013-10-27 Vladimir Serbinenko * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd", "vnd", "rd" and "fd" disks. 2013-10-27 Vladimir Serbinenko Move grub_disk_write out of kernel into disk.mod. 2013-10-27 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar handling. 2013-10-27 Vladimir Serbinenko * grub-core/kern/misc.c (grub_abort): Make static 2013-10-27 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to transform invalid unicode codepoints. 2013-10-27 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit \0 checking. 2013-10-27 Vladimir Serbinenko * grub-core/lib/legacy_parse.c: Add support for "nd" disk. 2013-10-26 Vladimir Serbinenko Consolidate cpuid code. 2013-10-26 Vladimir Serbinenko Move cpuid code to cpuid.h and TSC code to tsc.c. 2013-10-26 Grégoire Sutre * util/grub.d/00_header.in: Don't use LANG if it's not set. 2013-10-26 Grégoire Sutre * util/grub-mkconfig.in: Replace $0 with $self. * util/grub-reboot.in: Likewise. * util/grub-set-default.in: Likewise. 2013-10-26 BVK Chaitanya * docs/osdetect.cfg: New file. 2013-10-26 BVK Chaitanya * tests/util/grub-shell.in: Add new --debug option. 2013-10-26 BVK Chaitanya * tests/test_unset.in: New test. 2013-10-26 BVK Chaitanya * tests/test_sha512sum.in: New test. 2013-10-26 Vladimir Serbinenko * grub-core/fs/iso9660.c: Replace strncat with memcpy. * include/grub/misc.h: Remove strncat. * grub-core/lib/posix_wrap/string.h: Likewise. 2013-10-26 Vladimir Serbinenko * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet. Try to handle more than 0xFFFF packets. Reported by: Bernhard Übelacker . He also spotted few overflows in first version of this patch. 2013-10-26 Vladimir Serbinenko * tests/date_unit_test.c: New test. 2013-10-26 Vladimir Serbinenko * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling of first three years after start of validity of unixtime. 2013-10-26 Vladimir Serbinenko * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned division as the one making more sense. (update_screen): Likewise. (complete): Likewise. 2013-10-25 Vladimir Serbinenko * grub-core/normal/menu_entry.c (complete): Make sure that width is >0. 2013-10-25 Vladimir Serbinenko Make char and string width grub_size_t rather than grub_ssize_t. 2013-10-25 Vladimir Serbinenko * grub-core/normal/cmdline.c (grub_history_get): Make argument into unsigned. (grub_history_replace): Likewise. 2013-10-25 Vladimir Serbinenko * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when appropriate. 2013-10-25 Vladimir Serbinenko * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when appropriate. 2013-10-25 Vladimir Serbinenko * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x). Use unsigned divisions rather than signed variants. 2013-10-25 Vladimir Serbinenko * grub-core/video/readers/png.c (grub_png_convert_image): Use unsigned arithmetics. Add missing break. 2013-10-25 Vladimir Serbinenko * grub-core/video/readers/jpeg.c: Use unsigned where appropriate. 2013-10-25 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics rather than signed one. (recovery): Likewise. 2013-10-25 Vladimir Serbinenko * grub-core/net/dns.c (hash): Use unsigned arithmetic. 2013-10-25 Vladimir Serbinenko * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather than signed. 2013-10-25 Jon McCune * docs/grub.texi: Cleanup security documentation around signatures. 2013-10-25 Vladimir Serbinenko * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned. 2013-10-25 Vladimir Serbinenko * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather than int. 2013-10-25 Vladimir Serbinenko * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1. * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define functions when compiling for kernel. 2013-10-25 Vladimir Serbinenko * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to unsigned long long when using %llu. 2013-10-25 Vladimir Serbinenko * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh terminal after updating progress. 2013-10-25 Vladimir Serbinenko * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove argument. We don't disable Gate A20 in this code. 2013-10-25 Vladimir Serbinenko * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled. Conceptually based on change in branch "vbe-on-coreboot". 2013-10-24 Robert Millan * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace numeric constants with their symbolic equivalent. Taken from branch "vbe-on-coreboot". 2013-10-22 Vladimir Serbinenko * docs/grub.texi: Fix ordering and use pxref rather than xref. 2013-10-22 Vladimir Serbinenko * grub-core/lib/progress.c (grub_file_progress_hook_real): Use divmod64 for offset division. 2013-10-22 Paulo Flabiano Smorigo Rename .bzrignore to .gitignore. Add "*.o" rule. * .bzrignore: Renamed to... * .gitignore: ...this. 2013-10-22 Paulo Flabiano Smorigo Add new progress module that displays the load progress of files. * grub-core/lib/progress.c: New file. * grub-core/Makefile.core.def (progress): New module. * grub-core/kern/file.c (grub_file_open): File name added. * (grub_file_read): Progress hook added. * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise. * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise. * grub-core/net/net.c (grub_net_fs_read_real): Likewise. * include/grub/file.h (struct grub_file): Add progress module members. * include/grub/term.h (struct grub_term_output): Likewise. * grub-core/osdep/unix/emuconsole.c (grub_console_term_output): Terminal velocity added. * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise. * grub-core/term/arc/console.c (grub_console_term_output): Likewise. * grub-core/term/efi/console.c (grub_console_term_output): Likewise. * grub-core/term/gfxterm.c (grub_video_term): Likewise. * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise. * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise. * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise. * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise. * grub-core/term/morse.c (grub_audio_term_output): Likewise. * grub-core/term/serial.c (grub_serial_term_output): Likewise. * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise. * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise. 2013-10-22 Vladimir Serbinenko Verify signatures of signatures unless --skip-sig is specified. 2013-10-21 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit \0 checking. Saves 70 bytes on compressed image. 2013-10-21 Vladimir Serbinenko * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0 check. Saves 10 bytes on compressed image. 2013-10-21 Vladimir Serbinenko * grub-core/kern/misc.c (grub_isprint): Move to ... * include/grub/misc.h (grub_isprint): ... here. Make inline. Saves 20 bytes on compressed image due to remving exporting. 2013-10-21 Vladimir Serbinenko * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check. Saves 5 bytes on compressed image. 2013-10-21 Vladimir Serbinenko * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate function get_utf8. Saves 379 bytes on compressed image. 2013-10-21 Vladimir Serbinenko * grub-core/fs/ntfs.c: Handle 48-bit MFT no. 2013-10-21 Vladimir Serbinenko * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields. Saves 40 bytes on compressed image. 2013-10-21 Vladimir Serbinenko * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for mask rather than 64-bit type. Saves 20 bytes on compressed image. 2013-10-21 Vladimir Serbinenko * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ... * grub-core/fs/ntfscomp.c (ntfscomp): ... here. Saves 273 bytes on compressed image. 2013-10-20 Vladimir Serbinenko * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of variable length arrays. Saves 50 bytes on compressed image. 2013-10-20 Vladimir Serbinenko * grub-core/loader/i386/bsd.c: Remove variable length arrays. 2013-10-20 Vladimir Serbinenko * grub-core/fs/ufs.c: Remove variable length arrays. 2013-10-20 Vladimir Serbinenko * grub-core/fs/ntfs.c: Add comment about fixed allocation size. 2013-10-20 Vladimir Serbinenko * grub-core/fs/zfs.c: Remove variable length arrays. Reduces zfs.mod by 160 bytes (208 compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak. 2013-10-20 Vladimir Serbinenko * grub-core/net/arp.c: Remove variable length arrays. * grub-core/net/bootp.c: Likewise. * grub-core/net/dns.c: Likewise. * grub-core/net/icmp6.c: Likewise. * grub-core/net/net.c: Likewise. 2013-10-20 Vladimir Serbinenko * grub-core/fs/ntfs.c: Remove variable length arrays. Increases ntfs.mod by 64 bytes (but decreases by 3 when compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/hfs.c: Remove variable length arrays. Reduces hfs.mod by 8 bytes (52 compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/udf.c: Remove variable length arrays. Increases udf.mod by 128 bytes (but decreases by 13 when compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/iso9660.c: Remove variable length arrays. Increases iso9660.mod by 200 bytes (but decreases by 79 when compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/nilfs2.c: Remove variable length arrays. Increases nilfs2.mod by 24 bytes (but decreases by 115 when compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/xfs.c: Remove variable length arrays. Reduces xfs.mod by 40 bytes (43 compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/fshelp.c: Remove variable length arrays. Reduces fshelp.mod by 116 bytes (23 compressed). 2013-10-20 Vladimir Serbinenko * grub-core/normal/completion.c: Remove variable length arrays. * grub-core/normal/menu_entry.c: Likewise. Reduces normal.mod by 496 bytes. 2013-10-20 Vladimir Serbinenko * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod by 356 bytes (158 compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod by 364 bytes (169 compressed). 2013-10-20 Vladimir Serbinenko * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed). * include/grub/types.h (grub_unaligned_uint64_t): New type. 2013-10-19 Vladimir Serbinenko Lift 255x255 erminal sie restriction to 65535x65535. Also change from bitmasks to small structures of size chosen to fit in registers. 2013-10-19 Vladimir Serbinenko * conf/Makefile.common: Use -freg-struct-return on i386. This decreases code size and improves performance. 2013-10-19 Vladimir Serbinenko * grub-core/osdep/unix/exec.c: Fix compilation error on emu. 2013-10-19 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of "(null)" string. Simplify expressions to save around 256 bytes in kernel.img. * tests/printf_unit_test.c (printf_test): Add "(null)" tests. 2013-10-19 Vladimir Serbinenko * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp): Use GRUB_UTIL_FD_O_* rather than O_*. 2013-10-19 Vladimir Serbinenko Add haiku-specific functions. 2013-10-19 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c: Remove few leftover includes. 2013-10-19 Vladimir Serbinenko Move stat () and device mode checking into OS-dependent files as long as performance doesn't suffer. 2013-10-19 Vladimir Serbinenko Split make_system_path_relative_to_its_root into separate file relpath.c from getroot.c as it's common between unix and haiku but otherwise haiku doesn't use any functions from unix getroot.c. 2013-10-19 Vladimir Serbinenko * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory): New function. (grub_util_is_special_file): Likewise. 2013-10-19 Vladimir Serbinenko * grub-core/osdep/unix/getroot.c: Move exec functions to ... * osdep/unix/exec.c: ... here. Add few additional exec_* variants. 2013-10-19 Vladimir Serbinenko * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to grub_size_t. This fixes the case when size_t mismatches grub_size_t. 2013-10-19 Vladimir Serbinenko * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak. (load_image): Likewise. 2013-10-19 Vladimir Serbinenko * util/grub-render-label.c: Move backend part to ... * util/render-label.c: ... here. 2013-10-18 Vladimir Serbinenko * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD). 2013-10-18 Vladimir Serbinenko * grub-core/osdep/generic/blocklist.c: Add missing include to string.h. 2013-10-18 Vladimir Serbinenko * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle CD-ROM in case when it's declared as having subpartitions. 2013-10-18 Vladimir Serbinenko Don't add -lm on haiku. * configure.ac: Define BUILD_LIBM to -lm on most platforms and empty on haiku. * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than -lm. 2013-10-18 Vladimir Serbinenko * configure.ac: Use -melf_*_haiku as target on haiku. 2013-10-18 Vladimir Serbinenko * Makefile.util.def: Add util/setup.c to extra_dist. 2013-10-18 Vladimir Serbinenko * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass unknown types through. 2013-10-18 Vladimir Serbinenko * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove. (grub_util_check_char_device): Likewise. * include/grub/emu/getroot.h: Likewise. 2013-10-18 Vladimir Serbinenko * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining memset rather than inline static function. 2013-10-18 Vladimir Serbinenko * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when not doing embedded decompressor. 2013-10-18 Vladimir Serbinenko * grub-core/disk/ldm.c: Rename variables and arguments to prevent shadowing. * grub-core/kern/disk.c: Likewise. * grub-core/kern/misc.c: Likewise. * include/grub/parser.h: Likewise. * include/grub/script_sh.h: Likewise. * include/grub/zfs/zfs.h: Likewise. 2013-10-18 Vladimir Serbinenko * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning. 2013-10-18 Vladimir Serbinenko * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is defined before trying to use it. 2013-10-18 Vladimir Serbinenko * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value warning. 2013-10-18 Vladimir Serbinenko * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP. Use __unused__ rather than __used__ on gcc < 3.2. 2013-10-18 Vladimir Serbinenko * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for gcc < 4.0. * include/grub/*/setjmp.h: USe RETURNS_TWICE. 2013-10-18 Vladimir Serbinenko * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout". 2013-10-18 Vladimir Serbinenko * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4. * include/grub/emu/misc.h: Likewise. 2013-10-18 Vladimir Serbinenko * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of cur_color. 2013-10-18 Vladimir Testov * grub-core/tests/checksums.h: Regenerated due to progress bar get_minimal_size changes. 2013-10-17 BVK Chaitanya Added `tr' command support. * grub-core/commands/tr.c: New file. * grub-core/Makefile.core.def: Build rules for new module. * tests/grub_cmd_tr.in: New test. * Makefile.util.def: Build rules for new test. 2013-10-17 Vladimir Testov * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added. 2013-10-17 Vladimir Testov * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay`` * docs/gurb.texi: Likewise. 2013-10-17 Vladimir Testov * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug. Pixmap highlighted section with east and west slices was displayed incorrectly due to negative width of the central slice. 2013-10-17 Vladimir Testov * docs/grub.texi: Graphical options information update. Removed outdated. Updated current. Inserted missed. 2013-10-17 Vladimir Serbinenko * docs/grub.texi: Mention few new platform-specific commands. 2013-10-17 Vladimir Serbinenko * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not currently used so this doesn't really have any effect. Reported by: Douglas Ray 2013-10-17 Vladimir Serbinenko * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for compilation but prevents gcc from displaying messages in non-Latin alphabets. * conf/Makefile.common: Likewise. 2013-10-16 Hiroyuki YAMAMORI Handle Japanese special keys. Reported by: Hiroyuki YAMAMORI. Codes supplied by: Hiroyuki YAMAMORI. 2013-10-16 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added. 2013-10-16 Vladimir Testov * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`. * docs/grub.texi: Likewise. 2013-10-16 Vladimir Serbinenko * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct value in case of incomplete read. (grub_util_fd_write): Likewise. 2013-10-15 Vladimir Serbinenko * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename. 2013-10-15 Vladimir Serbinenko * util/grub-editenv.c (create_envblk_file): More from here ... * util/editenv.c (grub_util_create_envblk_file): ... to here. 2013-10-15 Vladimir Serbinenko * grub-core/osdep/unix/getroot.c (grub_guess_root_devices): canonicalize file name before doing the rest. 2013-10-15 Vladimir Serbinenko * include/grub/osdep/hostfile_windows.h: Add missing ftello for mingw32. 2013-10-15 Vladimir Serbinenko Define grub_util_is_directory/regular/special_file and use OS-dependent versions rather than to rely on stat(). 2013-10-15 Vladimir Serbinenko * util/grub-mkimage.c: Move backend part to ... * util/mkimage.c: ... here. 2013-10-15 Vladimir Serbinenko Allow compilation with mingw64 albeit with warnings due to lack of %llx/%llu. * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl. * grub-core/lib/posix_wrap/wchar.h: Define wint_t. * grub-core/lib/posix_wrap/wctype.h: Define wctype_t. * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello on mingw64. * include/grub/types.h: Allow sizeof (long) != sizeof (void *). 2013-10-15 Vladimir Serbinenko Remove leftover references to some of the system headers. 2013-10-15 Vladimir Serbinenko * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after read. 2013-10-15 Vladimir Serbinenko * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead of strerror. 2013-10-15 Vladimir Serbinenko Split out blocklist retrieving from setup.c to grub-core/osdep/blocklist.c and add windows implementation since generic version doesn't work on NTFS on Windows due to aggressive unflushable cache. 2013-10-15 Vladimir Serbinenko Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c) files. 2013-10-15 Vladimir Serbinenko * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Cut tailing newline. Remove arbitrary limitation. Always use grub_util_tchar_to_utf8. 2013-10-15 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly. * tests/printf_unit_test.c (printf_test): Add %% tests. Reported by: Paulo Flabiano Smorigo. 2013-10-15 Vladimir Serbinenko * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really implement fsync. 2013-10-15 Vladimir Serbinenko * configure.ac: Check for nvlist_lookup_string in nvpair since we use nvlist_lookup_string and don't use nvlist_print. 2013-10-15 Vladimir Serbinenko Add wrappers around rename, unlink, mkdir, opendir, readdir and closedir to handle filename charset translation. 2013-10-15 Vladimir Serbinenko * include/grub/emu/hostdisk.h: Move file operations to * include/grub/emu/hostfile.h: ... here. 2013-10-15 Vladimir Serbinenko * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle unicode path. 2013-10-15 Vladimir Serbinenko * grub-core/tests/checksums.h: Regenerate due to swiss.sed change. 2013-10-15 Vladimir Serbinenko Move cpu time retrieval to separate grub_util_get_cpu_time_ms and remove export.h. 2013-10-15 Vladimir Serbinenko * grub-core/kern/emu/error.c: Removed. * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c explicitly as it's already in libgnu.a. 2013-10-15 Vladimir Serbinenko * grub-core/osdep/windows/emuconsole.c: Add missing config.h and config-util.h include. 2013-10-15 Vladimir Serbinenko Split emunet into platform-dependent and GRUB-binding parts. Keep platform-dependent part in kernel for easy access to OS functions. 2013-10-15 Vladimir Serbinenko * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than open/read/write. 2013-10-14 Vladimir Serbinenko * grub-core/osdep/windows/emuconsole.c: New file. 2013-10-14 Andrey Borzenkov * conf/Makefile.extra-dist: Add osdep/*/init.c 2013-10-14 Vladimir Serbinenko * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target. 2013-10-14 Vladimir Serbinenko * util/grub-probe.c (probe): Separate different drives in hint-str by spaces and not newlines. * util/grub-mkconfig_lib.in: Handle multidevice filesystem. 2013-10-14 Andrey Borzenkov * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle CD-ROMs. 2013-10-14 Vladimir Serbinenko Pass-through unknown E820 types. It required reorganisation of mmap module. 2013-10-14 Andrey Borzenkov * Makefile.util.def: Add osdep/init.c to grub-mount files. 2013-10-14 Vladimir Serbinenko Make grub_util_fd_seek match behaviour of other grub_util_fd_* and fseeko. 2013-10-14 qwertial * grub-core/gdb_grub.in: Fix overflow and wrong field. 2013-10-14 Jon McCune * docs/grub.texi: Document new signatures possibility. 2013-10-14 Vladimir Serbinenko Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open. 2013-10-14 Vladimir Serbinenko * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add missing prototype. (grub_util_tchar_to_utf8): Likewise. 2013-10-14 Vladimir Serbinenko * grub-core/Makefile.core.def: Add osdep/init.c on emu. * grub-core/kern/emu/main.c: Add missing include. * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]: Don't call grub_util_init_nls. * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]: Likewise. 2013-10-13 Vladimir Serbinenko * util/misc.c (grub_util_get_image_size): Use FILE functions rather than stat. 2013-10-13 Vladimir Serbinenko * util/grub-editenv.c: Remove leftover set_program_name and init_nls. 2013-10-13 Vladimir Serbinenko * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later. 2013-10-13 Vladimir Serbinenko Add a wrapper for fopen. On unix-like systems just pass-through. On windows use unicode version. 2013-10-13 Vladimir Serbinenko Move set_program_name and init_nls to host_init. On windows fix in this fuction console and argument charset as well. 2013-10-12 Andrey Borzenkov Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and GRUB_ENABLE_CRYPTODISK. * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to GRUB_ENABLE_CRYPTODISK. * util/grub-mkconfig_lib.in: Likewise. 2013-10-12 Christian Cier-Zniewski * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300. 2013-10-12 Melki Christian * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation error when enabling debug. 2013-10-12 Ilya Bakulin * configure.ac: Use -melf_*_obsd on openbsd. 2013-10-12 Vladimir Serbinenko * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer. 2013-10-12 Vladimir Serbinenko * include/grub/misc.h: Use gnu_printf rather than printf as format template since our functions are independent of libc. 2013-10-11 Vladimir Serbinenko * util/grub-setup.c (setup): Move copying of partition table as futher up as possible to avoid possible overwrite by floppy routines. 2013-10-11 Vladimir Serbinenko * grub-core/fs/fat.c: Fix handling of exfat contiguous files. 2013-10-10 Vladimir Testov * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`. * docs/grub.texi: Likewise. 2013-10-10 Vladimir Serbinenko * util/getroot.c (make_device_name): Remove dos_part and bsd_part as it's mostly unused. Move vestiges to the callers. 2013-10-10 Vladimir Serbinenko * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex version of salt and hash. Use grub_snprintf rather than snprintf. 2013-10-10 Vladimir Serbinenko * docs/grub.texi: Fix problem with braces. 2013-10-10 Vladimir Serbinenko * conf/Makefile.extra-dist: Fix extra-dist list. * grub-core/Makefile.core.def: Likewise. 2013-10-10 Vladimir Serbinenko * docs/grub.texi: Document disk names used on Windows and AROS. 2013-10-10 Vladimir Serbinenko * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed with AROS devs. * grub-core/osdep/aros/hostdisk.c: Likewise. 2013-10-10 Vladimir Serbinenko Avoid including hostfile.h when not necessarry as it pulls in OS-specific headers which may redefine generic names like "far". 2013-10-09 Vladimir Testov * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding: scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad, scrollbar_bottom_pad * docs/grub.texi: Likewise. 2013-10-09 Vladimir Testov * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak. 2013-10-09 Vladimir Serbinenko Move OS-dependent file definitions to include/grub/osdep/hostfile*.h. 2013-10-09 Vladimir Serbinenko * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition): Removed. * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition): Made static. 2013-10-09 Vladimir Serbinenko * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove leftover. 2013-10-09 Vladimir Serbinenko Move OS-specific driver configuration to grub_util_fd_open. This moves OS-dependent parts from kern/emu/hostdisk.c to grub-core/osdep/*/hostdisk.c. 2013-10-09 Vladimir Serbinenko * util/grub-mkimage.c (generate_image): Use size_t instead of grub_size_t. * util/grub-mkimagexx.c (locate_sections): Likewise. (load_image): Likewise. 2013-10-09 Vladimir Serbinenko * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for size_t. (grub_util_write_image): Likewise. 2013-10-08 Vladimir Serbinenko * grub-core/osdep/basic/random.c: New file. Abort on an attempt to get random when no RNG is available. * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist. 2013-10-08 Vladimir Serbinenko * include/grub/util/lvm.h: Removed. 2013-10-08 Vladimir Serbinenko * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ... * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here. 2013-10-08 Vladimir Serbinenko * grub-core/osdep/windows/sleep.c: Add missing config.h. 2013-10-08 Vladimir Serbinenko * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover). 2013-10-08 Vladimir Serbinenko * grub-core/net/drivers/emu/emunet.c: Move to .. * grub-core/osdep/linux/emunet.c: ..here. 2013-10-08 Vladimir Serbinenko * util/ieee1275/ofpath.c: Move to ... * grub-core/osdep/linux/ofpath.c: ..here, split stub into ... * grub-core/osdep/basic/ofpath.c: ..here. 2013-10-08 Vladimir Serbinenko Move password-querying (util-version) routines to grub-core/osdep. 2013-10-08 Vladimir Serbinenko Move sleep routines to grub-core/osdep. 2013-10-08 Vladimir Serbinenko Move OS-dependent files to grub-core/osdep and document it. 2013-10-08 Vladimir Serbinenko * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ... * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here. 2013-10-08 Vladimir Serbinenko * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB. 2013-10-08 Vladimir Serbinenko * util/misc.c: Remove leftover inclusion of malloc.h. 2013-10-08 Vladimir Serbinenko * include/grub/setjmp.h: Remove leftover GRUBOF. 2013-10-08 Vladimir Serbinenko * util/raid.c: Fold into ... * util/getroot_linux.c: ... here. Make all functions static. 2013-10-08 Vladimir Serbinenko * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width macros to GRUB ones. 2013-10-08 Vladimir Testov * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare occasional bug. If there are too many boot entries or too low scrollbar height then we need to use another formula to calculate the position and size of the scrollbar thumb. 2013-10-08 Vladimir Serbinenko * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list. 2013-10-08 Vladimir Testov * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`. * docs/grub.texi: Likewise. 2013-10-08 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate viewport. 2013-10-08 Vladimir Testov * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected minimal width calculations. 2013-10-07 Vladimir Serbinenko * docs/grub.texi: Update note on colors on emu console. 2013-10-07 Vladimir Serbinenko * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as it's FS and not GRUB limitation. 2013-10-07 Vladimir Serbinenko * grub-core/kern/arm/efi/startup.S: Remove thumb leftover. 2013-10-07 Vladimir Serbinenko * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion. 2013-10-04 Samuel Thibault * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach kernels by version order. 2013-10-04 Vladimir Serbinenko * util/random_unix.c: Add kFreeBSD to the list of secure RNG. 2013-10-04 Vladimir Serbinenko Add AROS hostdisk and getroot routines. 2013-10-04 Vladimir Serbinenko Make cryptodisk and diskfilter probe data retrievable programmatically and not just printable. 2013-10-04 Vladimir Serbinenko Split random retrieving code into separate files. 2013-10-03 Vladimir Serbinenko * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore R_ARM_V4BX. 2013-10-03 Vladimir Serbinenko * grub-core/tests/video_checksum.c: Increase robustness to out of memory condition. * grub-core/tests/fake_input.c: Likewise. * grub-core/tests/cmdline_cat_test.c: Likewise. 2013-10-03 Vladimir Serbinenko * grub-core/video/capture.c: Do not do finalization when .fini is called as there is explicit capture_end. 2013-10-03 Vladimir Serbinenko * grub-core/term/gfxterm.c: Add flag "functional" to skip input when changing windows to avoid crash. 2013-10-03 Vladimir Serbinenko * grub-core/kern/arm/cache.c: Add v5 write-through cache support. 2013-10-03 Vladimir Serbinenko * po/exclude.pot: Add several strings to exclude. 2013-10-03 Vladimir Serbinenko * tests/gettext_strings_test.in: Add getroot_*.c to exclude list. 2013-10-03 Vladimir Serbinenko * autogen.sh: Add ./util/grub-gen-widthspec.c and ./util/grub-gen-asciih.c to exclude list. 2013-10-03 Vladimir Serbinenko * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak and don't mark error strings for translation. 2013-10-03 Vladimir Serbinenko * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error properly in case of missing block size. 2013-10-03 Vladimir Serbinenko * grub-core/lib/arm/setjmp.S: Add missing license section. 2013-10-03 Vladimir Serbinenko * po/swiss.sed: Add replacement for key names and for term computer. 2013-10-02 Vladimir Testov * grub-core/gfxmenu/theme_loader.c: New global options for the theme background image handling. desktop-image-scale-method, desktop-image-h-align, desktop-image-v-align. * grub-core/gfxmenu/view.c: Likewise. * include/gfxmenu_view.h: Likewise. * include/bitmap_scale.h: Proportional scale functions introduced. * grub-core/video/bitmap_scale.c: Likewise. Verification checks are put in a separate functions. GRUB_ERR_BUG is set for grub_error in cases of unexpected input variables for scale functions. * docs/grub.texi: Updated documentation for new options. 2013-10-02 Vladimir Serbinenko * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG. 2013-10-01 Vladimir Testov * grub-core/tests/checksums.h: Corrected due to changes in bilinear interpolation function. 2013-10-01 Vladimir Testov * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision to eliminate artefacts in bilinear interpolation. 2013-09-28 Vladimir Serbinenko * grub-core/video/readers/tga.c: Support paletted tga. 2013-09-28 Vladimir Serbinenko * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove incorrect cbcr setting when in color mode. 2013-09-28 Vladimir Serbinenko * grub-core/video/readers/png.c: Support paletted images and clean up greyscale support. 2013-09-28 Vladimir Serbinenko * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix usage of wrong table which resulted in mishandling of 4-byte sequences. 2013-09-28 Vladimir Serbinenko * grub-core/term/terminfo.c: Add Home and End key sequences. 2013-09-27 Vladimir Serbinenko * grub-core/video/readers/png.c (grub_png_decode_image_header): Fix formula for computing total number of bytes. 2013-09-27 Vladimir Serbinenko * grub-core/video/readers/tga.c: Reorganize to separate RLE and image processing, fix big-endian and support grayscale. 2013-09-27 Vladimir Serbinenko * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target): Correctly will with maximum transparency when using index color. 2013-09-27 Vladimir Serbinenko * grub-core/video/readers/png.c: Support grayscale 2013-09-27 Vladimir Serbinenko * grub-core/video/readers/jpeg.c: Support grayscale. 2013-09-26 Jon McCune * grub-core/commands/loadenv.c: Support skipping signature check and variable names filtering. 2013-09-24 Vladimir Serbinenko * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix. * grub-core/kern/emu/hostfs.c: Likewise. * util/getroot_unix.c: Likewise. 2013-09-24 Vladimir Serbinenko * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define. Migrate all explicit defines to this new one. 2013-09-24 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use grub_util_fd_strerror when using grub_util_fd_*. (grub_util_fd_open_device): Likewise. (grub_util_biosdisk_read): Likewise. (grub_util_biosdisk_write): Likewise. * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function. (grub_util_fd_strerror): Likewise. (grub_util_fd_sync): Likewise. (grub_util_fd_close): Likewise. * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise. (grub_util_fd_close): Likewise. (grub_util_fd_strerror): Likewise. * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real function proto rather than macro. (grub_util_fd_sync): Likewise. (grub_util_fd_open): Likewise. (grub_util_fd_strerror): New proto. 2013-09-24 Vladimir Serbinenko * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on platforms on which it doesn't work. 2013-09-24 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct stat immediately to where it's used. 2013-09-24 Vladimir Serbinenko * util/getroot.c (grub_util_check_block_device): Move to ... * util/getroot_unix.c (grub_util_check_block_device): ... here. * util/getroot.c (grub_util_check_char_device): Move to ... * util/getroot_unix.c (grub_util_check_char_device): ... here. 2013-09-24 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix disk closing logic. 2013-09-24 Andrey Borzenkov * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK. 2013-09-24 Andrey Borzenkov * docs/grub.texi (File name syntax): Document ZFS filenames (/volume@snapshot/...). 2013-09-23 Vladimir Serbinenko * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path): Always return full path. Fixes a problem with mkrelpath. 2013-09-23 Paulo Flabiano Smorigo * util/grub-install.in: Add GPT PReP support. * util/grub-probe.c (probe): Support GPT partition type. (main): Support -t gpt_parttype. 2013-09-23 Aleš Nesrsta * grub-core/bus/usb/ehci.c: SMI disabled in all cases 2013-09-23 Massimo Maggi * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist. 2013-09-23 Tim Hardeck * util/grub.d/10_hurd.in: Filter out character for the class. * util/grub.d/10_kfreebsd.in: Likewise. * util/grub.d/10_linux.in: Likewise. * util/grub.d/20_linux_xen.in: Likewise. 2013-09-23 Melki Christian * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of "changed". 2013-09-23 Josh Triplett * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the boot partition. 2013-09-23 Vladimir Serbinenko * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib doesn't use posix_wrap. Keep literal -fno-builtin however. 2013-09-23 Vladimir Serbinenko * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover. 2013-09-23 Vladimir Serbinenko 2013-09-23 neil * configure.ac: Do not enable -Wmissing-noreturn as its usefulness is limited and creates problems on some OS notably with code generated by bison. 2013-09-23 Vladimir Serbinenko 2013-09-23 neil * configure.ac: Do not explicitly enable -Waddress as it's not supported by all gcc and when it is, it's already enabled by -Wall. 2013-09-23 Vladimir Serbinenko * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which desactivated use of EDID at all. 2013-09-23 Vladimir Serbinenko 2013-09-23 neil * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use video if no text is available. 2013-09-23 Vladimir Serbinenko 2013-09-23 neil * configure.ac: Substitute TARGET_RANLIB. 2013-09-23 Vladimir Serbinenko 2013-09-23 neil * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes. Based on patches from AROS. 2013-09-23 Vladimir Serbinenko 2013-09-23 neil * grub-core/Makefile.am: Override STRIP and RANLIB. * configure.ac: compute TARGET_RANLIB. * INSTALL: Document TARGET_RANLIB Based on patches from AROS. 2013-09-23 Vladimir Serbinenko * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume that floppies are unpartitioned. 2013-09-23 Vladimir Serbinenko * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]: Define dummy grub_util_pull_lvm_by_command to decrease number of #if's. 2013-09-23 Vladimir Serbinenko * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's less nice but more portable. * grub-core/lib/posix_wrap/wchar.h: Likewise. 2013-09-23 Vladimir Serbinenko * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t for cheat_fd. * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_* functions. (grub_cryptodisk_cheat_insert): Likewise. (grub_cryptodisk_close): Likewise. 2013-09-23 Vladimir Serbinenko * include/grub/emu/misc.h: Remove leftover cygwin definitions. Use windows path for DEFAULT_DIRECTORY. 2013-09-23 Vladimir Serbinenko * include/grub/i386/setjmp.h: Remove useless #if MINGW where original difference was likely just gcc version, not anything mingw-related. 2013-09-23 Vladimir Serbinenko Use Winapi on both cygwin and mingw32 to share more code between both. 2013-09-22 Andrey Borzenkov * util/grub-install.in: Add --grub-editenv option. * util/grub-install_header (grub_compress_file): Explicitly check for plain file to avoid cp error. 2013-09-22 Andrey Borzenkov * docs/grub.texi (Device syntax): Document new LVM UUID based device names; fix LVM driver name (lvm, not lv). * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device names. 2013-09-22 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific files rather than one file with loads of #if's. * util/getroot.c: Likewise. 2013-09-22 Vladimir Serbinenko * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD. 2013-09-22 Vladimir Serbinenko * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and GNU/Hurd to the list of checked PRNG. 2013-09-22 Vladimir Serbinenko * configure.ac: On FreeBSD use -melf_*_fbsd format. 2013-09-21 Ales Nesrsta * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.) 2013-09-20 Vladimir Serbinenko * grub-core/disk/diskfilter.c: Handle non-md UUIDs. * grub-core/disk/lvm.c: Add LVM UUIDs. * util/getroot.c: Use LVM UUIDs whenever possible. 2013-09-19 Andrey Borzenkov * docs/grub.texi (Networking commands): Add documentation for network related commands. 2013-09-19 Vladimir Serbinenko * util/getroot.c (grub_util_open_dm): Check major rather than the name to determine if device is handled by devmapper. (convert_system_partition_to_system_disk): Likewise. (get_dm_uuid): Don't check explicitly if device is mapped, it's already done in grub_util_open_dm. 2013-09-19 Leif Lindholm * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables. Clean up stack manipulation (sync_caches_armv*) 2013-09-19 Vladimir Serbinenko * util/lvm.c: Remove since unused. Remove remaining references. 2013-09-19 Vladimir Serbinenko Handle the case of partitioned LVM properly. * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info): Stop on meeting LVM, mpath or DMRAID. (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device. (read_device_map): Likewise. * util/getroot.c (convert_system_partition_to_system_disk): Assume that device is full disk rather than erroring out on LVM and similar cases. 2013-09-18 Vladimir Serbinenko * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any. 2013-09-18 Vladimir Serbinenko * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than 4K before the end. Reported by: Leif Lindholm 2013-09-18 Pawel Wojtalczyk 2013-09-18 Vladimir Serbinenko * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style codes. 2013-09-18 Colin Watson * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter): Remove no-longer-true __attribute__ ((unused)) on disk parameter. 2013-09-18 Douglas Ray * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG as secure. 2013-09-18 Aleš Nesrsta * docs/grub.texi: Fix broken link. 2013-09-18 Melki Christian * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition to break endless loop. 2013-08-23 Vladimir Serbinenko * util/grub-fstest.c: Fix several printf formats. * util/grub-mkimage.c: Likewise. * util/grub-mkimagexx.c: Likewise. * util/grub-script-check.c: Likewise. 2013-08-23 Vladimir Serbinenko * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause error. 2013-08-23 Vladimir Serbinenko * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS. 2013-08-23 Vladimir Serbinenko * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan removed in current versions cygwin_conv_*. 2013-08-23 Vladimir Serbinenko * configure.ac: Disable efiemu runtime on cygwin. 2013-08-23 Vladimir Serbinenko * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c, util/grub-gen-widthspec.c and util/grub-pe2elf.c. 2013-08-22 Vladimir Serbinenko * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous error message. 2013-08-22 Vladimir Serbinenko * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add windows variant. * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random data. 2013-08-22 Vladimir Serbinenko * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically when on x86 and not cygwin. * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and -Wl,-melf_x86_64. 2013-08-22 Vladimir Serbinenko * configure.ac: Set CPP to build one when checkoing for freetype for build. 2013-08-22 Vladimir Serbinenko * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state. [!GRUB_BUILD]: Remove has_argument. 2013-08-22 Vladimir Serbinenko * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]: Replace with a dummy. 2013-08-22 Vladimir Serbinenko * configure.ac: Don't change host_os from mingw to cygwin. 2013-08-22 Vladimir Serbinenko * configure.ac: Change target_os from windows to cygwin. 2013-08-22 Vladimir Serbinenko Handle grub-pe2elf and grub-mkfont for cases when build != host. * Makefile.am (build-grub-mkfont): Don't include gnulib. (build-grub-gen-asciih): Likewise. (build-grub-gen-widthspec): Likewise. * Makefile.util.def (grub-pe2elf): Remove. * config.h.in [GRUB_BUILD]: Use build rather than host constants. * configure.ac: Separate tests for build. Move ./build-grub-pe2elf to grub-core. Fix typo. * grub-core/Makefile.am (build-grub-pe2elf): New target. * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is defined. * include/grub/types.h [GRUB_BUILD]: Use build rather than host constants. * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp. * util/grub-pe2elf.c: Simplify not to rely on getopt. * util/misc.c (program_name) [GRUB_BUILD]: Define to static string. 2013-08-22 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for mingw32 as well based on grub_util_get_disk_size. * util/misc.c (grub_util_get_disk_size): Removed. all users switched to grub_util_get_fd_size. (sync): Removed. (fsync): Moved to ... * grub-core/kern/emu/misc.c (fsync): ... here. 2013-08-22 Vladimir Serbinenko * include/grub/mm.h (grub_extend_alloc): Remove. * grub-core/loader/i386/pc/plan9.c: Use own version of grub_extend_alloc with appropriate types. 2013-08-22 Vladimir Serbinenko * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls. 2013-08-22 Vladimir Serbinenko * util/getroot.c: Include sys/wait.h only when we need waitpid. 2013-08-22 Vladimir Serbinenko Fix dependencies on cygwin. * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to dependencies when used and defined. * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a. 2013-08-22 Vladimir Serbinenko * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac. * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac. 2013-08-22 Vladimir Serbinenko * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no implementation available to cause compile-time rather than runtime error. 2013-08-22 Vladimir Serbinenko * util/grub-fstest.c: Don't check for symlinks on windows. 2013-08-22 Vladimir Serbinenko * INSTALL: Mention unavailability of man pages when cross-compiling. 2013-08-22 Vladimir Serbinenko * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf and gcry_log_bug. * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h 2013-08-21 Vladimir Serbinenko * INSTALL: Document cross-compilation. * acinclude.m4: Determine whether nm support -P and --defined-only. * configure.ac: Add TARGET_ to all variables pertaining to target that don't have it yet. * gentpl.py: Likewise. * grub-core/Makefile.am: Likewise. * grub-core/genmod.sh.in: Likewise. * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm as well. 2013-08-21 Ilya Bakulin * configure.ac: Remove -Wempty-body. It's not essential and needs recent gcc. 2013-08-21 Ilya Bakulin * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD. * util/getroot.c: Likewise. 2013-08-21 Vladimir Serbinenko * grub-core/disk/ahci.c: Add needed explicit cast. * grub-core/lib/backtrace.c: Likewise. * grub-core/net/ip.c: Likewise. * grub-core/net/tcp.c: Likewise. * grub-core/net/udp.c: Likewise. 2013-08-21 Vladimir Serbinenko * grub-core/lib/posix_wrap/wchar.h: Fix typo. 2013-08-21 Vladimir Serbinenko * util/import_gcry.py: Add final newline in visibility.h. 2013-08-21 Vladimir Serbinenko * conf/Makefile.common: Fix typo. 2013-08-21 Vladimir Serbinenko * Makefile.util.def (grub-mkfont): Add missing libgnu.a. 2013-08-21 Vladimir Serbinenko * Makefile.am (widthspec.h): Fix typo. * util/grub-gen-widthspec.c: Likewise. 2013-08-21 Vladimir Serbinenko Move ascii.h and widthspec.h generation to a separate build-time-only tool. 2013-08-16 Grégoire Sutre * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge): Always fill bootdisk info and improve check for NetBSD disklabel. 2013-08-16 Vladimir Serbinenko * conf/Makefile.extra-dist: Add util/bin2h.c. Reported by: floppym. 2013-08-16 Vladimir Serbinenko * configure.ac: Make unifont mandatory for powerpc-ieee1275. 2013-08-16 Vladimir Serbinenko * configure.ac: Disable unifont and starfield if no freetype was found. 2013-08-16 Vladimir Serbinenko * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict on NetBSD and OpenBSD. 2013-08-15 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed. 2013-08-15 Vladimir Testov * grub-core/gfxmenu/gui_list.c: The number of color mappings is reduced. Inheritant options are processed during the theme loading. 2013-08-15 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Minimal width fixed. 2013-08-14 Avik Sil * grub-core/net/tftp.c: Send tftp ack packet before closing the socket. 2013-08-14 Avik Sil * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when using qemu. 2013-08-14 Paulo Flabiano Smorigo * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and remove-potcdate.sed. 2013-08-14 Andrey Borzenkov * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove unused attribute from pull argument. 2013-08-14 Andrey Borzenkov * util/getroot.c (grub_util_is_imsm): Fix descriptor and memory leak. 2013-08-14 Andrey Borzenkov * util/getroot.c (pull_lvm_by_command): add --separator option to vgs call to disable padding of output to 10 characters. 2013-08-14 Vladimir Serbinenko * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from here ... * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to here. 2013-08-14 Vladimir Serbinenko * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path length. 2013-08-14 Vladimir Serbinenko Fix handling of build-time grub-bin2h and grub-mkfont when doing full Canadian cross. Tested with build=x86_64, host=arm, target=ppc-ieee1275. 2013-08-14 Vladimir Serbinenko * configure.ac: Error if no $BUILD_CC could be found. Reported by: DevHC. 2013-08-14 Vladimir Serbinenko * grub-core/kern/i386/coreboot/init.c: Fix compilation on i386-multiboot. 2013-08-14 Vladimir Serbinenko * grub-core/kern/vga_init.c: Fix compilation on qemu-mips. * grub-core/kern/mips/qemu_mips/init.c: Likewise. 2013-08-13 Colin Watson * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by falling back to the partition device, otherwise a later call to this function may fail spuriously. Reported by Axel Beckert. Fixes Debian bug #708614. 2013-08-12 Grégoire Sutre * autogen.sh: Replace find -not by the POSIX-compliant find !. 2013-08-12 Grégoire Sutre Prevent shadowing of stdlib's devname(3) on BSD. * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname and devlast to diskname and disklast, respectively. 2013-08-11 Colin Watson * util/grub-mkconfig.in: Fix detection of Emacs autosave files. 2013-08-08 Vladimir Testov * docs/grub.texi: Introduce terminal window position options: terminal-left: terminal window's left position terminal-top: terminal window's top position terminal-width: terminal window's width terminal-height: terminal window's height terminal-border: terminal window's border width * grub-core/gfxmenu/theme-loader.c: Likewise. * include/grub/gfxmenu_view.h: Likewise. * po/exlude.pot: Likewise. * grub-core/gfxmenu/view.c: Likewise. Also updated minimal window size. Also terminal_sanity_check function has been introduced. * grub-core/tests/checksums.h: Update (terminal window height is adjusted now for low resolution screen) 2013-08-02 Vladimir Serbinenko * grub-core/tests/checksums.h: Update (1-pixel difference in marker position). 2013-08-02 Vladimir Serbinenko * po/exclude.pot: Add few recent exceptions. 2013-08-02 Vladimir Serbinenko * tests/grub_func_test.in: Add unicode.pf2. 2013-08-02 Vladimir Serbinenko * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with standard rather than noral color, in line with other terminals. 2013-08-02 Vladimir Serbinenko * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext analysis. 2013-08-02 Vladimir Serbinenko * grub-core/loader/arm/linux.c: Change printf to dprintf. 2013-08-02 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove inappropriate printf. 2013-07-25 Andrey Borzenkov * .bzrignore: Remove grub-core/lib/dtc-grub, grub-core/Makefile.libfdt.def * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def. 2013-07-25 Vladimir Serbinenko * include/grub/video.h (grub_video_register): Keep double-linked as well as single-linked invariants. Reported by: qwertial. 2013-07-25 Vladimir Serbinenko * grub-core/commands/nativedisk.c (get_uuid): Handle GRUB_DISK_DEVICE_UBOOTDISK_ID. 2013-07-25 Vladimir Testov * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes maximum of NW, N, NE heights instead of N's height and maximum of NW, W, SW widths instead of W's width. (So the box will be always correctly drawn) 2013-07-20 Grégoire Sutre * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate): Fix misuse of variable count. 2013-07-18 Leif Lindholm 2013-07-18 Francesco Lavra 2013-07-18 Vladimir Serbinenko New ports to arm-uboot and arm-efi. Mostly by Leif Lindholm with some additions from Francesco Lavra and cleanup by Vladimir Serbinenko. 2013-07-16 Vladimir Serbinenko * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation and not before. Reported by: Leon Drugi. 2013-07-16 Vladimir Serbinenko * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss. Reported by: Paulo Flabiano Smorigo. 2013-07-14 Vladimir Testov * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings. 2013-07-14 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Fix height calculation. 2013-07-14 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c: Stylistic fixes. 2013-07-14 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c: Run emacs indent on file. 2013-07-14 Andrey Borzenkov * grub-core/net/bootp.c: Export net_* variables. * grub-core/net/net.c: Likewise. 2013-07-14 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c: Remove brackets around return value. 2013-07-14 Vladimir Serbinenko * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute. 2013-07-14 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast. 2013-07-14 Vladimir Serbinenko * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword. 2013-07-14 Massimo Maggi * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size <= 0. 2013-07-14 Massimo Maggi * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate functions. 2013-07-14 Massimo Maggi * grub-core/fs/zfs/zfs_lz4.c: New file. * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression. 2013-07-14 Massimo Maggi * grub-core/fs/zfs/zfs.c: Check for feature compatibility. 2013-07-14 Massimo Maggi * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000. (check_pool_label): Likewise. * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros. 2013-07-14 Massimo Maggi * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting. 2013-07-13 Andrey Borzenkov * docs/grub.texi (Commands): Document postition parameters for menuentry command. 2013-07-13 Andrey Borzenkov * util/grub-mknetdir.in: Remove stray line from help output. 2013-07-11 Vladimir Serbinenko Remove early sm712 init as there is no reason for it (the "watchdog" effect was due to wrong GPIO map). 2013-07-11 Vladimir Serbinenko * grub-core/commands/pcidump.c: Remove static variables. 2013-07-11 Vladimir Serbinenko * grub-core/commands/sleep.c: Refresh screen before sleeping. 2013-07-11 Vladimir Serbinenko * configure.ac: Move delimiter after the infos. 2013-07-11 Vladimir Serbinenko * grub-core/bus/usb/usbhub.c: Fix recheck logic. 2013-07-11 Vladimir Serbinenko * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs not filling whole 8x16 space. 2013-07-11 Vladimir Serbinenko * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning. 2013-07-11 Vladimir Serbinenko * configure.ac: Indicate which liblzma is used if any. 2013-06-21 Paul Wise 2013-06-21 Craig Sanders * util/grub-reboot.in: Document submenu usage. 2013-06-25 Colin Watson * .bzrignore: Update with a number of new test-related files. 2013-06-25 Colin Watson * util/grub-script-check.c: Fail on scripts containing no commands, to guard against corrupted grub-mkconfig setups that produce no useful output. * tests/grub_script_no_commands.in: New test. * Makefile.util.def (grub_script_no_commands): Add. Reported by Hans Putter. Fixes Debian bug #713886. 2013-06-16 Andrey Borzenkov * grub-core/disk/diskfilter.c: Forgot to remove comment from previous commit. 2013-06-16 Andrey Borzenkov * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR. 2013-06-16 Andrey Borzenkov * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c. 2013-06-16 Andrey Borzenkov * grub-core/disk/diskfilter.c (scan_devices): Iteratively rescan diskfilter devices until nothing new is found. 2013-06-16 Vladimir Serbinenko Fix casts when compiling coreboot-specific code for 64-bit EFI. 2013-06-16 Vladimir Serbinenko Don't try to detect cbfs on *-emu. 2013-06-16 Vladimir Serbinenko * grub-core/term/gfxterm.c: USe right background color when scrolling. 2013-06-16 Vladimir Serbinenko Add support for processed coreboot payload chainloading. 2013-06-16 Vladimir Serbinenko Enable coreboot information commands even when not loaded as coreboot payload (e.g. when loaded from SeaBIOS-as-payload). 2013-06-15 Vladimir Serbinenko Support for cbfs. Also factor out the part which is common for all archives to a separate module. This splits tar from cpio as they are very different but keeps cpio, cpio_be, odc and newc together since they're very similar. 2013-06-15 David Michael * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS. (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE. 2013-06-15 Vladimir Serbinenko * tests/grub_script_eval.in: Really add the eval test. 2013-06-14 Vladimir Serbinenko Move flavour-specific parts out of common cpio.c file and rename remaining to cpio_common.c 2013-06-07 Andrey Borzenkov * grub-core/script/execute.c (grub_script_execute_sourcecode): Split off new function grub_script_execute_new_scope. Change callers to use either of them as appropriate. * grub-core/commands/eval.c: New command eval. * docs/grub.texi (Commands): Document it. 2013-06-07 Andrey Borzenkov * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get to fetch values when listing. 2013-06-07 Andrey Borzenkov Fix make dist on non-pc. 2013-06-07 Francesco Lavra * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths without a device name. 2013-06-07 Vladimir Serbinenko Remove enable_executable_check as it's not needed anymore. Reported by: dougray. 2013-06-07 Vladimir Serbinenko * grub-core/disk/diskfilter.c (insert_array): Fix order to discover ambigouos RAID before discovering RAIDs on top of it. Reported by: bodom. 2013-06-07 Vladimir Serbinenko Fix typo (failback vs fallback). 2013-05-31 Andrey Borzenkov * util/grub.d/30_os-prober.in: Add support for probing EFI System Partition (as of os-prober 1.58). 2013-05-31 Vladimir Serbinenko * configure.ac: Add yet another path to unifont. For parabola. 2013-05-30 Josh Triplett * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u handling to copy the killed characters to the kill buffer as UCS4 stored as grub_uint32_t rather than as 8-bit characters stored as char. Eliminates UCS4 truncation and corruption observed when killing characters with Ctrl-u and yanking them back with Ctrl-y. 2013-05-30 Vladimir Serbinenko Detach optional parts of gfxterm and integrate in with coreboot init. 2013-05-30 Vladimir Serbinenko Move blit and fill dispatcher to appropriate files to decrease export and relocation overhead. 2013-05-30 Vladimir Serbinenko * grub-core/font/font.c, include/grub/font.h: Inline simple font functions. 2013-05-30 Vladimir Serbinenko * grub-core/Makefile.am: Fix compilation problem with some automake versions. 2013-05-30 Vladimir Serbinenko * configure.ac: Add Ubuntu path to unifont and report unifont path used. 2013-05-30 Vladimir Serbinenko * Makefile.am, conf/Makefile.common: Fix compilation problem with some automake versions. 2013-05-30 Vladimir Serbinenko * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of SSDT. 2013-05-15 Radosław Szymczyszyn * grub-core/partmap/dfly.c: New partition map. 2013-05-15 Vladimir Serbinenko * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path checking. Reported by: Francesco Lavra. 2013-05-14 Andrey Borzenkov * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or dist__DATA. EXTRA_DIST is ignored by automake inside false conditions. * conf/Makefile.common: define dist_grubconf_DATA 2013-05-14 Vladimir Serbinenko Progressively skip menu elements on small terminals rather than crashing. 2013-05-14 Vladimir Serbinenko * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error to avoid losing last column. 2013-05-14 Vladimir Serbinenko * po/exclude.pot: Add missing string "%C". 2013-05-14 Vladimir Serbinenko * tests/util/grub-shell.in: Remove the temporary directory on grub-emu after the test. 2013-05-11 Vladimir Serbinenko * util/grub-install.in: Gettextize "Not found" message. 2013-05-11 Vladimir Serbinenko Fix distfiles list. Reported by: Andrey Borzenkov 2013-05-11 Paulo Flabiano Smorigo * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card present. * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD. 2013-05-11 Vladimir Serbinenko * grub-core/tests/setjmp_test.c: Ignore missing noreturn. 2013-05-11 Vladimir Serbinenko * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed attribute since structure is not necessarily aligned. 2013-05-11 Andrey Borzenkov * docs/grub.texi (Device syntax): Clarify description of network drives. 2013-05-10 Vladimir Serbinenko Redirect xasprintf to grub_xvasprintf rather than having #ifdef's for vasprintf presence. 2013-05-10 Vladimir Serbinenko * util/grub-install.in: Handle efibootmgr presence check. Reported by: Leif Lindholm. 2013-05-10 Vladimir Serbinenko * grub-core/commands/testspeed.c: Reuse formatting string to decrease new strings to translate. 2013-05-10 Vladimir Serbinenko * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding yet another string (pun intended) to translate. 2013-05-10 Vladimir Serbinenko * po/POTFILES-shell.in: Autogenerate it. 2013-05-10 Vladimir Serbinenko * grub-core/net/net.c (grub_net_open_real): Autoload network modules. 2013-05-10 Vladimir Serbinenko * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid misnomer. 2013-05-08 Andrey Borzenkov * docs/grub.texi (Network): Add description of net_default_interface, net_default_ip and net_default_mac. Rewrite variables description to emphasize that they are per-interface. 2013-05-08 Vladimir Serbinenko New test: cmdline and cat. 2013-05-08 Vladimir Serbinenko * grub-core/commands/cat.c: Show UTF-8 characters. 2013-05-08 Vladimir Serbinenko * conf/Makefile.common: Poison float and double on non-emu. 2013-05-08 Vladimir Serbinenko * configure.ac: Don't disable extended registers on emu. 2013-05-07 Vladimir Serbinenko * configure.ac: Don't use extended registers on x86_64. Reported by: Peter Jones. 2013-05-07 Vladimir Serbinenko * grub-core/term/efi/console.c: Fix compile error. 2013-05-07 Vladimir Serbinenko Compressed HFS+ support. 2013-05-07 Vladimir Serbinenko * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed pixel". 2013-05-07 Vladimir Serbinenko Menu color test. 2013-05-07 Vladimir Serbinenko * grub-core/tests/setjmp_test.c: New test. 2013-05-07 Vladimir Serbinenko New variables 'net_default_*' to determine MAC/IP of default interface. 2013-05-07 Vladimir Serbinenko * tests/gettext_strings_test.in: A test to check for strings not marked for translation. 2013-05-07 Vladimir Serbinenko * autogen.sh: Exclude unused libgcrypt files from translation. 2013-05-07 Vladimir Serbinenko Simplify few strings. 2013-05-07 Vladimir Serbinenko Mark few forgotten strings for translation. 2013-05-07 Vladimir Serbinenko * grub-core/loader/linux.c: Use grub_dprintf for debug statements rather than printf. 2013-05-07 Vladimir Serbinenko * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements rather than printf. * grub-core/video/readers/tga.c: Likewise. 2013-05-07 Vladimir Serbinenko * tests/priority_queue_unit_test.cc: New test. 2013-05-07 Vladimir Serbinenko * grub-core/font/font.c: Use grub_dprintf for debug statements rather than printf. 2013-05-06 Andrey Borzenkov Reimplement grub-reboot to not depend on saved_entry. Use next_entry variable for one time boot menu entry. 2013-05-05 Bean * grub-core/commands/testspeed.c: New command testspeed. 2013-05-05 Vladimir Serbinenko Factor-out human-size printing. 2013-05-04 Vladimir Serbinenko Agglomerate more mallocs to speed-up gfxterm. 2013-05-04 Vladimir Serbinenko Speed-up gfxterm by slightly agglomerating mallocs. 2013-05-04 Vladimir Serbinenko More video checks. 2013-05-04 Vladimir Serbinenko Speed-up gfxterm by saving intermediate results in index+alpha format. 2013-05-04 Vladimir Serbinenko * grub-core/tests/lib/functional_test.c: Don't stop on first failed test. 2013-05-04 Vladimir Serbinenko * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second line of timeout as it may contain the rest of long line. 2013-05-04 Vladimir Serbinenko * grub-core/normal/main.c: Fix freed memory dereference. 2013-05-04 Vladimir Serbinenko Fix several memory leaks. 2013-05-04 Vladimir Serbinenko * grub-core/normal/menu.c (run_menu): Fix timeout reference point. 2013-05-04 Vladimir Serbinenko * grub-core/gettext/gettext.c: Try $lang.gmo as well. 2013-05-04 Vladimir Serbinenko Fix test -a and -o precedence. Reported by: adrian15. 2013-05-04 Vladimir Serbinenko * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak. 2013-05-03 Andrey Borzenkov Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h and add it as source to functional_test module. 2013-05-03 Vladimir Serbinenko * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE. 2013-05-03 Vladimir Serbinenko New series of tests for gfxterm and gfxmenu. 2013-05-03 Vladimir Serbinenko * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying the theme path relative to $prefix/themes. 2013-05-03 Vladimir Serbinenko * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888): Fix order bug. (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise. 2013-05-03 Vladimir Serbinenko * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb descriptor. 2013-05-03 Vladimir Serbinenko * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear grub_gfxmenu_timeout_notifications. (grub_gfxmenu_view_destroy): Likewise. 2013-05-03 Vladimir Serbinenko * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run. 2013-05-02 Vladimir Serbinenko Several fixes to ieee1275 and big-endian video. 2013-05-02 Vladimir Serbinenko Add missing exports on mips. 2013-05-02 Vladimir Serbinenko * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out if no unifont is found. Restore original keyboard. 2013-05-02 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids. 2013-05-02 Vladimir Serbinenko First automated video test (running videotest and comparing results) 2013-05-02 Vladimir Serbinenko * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares instead of 2 to have full RGB/CMY test pattern. 2013-04-30 Vladimir Serbinenko Add few more tests. 2013-04-30 Vladimir Serbinenko * include/grub/arc/arc.h: Account for missing "other" peripheral on ARCS. All users updated. 2013-04-30 Vladimir Serbinenko * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E. 2013-04-30 Vladimir Serbinenko * grub-core/partmap/amiga.c: Fix size of checksummed block. 2013-04-29 Vladimir Serbinenko * configure.ac: Use -mcmodel=large on x86_64-emu as well. Reported by: qwertial. 2013-04-29 Vladimir Testov * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees with syntax "XXX deg"/"XXX °". 2013-04-29 Vladimir Serbinenko Make PCI init in i386-qemu port more robust. 2013-04-29 Vladimir Testov * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when cached view is reused. * grub-core/gfxmenu/view.c: Call the refresh procedure for all open boot menus. 2013-04-29 Vladimir Serbinenko Unify more code in grub-install_header. 2013-04-29 Vladimir Serbinenko Add few new tests. 2013-04-29 Vladimir Serbinenko Enforce disabling of firmware disk drivers when native drivers kick in. 2013-04-29 Vladimir Serbinenko * grub-core/commands/nativedisk.c: Customize the list of modules on platform. Don't try to search for disks already using native drivers. 2013-04-29 Vladimir Serbinenko * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI platforms. 2013-04-29 Vladimir Serbinenko * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix handling of variables containing backslash. 2013-04-29 Vladimir Serbinenko * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer dereference. Reported by: qwertial. 2013-04-29 Vladimir Serbinenko * grub-core/kern/mips/arc/init.c: Fix prefix detection. 2013-04-29 Vladimir Serbinenko * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer dereference. Reported by: qwertial. 2013-04-28 Vladimir Serbinenko * docs/grub.texi: Add a comment about usefullness of nativedisk. 2013-04-28 Vladimir Serbinenko * grub-core/commands/nativedisk.c: Ignore unknown filesystem error. 2013-04-28 Vladimir Serbinenko New command `nativedisk'. 2013-04-28 Vladimir Serbinenko * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY. * grub-core/loader/i386/bsd.c: Likewise. 2013-04-28 Vladimir Serbinenko * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings). 2013-04-28 Vladimir Serbinenko * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use grub_get_unaligned16 rather than shifts. 2013-04-28 Vladimir Serbinenko * grub-core/kern/file.c: Use const char * rather than casting to non-const. 2013-04-28 Vladimir Serbinenko * grub-core/commands/probe.c: Add missing grub_device_close. 2013-04-28 Vladimir Serbinenko * INSTALL: Document linguas.sh. 2013-04-28 Vladimir Serbinenko Remove POTFILES.in and regenerate it in autogen.sh. 2013-04-28 Vladimir Serbinenko Move --directory/--override-directorry to grub-install_header and unify. 2013-04-28 Vladimir Serbinenko * grub-core/term/morse.c: Macroify dih and dah. 2013-04-27 Paulo Flabiano Smorigo * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned. 2013-04-27 Vladimir Serbinenko * grub-core/term/ns8250.c: Systematically probe ports by writing to SR before using them. 2013-04-27 Paulo Flabiano Smorigo * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas disks. (check_sas): Get sas_adress info. 2013-04-27 Vladimir Serbinenko * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty ports. 2013-04-27 Leon Drugi * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in BSS clearing. 2013-04-27 Vladimir Serbinenko Core compression test. 2013-04-27 Vladimir Serbinenko Implement grub_machine_get_bootlocation for ARC. 2013-04-27 Vladimir Serbinenko Improve AHCI detection and command issuing. 2013-04-26 Vladimir Serbinenko Fix pseries test. 2013-04-26 Vladimir Serbinenko Make 'make check' work on emu. 2013-04-26 Vladimir Serbinenko Replace libcurses with our own vt100 handling for the ease of testing and decreasing prerequisites. 2013-04-26 Vladimir Serbinenko * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources. 2013-04-26 Vladimir Serbinenko * util/getroot.c (exec_pipe): Put proper #if's so that its users don't compile when not needed. 2013-04-26 Vladimir Serbinenko * tests/pseries_test.in: New test. 2013-04-26 Vladimir Serbinenko Add test to check that different boot mediums work. 2013-04-26 Vladimir Serbinenko * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to ofw limited ISO support. 2013-04-26 Vladimir Serbinenko * configure.ac: Fix loongson conditional. 2013-04-25 Vladimir Serbinenko Enable mipsel-arc. 2013-04-25 Vladimir Serbinenko Add serial on ARC platform. 2013-04-25 Vladimir Serbinenko * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous commit. 2013-04-25 Vladimir Serbinenko * tests/partmap_test.in: Add missing double semicolon. 2013-04-25 Vladimir Serbinenko * util/grub-mkrescue.in: Fix loongson filename. 2013-04-25 Vladimir Serbinenko * util/grub-mkrescue.in: Move all files that don't have a location set in stone under /boot/grub. Use ISO hard links rather than copies to save some space. 2013-04-24 Vladimir Serbinenko * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore bogus SLOF values. 2013-04-24 Vladimir Serbinenko Make check work on mips-arc. 2013-04-24 Vladimir Serbinenko * util/grub-mkrescue.in: Alias sashARCS as sash. 2013-04-24 Vladimir Serbinenko * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if it's serial. 2013-04-24 Vladimir Serbinenko * util/grub-install.in: Fix target fo qemu_mips. Fix extension on EFI. 2013-04-24 Vladimir Serbinenko * grub-core/normal/menu_text.c (print_entry): Put an asterisk in front of chosen entry to mark it even if highlighting is lost. 2013-04-24 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_linux_boot): Default to gfxpayload=keep if cbfb is active. 2013-04-24 Vladimir Serbinenko * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly. 2013-04-24 Vladimir Serbinenko Add missing video ids to coreboot and ieee1275 video. 2013-04-24 Vladimir Serbinenko * util/grub-mkrescue.in: Add mips-arc support. 2013-04-24 Vladimir Serbinenko * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure. 2013-04-24 Vladimir Serbinenko Move mips-arc link address. Previous link address was chosen in belief that RAM on SGI platforms grows down while in fact it grows up from an unusual base. 2013-04-21 Vladimir Serbinenko * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter): Fix a type which prevented CD-ROM and floppy boot. 2013-04-21 Vladimir Serbinenko Support coreboot framebuffer. * grub-core/video/i386/coreboot/cbfb.c: New file. 2013-04-20 Vladimir Serbinenko * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for detecting too small regions. 2013-04-20 Vladimir Serbinenko * grub-core/Makefile.core.def (legacycfg): Enable on EFI. 2013-04-20 Vladimir Serbinenko * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region): Remove dprintf. * grub-core/lib/relocator.c (malloc_in_range): Likewise. 2013-04-19 Vladimir Serbinenko * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling of GRUB_IEEE1275_FLAG_FORCE_CLAIM. * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM. 2013-04-19 Vladimir Serbinenko * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Look for /boot-rom as well as /rom/boot-rom. 2013-04-19 Vladimir Serbinenko * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error handling when creating text_layer failed. * grub-core/video/video.c (grub_video_create_render_target): Set result to 0 on error. (grub_video_delete_render_target): Do not dereference NULL. 2013-04-19 Vladimir Serbinenko * grub-core/kern/elfXX.c (grub_elfXX_load): Handle GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS. * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32), (grub_linux_load64): Mask out 2 high bits. 2013-04-19 Andrey Borzenkov * util/grub.d/30_os-prober.in: Add onstr to linux entries in one more place. 2013-04-19 Vladimir Serbinenko Add support for pseries and other bootinfo machines to grub-mkrescue. Tested by: Paulo Flabiano Smorigo. 2013-04-17 Vladimir Serbinenko * util/grub-mkrescue.in: Add GPT for EFI boot. 2013-04-17 Vladimir Serbinenko * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID. It improves performance in qemu. 2013-04-17 Vladimir Serbinenko * build-aux/snippet: Add missing gnulib files. 2013-04-16 Andrey Borzenkov * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size. 2013-04-16 Andrey Borzenkov * autogen.sh: Use "-f" in addition for "-h" when checking file presence. 2013-04-15 Vladimir Serbinenko 2013-04-15 Peter Jones * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500 sectors. Based on patch by Peter Jones. 2013-04-15 Vladimir Serbinenko Fix DMRAID partition handling. 2013-04-15 Vladimir Serbinenko * tests/grub_cmd_date.in: Skip on sparc64. 2013-04-15 Vladimir Serbinenko * tests/grub_script_expansion.in: Use fixed-string grep to skip over firmware error messages. 2013-04-15 Vladimir Serbinenko * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make source and destination differ. 2013-04-15 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device detection. 2013-04-14 Vladimir Serbinenko * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition match config-util.h to avoid warnings and increase compatibility. 2013-04-14 Szymon Janc 2013-04-14 Vladimir Serbinenko Add option to compress files on install/image creation. 2013-04-14 Vladimir Serbinenko * docs/grub-dev.texi: Rearrange menu to match the section order. Reported by: Bryan Hundven. 2013-04-14 Vladimir Serbinenko * grub-core/loader/i386/linux.c: Remove useless leftover pointer. 2013-04-14 Vladimir Serbinenko Move GRUB out of system area when using xorriso 1.2.9 or later. 2013-04-14 Vladimir Serbinenko * tests/grub_cmd_date.in: Add missing exit 1. 2013-04-14 Vladimir Serbinenko * tests/partmap_test.in: Skip on sparc64. 2013-04-14 Vladimir Serbinenko Support grub-shell on sparc64. 2013-04-14 Vladimir Serbinenko Support mkrescue on sparc64. 2013-04-14 Vladimir Serbinenko Allow IEEE1275 ports on path even if it wasn't detected automatically. Needed on OpenBIOS due to incomplete device tree. 2013-04-14 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it would be otherwise excluded. 2013-04-14 Vladimir Serbinenko * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Inline name defines used only once. 2013-04-13 Vladimir Serbinenko Fix memory leaks in ofnet. Reported by: Francesco Lavra. 2013-04-12 Vladimir Serbinenko * docs/man/grub-glue-efi.h2m: Add missing file. 2013-04-12 Vladimir Serbinenko * util/grub-mkrescue.in: Fix wrong architecture for ppc dir. 2013-04-12 Vladimir Serbinenko Better support Apple Intel Macs on CD. 2013-04-12 Vladimir Serbinenko Replace stpcpy with grub_stpcpy in tools. 2013-04-12 Vladimir Serbinenko Handle Japanese special keys. Reported by: Hiroyuki YAMAMORI. Codes supplied by: Hiroyuki YAMAMORI. 2013-04-12 Vladimir Serbinenko * util/grub-mkimage.c: Document memdisk implying --prefix. 2013-04-12 Vladimir Serbinenko * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not much we can do about it anyway. 2013-04-12 Aleš Nesrsta Fix handling of split transfers. 2013-04-12 Vladimir Serbinenko * grub-core/net/http.c: Fix bad free. 2013-04-12 Vladimir Serbinenko * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more than buffer size. 2013-04-12 Vladimir Serbinenko Disable partmap check on i386-ieee1275 due to openfirmware issues. 2013-04-12 Vladimir Serbinenko * tests/util/grub-shell.in: Fix it on powerpc. 2013-04-12 Vladimir Serbinenko Turn off QEMU ACPI-way since new releases don't have shutdown port anymore. 2013-04-12 Vladimir Serbinenko * docs/grub.texi: Update coreboot status info. 2013-04-12 Vladimir Serbinenko * tests/grub_cmd_date.in: New test for datetime. 2013-04-12 Vladimir Serbinenko * tests/partmap_test.in: Fix missing qemudisk setting. 2013-04-11 Vladimir Serbinenko Support i386-ieee1275 grub-mkrescue and make check on it. 2013-04-11 Vladimir Serbinenko Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+ feature for it. 2013-04-11 Vladimir Serbinenko * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and GRUB_CMDLINE_XEN_DEFAULT. Reported by: Marc Warne (GigaTux) 2013-04-11 Vladimir Serbinenko Import new gnulib. 2013-04-11 Vladimir Serbinenko Use ACPI shutdown intests as traditional port was removed. 2013-04-11 Andrey Borzenkov * util/grub.d/30_os-prober.in: Add onstr to entries for visual distinction. 2013-04-11 Vladimir Serbinenko Fix missing PVs if they don't contain "interesting" LV. Closes #38677. Fix few warining messages and leaks while on it. 2013-04-09 Andrey Borzenkov * autogen.sh: Use "-h", not "-f", to test for existence of symbolic links under grub-core/lib/libgcrypt-grub/mpi. 2013-04-08 Vladimir Serbinenko Fix ia64-efi image generation on big-endian machines. Deduplicate some code while on it. Reported by: Leif Lindholm. 2013-04-08 Andrey Borzenkov * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module as extra_dist. 2013-04-08 Andrey Borzenkov * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm. 2013-04-08 Bryan Hundven * docs/grub-dev.texi: Move @itemize after @subsection to satisfy texinfo-5.1. 2013-04-08 Vladimir Serbinenko * grub-core/normal/term.c: Few more fixes for menu entry editor rendering. Reported by: Andrey Borzenkov 2013-04-07 Vladimir Serbinenko * grub-core/normal/term.c: Few more fixes for menu entry editor rendering. Reported by: Andrey Borzenkov 2013-04-06 Andrey Borzenkov * conf/Makefile.extra-dist (EXTRA_DIST): Add grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed. 2013-04-06 Andrey Borzenkov * util/grub-install_header: Use @PACKAGE@.mo in message catalog name instead of hardcoding grub.mo. 2013-04-05 Fedora Ninjas * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions. 2013-04-05 Vladimir Serbinenko Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and grub-core/disk/geli.c. 2013-04-05 Vladimir Serbinenko * util/grub-mkfont.c: Prefer enum to #define. 2013-04-05 Vladimir Serbinenko * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size. 2013-04-05 Vladimir Serbinenko Replace 8 with GRUB_CHAR_BIT in several places when appropriate. 2013-04-05 Vladimir Serbinenko Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE. 2013-04-05 Vladimir Serbinenko * grub-core/commands/verify.c: Use GRUB_CHAR_BIT. 2013-04-05 Vladimir Serbinenko * include/grub/bsdlabel.h: Use enums. 2013-04-05 Vladimir Serbinenko Move GRUB_CHAR_BIT to types.h. 2013-04-04 Andrey Borzenkov * docs/grub.texi: Document more user commands. 2013-04-04 Andrey Borzenkov * docs/grub.texi: Document menuentry --id option. 2013-04-04 Francesco Lavra * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE. 2013-04-04 Vladimir Serbinenko Unify file copying setup across different install scripts. Add options for performing partial install. 2013-04-04 Vladimir Serbinenko 2013-04-04 Peter Jones * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks. 2013-04-04 Vladimir Serbinenko Use TSC as a possible time source on i386-ieee1275. 2013-04-04 Vladimir Serbinenko * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize): Init err. 2013-04-04 Vladimir Serbinenko * util/grub-setup.c (setup): Handle some corner cases. 2013-04-04 Vladimir Serbinenko * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h. 2013-04-03 Vladimir Serbinenko * grub-core/commands/verify.c: Save verified file to avoid it being tampered with after verification was done. 2013-04-03 Vladimir Serbinenko * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease reported width by one to compensate for curesor algorithm problem. 2013-04-03 Vladimir Serbinenko Fix screen corruption in menu entry editor and simplify the code flow while on it. 2013-04-03 Andrey Borzenkov * util/grub-mount.c (fuse_init): Return error if fuse_main failed. 2013-04-03 Francesco Lavra * include/grub/elf.h: Add missing ARM relocation codes and fix existing ones. 2013-04-03 Vladimir Testov * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes. 2013-04-03 Vladimir Testov 2013-04-03 Vladimir Serbinenko * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height into account when calculating radius. 2013-04-03 Vladimir Testov * grub-core/gfxmenu/view.c: Fix off-by-one error. 2013-04-03 Vladimir Testov * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error. 2013-04-01 Radosław Szymczyszyn * grub-core/partmap/apple.c (apple_partition_map_iterate): Add missing closing bracket. 2013-04-01 Radosław Szymczyszyn * INSTALL: Mention xorriso requirement. 2013-03-31 Andrey Borzenkov * grub-core/commands/verify.c: Fix hash algorithms values for the first three hashes - they start with 1, not with 0. 2013-03-26 Vladimir Serbinenko * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): Try terminating EFI services several times due to quirks in some implementations. 2013-03-26 Colin Watson * grub-core/commands/acpihalt.c (skip_ext_op): Add support for skipping Event, Device, Processor, PowerRes, ThermalZone, and BankField extended opcodes. (get_sleep_type): Add minimal scope handling (just enough to handle setting the scope to the root path). (grub_acpi_halt): Parse any SSDTs as well as the DSDT. * include/grub/acpi.h: Add enumeration values for Event, Device, Processor, PowerRes, ThermalZone, and BankField extended opcodes. 2013-03-26 Vladimir Testov * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix memory leak. 2013-03-25 Vladimir Serbinenko * grub-core/disk/ahci.c: Give more time for AHCI request. 2013-03-25 Vladimir Serbinenko * grub-core/normal/menu.c: Wait if there were errors shown at "boot" command. 2013-03-25 Vladimir Serbinenko Replace the region at 0 from coreboot tables to available in BSD memory map. 2013-03-24 Vladimir Serbinenko * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on non-BIOS platforms. 2013-03-24 Vladimir Serbinenko * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot platforms. 2013-03-24 Vladimir Serbinenko * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix handling of multi-device filesystems. 2013-03-24 Vladimir Serbinenko * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot platforms. 2013-03-24 Vladimir Serbinenko Add new 'proc' filesystem framework and put luks_script into it. 2013-03-23 Vladimir Serbinenko * grub-core/term/at_keyboard.c: Increase robustness on coreboot and qemu. 2013-03-22 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes. 2013-03-22 Vladimir Serbinenko Add ability to generate newc additions on runtime. 2013-03-22 Vladimir Serbinenko * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong description. 2013-03-21 Vladimir Serbinenko * po/POTFILES.in: Regenerate. 2013-03-20 Vladimir Serbinenko * grub-core/commands/verify.c (hashes): Add several hashes from the spec. 2013-03-20 Vladimir Serbinenko Slight improve in USB-related boot-time checkpoints. 2013-03-20 Vladimir Serbinenko * grub-core/commands/boottime.c: Fix copyright header. 2013-03-20 Vladimir Serbinenko New commands cbmemc, lscoreboot, coreboot_boottime to inspect coreboot tables content. Support for cbmemc. 2013-03-20 Vladimir Serbinenko Fix a conflict between ports structures with 2 controllers of same kind. 2013-03-20 Vladimir Serbinenko * include/grub/boottime.h: Add missing file. 2013-03-19 Vladimir Serbinenko Initialize USB ports in parallel to speed-up boot. 2013-03-19 Vladimir Serbinenko Fix USB devices not being detected when requested due to delayed attach. 2013-03-19 Vladimir Serbinenko Implement boot time analysis framework. 2013-03-19 Vladimir Serbinenko Remove get_endpoint_descriptor and change all functions needing descriptor to just receive it as argument rather than endpoint address. 2013-03-19 Aleš Nesrsta Better estimate the maximum USB transfer size. 2013-03-17 Vladimir Serbinenko Resend a packet if we got the wrong buffer in status. 2013-03-10 Vladimir Serbinenko * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use multiplication rather than division. 2013-03-10 Vladimir Serbinenko * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather than divisions. 2013-03-10 Vladimir Serbinenko * grub-core/commands/verify.c (grub_verify_signature): Use unsigned operations to have intended shifts and not divisions. 2013-03-10 Vladimir Serbinenko * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use intended shifts rather than division. 2013-03-10 Vladimir Serbinenko * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime computation for some years before epoch. Avode confusing division while on it. 2013-03-10 Vladimir Serbinenko * grub-core/video/i386/pc/vbe.c (grub_video_vbe_print_adapter_specific_info): Replace division by shifts. 2013-03-10 Vladimir Serbinenko Adjust types in gdb module to have intended unsigned shifts rather than signed divisions. 2013-03-10 Vladimir Serbinenko * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the maximum size is 4G - 1 on hfs 2013-03-10 Vladimir Serbinenko Avoid costly 64-bit division in grub_get_time_ms on most platforms. 2013-03-10 Vladimir Serbinenko * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused function. 2013-03-07 Andrey Borzenkov * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute causing gcc error with gcc 4.7.1. 2013-03-07 Nickolai Zeldovich * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't dereference null pointer. While the code is technically correct, gcc may eliminate a null check if pointer is already dereferenced. 2013-03-07 Nickolai Zeldovich * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect OOM check. * grub-core/normal/term.c (read_terminal_list): Likewise. 2013-03-07 Vladimir Serbinenko Lift up core size limits on some platforms. Fix potential memory corruption with big core on small memory systems. Document remaining limits. 2013-03-05 Vladimir Serbinenko * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit gotoxy to 0,0. 2013-03-03 Vladimir Serbinenko Remove all trampoline support. Add -Wtrampolines when present. Remove symbols used for trampolines to make link fail if trampolines are present. 2013-03-03 Vladimir Serbinenko * grub-core/script/execute.c (grub_script_arglist_to_argv): Move append out of its parent. 2013-03-03 Vladimir Serbinenko * grub-core/commands/regexp.c (set_matches): Move setvar out of its parent. 2013-03-03 Vladimir Serbinenko * grub-core/kern/env.c, include/grub/env.h: Change iterator through all vars to a macro. All users updated. 2013-03-03 Vladimir Serbinenko * grub-core/disk/ieee1275/nand.c: Fix compilation on i386-ieee1275. 2013-03-02 Vladimir Serbinenko * include/grub/cmos.h: Handle high CMOS addresses on sparc64. 2013-03-02 Vladimir Serbinenko * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses. 2013-03-02 Vladimir Serbinenko Move to more hookless approach in IEEE1275 devices handling. 2013-03-02 Vladimir Serbinenko * grub-core/kern/term.c (grub_term_normal_color), (grub_term_highlight_color): Add back lost defaults. 2013-03-02 Vladimir Serbinenko Make elfload not use hooks. Opt for flags and iterators instead. 2013-03-02 Vladimir Serbinenko * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function. * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function. 2013-03-02 Vladimir Serbinenko * grub-core/script/execute.c (gettext_append): Remove nested functions. 2013-03-02 Vladimir Serbinenko * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add hook pass-through parameter. All users updated and unnested. 2013-03-02 Vladimir Serbinenko * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var out of its parent. 2013-03-02 Vladimir Serbinenko * grub-core/fs/hfs.c: Remove nested functions. 2013-03-01 Vladimir Serbinenko * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass the context through. (grub_hfsplus_iterate_dir): Move nested function out of its parent. 2013-03-01 Vladimir Serbinenko * util/grub-editenv.c (list_variables): Move print_var out of its parent. 2013-03-01 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested function. 2013-03-01 Vladimir Serbinenko * grub-core/gentrigtables.c: Make tables const. 2013-03-01 Vladimir Serbinenko Remove nested functions from videoinfo iterators. 2013-03-01 Vladimir Serbinenko * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation for 64-bit platforms. 2013-03-01 Vladimir Serbinenko * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into a FOR_CHILDREN macro. 2013-03-01 Vladimir Serbinenko * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing platform from firmware path. 2013-02-28 Vladimir Serbinenko Enable linux16 on non-BIOS systems for i.a. memtest. * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0 correctly. * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours. 2013-02-28 Vladimir Serbinenko * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Fix end of table condition. 2013-02-28 Vladimir Serbinenko * grub-core/lib/arg.c (grub_arg_show_help): Move showargs out of its parent. 2013-02-28 Vladimir Serbinenko * grub-core/fs/jfs.c: Remove nested functions. 2013-02-28 Vladimir Serbinenko * grub-core/fs/minix.c: Remove nested functions. 2013-02-28 Vladimir Serbinenko * grub-core/fs/iso9660.c: Remove nested functions. 2013-02-28 Vladimir Serbinenko * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out of parent function. 2013-02-28 Vladimir Serbinenko * util/grub-fstest.c: Remove nested functions. 2013-02-27 Vladimir Serbinenko * grub-core/loader/machoXX.c: Remove nested functions. 2013-02-27 Colin Watson Remove nested functions from disk and file read hooks. * include/grub/disk.h (grub_disk_read_hook_t): New type. (struct grub_disk): Add read_hook_data member. * include/grub/file.h (struct grub_file): Likewise. * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data argument. Update all callers. 2012-02-27 Andrey Borzenkov * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Fix off by one error in enumerating extended partitions. 2013-02-26 Andrey Borzenkov * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix memory leak if device name is not found. 2013-02-25 Andrey Borzenkov * grub-core/normal/menu_entry.c (update_screen): remove unused variable `off' which caused scroll down arrow to be always shown. 2013-02-25 Andrey Borzenkov * grub-core/normal/menu_entry.c (insert_string): fix off by one access to unallocated memory. 2013-02-25 Andrey Borzenkov * Makefile.util.def: Add partmap/msdos.c to common library. * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM * grub-core/disk/ldm.c: Check for existence of GRUB_PC_PARTITION_TYPE_LDM. 2013-02-25 Vladimir Serbinenko * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display sizes and display sector size. 2013-02-24 Vladimir Serbinenko Implement new command cmosdump. 2013-02-19 Paulo Flabiano Smorigo Support Openfirmware disks with non-512B sectors. * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block size of the disk. * (grub_ofdisk_get_block_size): New function. * (grub_ofdisk_prepare): Use the correct block size. * (grub_ofdisk_read): Likewise. * (grub_ofdisk_write): Likewise. * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size): New proto. 2013-02-06 Vladimir Serbinenko * grub-core/commands/lsacpi.c: Fix types on 64-bit platform. 2013-02-04 Vladimir Serbinenko * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop on first error. 2013-02-01 Vladimir Serbinenko * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after freeing it. 2013-02-01 Vladimir Serbinenko Implement USBDebug (full USB stack variant). 2013-02-01 Vladimir Serbinenko * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts unless they have unexpected values. 2013-02-01 Vladimir Serbinenko * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing grub_print_error. 2013-02-01 Vladimir Serbinenko * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing zero-out of port structure. 2013-01-30 Vladimir Serbinenko * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence of extended attributes. 2013-01-27 Andrey Borzenkov * util/grub-install.in: change misleading comment about device.map creation 2013-01-27 Vladimir Serbinenko * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour when menu highlight color isn't set. 2013-01-27 C. Masloch Improve FreeDOS direct loading support compatibility. * include/grub/i386/relocator.h (grub_relocator16_state): New member ebp. * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern variable. (grub_relocator16_boot): Handle %ebp. * grub-core/lib/i386/relocator16.S: Likewise. * grub-core/loader/i386/pc/freedos.c: Load BPB to pass kernel which partition to load from. Check that kernel file is not too large. Set register dl to BIOS unit number as well. 2013-01-22 Colin Watson * util/grub-reboot.in (usage): Document the need for GRUB_DEFAULT=saved. * util/grub-set-default.in (usage): Likewise. Reported by: Brian Candler. Fixes Ubuntu bug #1102925. 2013-01-21 Vladimir Serbinenko * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather than defining WORDS_BIGENDIAN manually. 2013-01-21 Vladimir Serbinenko * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment invariants. 2013-01-21 Colin Watson * grub-core/font/font.c (blit_comb: do_blit): Make static instead of nested. (blit_comb: add_device_width): Likewise. 2013-01-21 Colin Watson Remove nested functions from USB iterators. * include/grub/usb.h (grub_usb_iterate_hook_t): New type. (grub_usb_controller_iterate_hook_t): Likewise. (grub_usb_iterate): Add hook_data argument. (grub_usb_controller_iterate): Likewise. (struct grub_usb_controller_dev.iterate): Likewise. Update all implementations and callers. 2013-01-21 Vladimir Serbinenko * grub-core/normal/term.c (print_ucs4_terminal): Don't output right margin when not needed. 2013-01-21 Vladimir Serbinenko Make color variables global instead of it being per-terminal. 2013-01-21 Vladimir Serbinenko * grub-core/commands/ls.c (grub_ls_print_devices): Add missing asterisk. 2013-01-21 Colin Watson Fix powerpc and sparc64 build failures caused by un-nesting memory map iterators. 2013-01-21 Colin Watson * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix parameter declarations. 2013-01-21 Vladimir Serbinenko * grub-core/commands/lsmmap.c: Fix unused variable on emu. 2013-01-21 Vladimir Serbinenko Improve spkmomdem reliability by adding a separator between bytes. 2013-01-21 Colin Watson * grub-core/partmap/msdos.c (embed_signatures): Add the signature of an Acer registration utility with several sightings in the wild. Reported by: Rickard Westman. Fixes Ubuntu bug #987022. 2013-01-21 Colin Watson Remove nested functions from filesystem directory iterators. * include/grub/fs.h (grub_fs_dir_hook_t): New type. (struct grub_fs.dir): Add hook_data argument. Update all implementations and callers. 2013-01-21 Colin Watson * docs/grub.texi (Multi-boot manual config): Fix typo for "recommended". 2013-01-20 Leif Lindholm * util/grub-mkimage.c (main): Postpone freeing arguments.output until after its use in generate_image. 2013-01-20 Colin Watson * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the initrd size to addr_min, since the initrd will be allocated after this address. 2013-01-20 Andrey Borzenkov * conf/Makefile.common: Fix autogen rules to pass definition files on stdin; Makefile.util.am needs Makefile.utilgcry.def 2013-01-20 Leif Lindholm * include/grub/elf.h: Update ARM definitions based on binutils. 2013-01-20 Aleš Nesrsta Split long USB transfers into short ones. 2013-01-20 Andrey Borzenkov * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT is interrupted by ESC. 2013-01-20 Vladimir Serbinenko * util/grub-script-check.c (main): Uniform the error message. 2013-01-20 Colin Watson Remove nested functions from ELF iterators. 2013-01-20 Colin Watson Remove nested functions from device iterators. * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type. (grub_arc_iterate_devs): Add hook_data argument. * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type. (struct grub_ata_dev.iterate): Add hook_data argument. * include/grub/device.h (grub_device_iterate_hook_t): New type. (grub_device_iterate): Add hook_data argument. * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type. (struct grub_disk_dev.iterate): Add hook_data argument. (grub_disk_dev_iterate): Likewise. * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate): Likewise. * include/grub/msdos_partition.h (grub_partition_msdos_iterate): Likewise. * include/grub/partition.h (grub_partition_iterate_hook_t): New type. (struct grub_partition_map.iterate): Add hook_data argument. (grub_partition_iterate): Likewise. * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type. (struct grub_scsi_dev.iterate): Add hook_data argument. Update all callers. 2013-01-20 Colin Watson Fix typos for "developer" and "development". 2013-01-18 Vladimir Serbinenko Add license header to spkmodem-recv.c. 2013-01-17 Vladimir Serbinenko Rewrite spkmodem to use PIT for timing. Double the speed. 2013-01-16 Vladimir Serbinenko Add new command pcidump. 2013-01-16 Vladimir Serbinenko New terminal outputs using serial: morse and spkmodem. 2013-01-16 Vladimir Serbinenko Improve bidi handling in entry editor. 2013-01-16 Vladimir Serbinenko * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline argument to prevent name collision. 2013-01-15 Colin Watson Remove nested functions from script reading and parsing. * grub-core/kern/parser.c (grub_parser_split_cmdline): Add getline_data argument, passed to getline. * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add getline_data argument, passed to grub_parser_split_cmdline. * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass lexerstate->getline_data to lexerstate->getline. (grub_script_lexer_init): Add getline_data argument, saved in lexerstate->getline_data. * grub-core/script/main.c (grub_normal_parse_line): Add getline_data argument, passed to grub_script_parse. * grub-core/script/script.c (grub_script_parse): Add getline_data argument, passed to grub_script_lexer_init. * include/grub/parser.h (grub_parser_split_cmdline): Update prototype. Update all callers to pass appropriate getline data. (struct grub_parser.parse_line): Likewise. (grub_rescue_parse_line): Likewise. * include/grub/reader.h (grub_reader_getline_t): Add void * argument. * include/grub/script_sh.h (struct grub_lexer_param): Add getline_data member. (grub_script_parse): Update prototype. Update all callers to pass appropriate getline data. (grub_script_lexer_init): Likewise. (grub_normal_parse_line): Likewise. * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused data argument. * grub-core/kern/parser.c (grub_parser_execute: getline): Make static instead of nested. Rename to ... (grub_parser_execute_getline): ... this. * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused data argument. * grub-core/normal/main.c (read_config_file: getline): Make static instead of nested. Rename to ... (read_config_file_getline): ... this. (grub_normal_read_line): Add unused data argument. * grub-core/script/execute.c (grub_script_execute_sourcecode: getline): Make static instead of nested. Rename to ... (grub_script_execute_sourcecode_getline): ... this. * util/grub-script-check.c (main: get_config_line): Make static instead of nested. 2013-01-15 Colin Watson Remove nested functions from memory map iterators. * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data argument, passed to hook. * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Likewise. (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static instead of nested. (grub_machine_mmap_iterate): Add hook_data argument. * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate): Add hook_data argument, passed to hook. * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Likewise. * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Likewise. * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Likewise. * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate): Likewise. * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate): Likewise. * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate): Likewise. * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise. (grub_machine_mmap_iterate): Likewise. * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise. * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update prototype. * include/grub/memory.h (grub_memory_hook_t): Add data argument. Remove NESTED_FUNC_ATTR from here and from all users. (grub_mmap_iterate): Update prototype. (grub_efi_mmap_iterate): Update prototype. Update all callers to pass appropriate hook data. (grub_machine_mmap_iterate): Likewise. * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make static instead of nested. * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise. Rename to ... (lsmmap_hook): ... this. * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook): Likewise. (grub_efiemu_mmap_fill: fill_hook): Likewise. * grub-core/kern/i386/coreboot/init.c (grub_machine_init: heap_init): Likewise. * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise. Rename to ... (mmap_iterate_hook): ... this. * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init): Likewise. * grub-core/lib/ieee1275/relocator.c (grub_relocator_firmware_get_max_events: count): Likewise. (grub_relocator_firmware_fill_events: fill): Likewise. Rename to ... (grub_relocator_firmware_fill_events_iter): ... this. * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align: hook): Likewise. Rename to ... (grub_relocator_alloc_chunk_align_iter): ... this. * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise. Rename to ... (generate_e820_mmap_iter): ... this. * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise. Rename to ... (count_hook): ... this. (grub_linux_boot: hook): Likewise. Rename to ... (grub_linux_boot_mmap_find): ... this. (grub_linux_boot: hook_fill): Likewise. Rename to ... (grub_linux_boot_mmap_fill): ... this. * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap: hook): Likewise. Rename to ... (grub_fill_multiboot_mmap_iter): ... this. * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count: hook): Likewise. Rename to ... (count_hook): ... this. * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap: hook): Likewise. Rename to ... (grub_fill_multiboot_mmap_iter): ... this. * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_claimmap_iterate: alloc_mem): Likewise. * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose): Likewise. Rename to ... (alloc_phys_choose): ... this. (determine_phys_base: get_physbase): Likewise. * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register: find_hook): Likewise. * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise. (malloc_hook: count_hook): Likewise. * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook): Likewise. Rename to ... (lower_hook): ... this. (grub_mmap_get_upper: hook): Likewise. Rename to ... (upper_hook): ... this. (grub_mmap_get_post64: hook): Likewise. Rename to ... (post64_hook): ... this. * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook): Likewise. Rename to ... (lower_hook): ... this. (grub_mmap_get_upper: hook): Likewise. Rename to ... (upper_hook): ... this. * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise. (grub_mmap_iterate: fill_hook): Likewise. (fill_mask): Pass addr and mask within a single struct. (grub_cmd_badram: hook): Make static instead of nested. Rename to ... (badram_iter): ... this. (grub_cmd_cutmem: hook): Likewise. Rename to ... (cutmem_iter): ... this. 2013-01-13 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly delimit path in strings using quotes. * util/getroot.c (grub_guess_root_devices): Likewise. (grub_make_system_path_relative_to_its_root): Likewise. * util/grub-probe.c (probe): Likewise. * util/ieee1275/ofpath.c (find_obppath): Likewise. (xrealpath): Likewise. 2013-01-13 Vladimir Serbinenko Fix compilation with older compilers. * grub-core/Makefile.core.def (mpi): Add mpi-inline.c. * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant declarations. * grub-core/lib/posix_wrap/string.h: Include sys/types.h. * grub-core/lib/posix_wrap/sys/types.h: Add common types. * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte identifier with b. * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise. * include/grub/crypto.h: Add type defines. * util/import_gcrypth.sed: Remove duplicate type defines. 2013-01-13 Vladimir Serbinenko New command list_trusted. * grub-core/commands/verify.c (grub_cmd_list): New function. 2013-01-13 Colin Watson * util/grub-mkimage.c (generate_image): Fix "size of public key" info message. 2013-01-13 Colin Watson Remove nested functions from PCI iterators. * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument, passed to hook. Update all callers to pass appropriate hook data. * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise. * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument. Remove NESTED_FUNC_ATTR from here and from all users. (grub_pci_iterate): Update prototype. * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static instead of nested. Rename to ... (grub_cs5536_find_iter): ... this. * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise. * grub-core/kern/mips/loongson/init.c (init_pci: set_card): Likewise. * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card): Likewise. * grub-core/video/bochs.c (grub_video_bochs_setup: find_card): Likewise. * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card): Likewise. * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise. * grub-core/video/radeon_fuloong2e.c (grub_video_radeon_fuloong2e_setup: find_card): Likewise. * grub-core/video/sis315pro.c (grub_video_sis315pro_setup: find_card): Likewise. * grub-core/video/sm712.c (grub_video_sm712_setup: find_card): Likewise. 2013-01-12 Vladimir Serbinenko * grub-core/commands/verify.c: Mark messages for translating. 2013-01-12 Vladimir Serbinenko * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory fatal. 2013-01-12 Vladimir Serbinenko * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs fatal. 2013-01-12 Vladimir Serbinenko * autogen.sh: Do not try to delete nonexistant files. * util/import_gcrypth.sed: Add some missing header removals. 2013-01-12 Colin Watson Clean up dangling references to grub-setup. Fixes Ubuntu bug #1082045. * docs/grub.texi (Images): Refer generally to grub-install rather than directly to grub-setup. (Installing GRUB using grub-install): Remove direct reference to grub-setup. (Device map) Likewise. (Invoking grub-install): Likewise. * docs/man/grub-install.h2m (SEE ALSO): Likewise. * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise. * util/grub-install.in (usage): Likewise. * util/bash-completion.d/grub-completion.bash.in (_grub_setup): Apply to grub-bios-setup and grub-sparc64-setup rather than to grub-setup. * configure.ac: Remove grub_setup output variable. * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup to grub-bios-setup. * docs/man/grub-sparc64-setup.h2m (NAME): Change name from grub-setup to grub-sparc64-setup. 2013-01-11 Vladimir Serbinenko Import gcrypt public-key cryptography and implement signature checking. 2013-01-10 Vladimir Serbinenko * grub-core/fs/ntfs.c: Ue more appropriate types. * grub-core/fs/ntfscomp.c: Likewise. * include/grub/ntfs.h: Likewise. 2013-01-10 Vladimir Serbinenko Support Apple FAT binaries on non-Apple platforms. * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define. * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT): Likewise. * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse Apple FAT binaries. 2013-01-10 Vladimir Serbinenko * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K sector devices. 2013-01-07 Colin Watson * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of explicitly zeroing elements. * grub-core/io/gzio.c (grub_gzio_open): Likewise. * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing of elements in a structure already allocated using grub_zalloc. * grub-core/io/xzio.c (grub_xzio_open): Likewise. 2013-01-07 Colin Watson * docs/grub.texi (grub_cpu): New subsection. (grub_platform): Likewise. 2013-01-07 Vladimir Serbinenko * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics. 2013-01-05 Vladimir Serbinenko * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than divisions. 2013-01-05 Vladimir Serbinenko * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts. * grub-core/fs/ntfscomp.c: Likewise. * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc. (grub_ntfs_comp): Likewise. 2013-01-05 Vladimir Serbinenko * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block): Rename to ... (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log of groups_per_block. All users updated. 2013-01-05 Vladimir Serbinenko * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call grub_error properly. * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise. * grub-core/disk/loopback.c (grub_loopback_write): Likewise. 2013-01-03 Vladimir Serbinenko * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's always in /boot/zfs. Reported by: Yuta Satoh. 2013-01-03 Yuta Satoh * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by ${grub_probe} 2013-01-03 Vladimir Serbinenko * configure.ac: Extend -Wno-trampolines to host. 2013-01-03 Vladimir Serbinenko * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if entry->len = 0. 2013-01-03 Colin Watson * docs/grub.texi (Invoking grub-mkrelpath): New section. (Invoking grub-script-check): Likewise. 2013-01-03 Colin Watson * docs/grub.texi (Invoking grub-mount): New section. Reported by: Filipus Klutiero. Fixes Debian bug #666427. 2013-01-02 Colin Watson * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on test failures, so that a failing unit test correctly causes 'make check' to fail. 2013-01-02 Colin Watson Fix failing printf test. * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and '$' in the correct order when collecting type information. 2013-01-02 Colin Watson * docs/grub.texi (configfile): Explain environment variable handling. (source): New section. Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564. 2012-12-31 Colin Watson Remove several trivially-unnecessary uses of nested functions. * grub-core/commands/i386/pc/sendkey.c (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static instead of nested. * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise. Rename to ... (legacy_file_getline): ... this. * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var): Likewise. * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise. * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename to ... (probe_dummy_iter): ... this. * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate: check_signature): Likewise. * grub-core/kern/parser.c (grub_parser_split_cmdline: check_varstate): Likewise. Mark inline. * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass an additional parameter. (find_long: fnd_long): Likewise. Pass two additional parameters. * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise. * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise. * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook): Likewise. Rename to ... (grub_cmos_find_port_iter): ... this. * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise. Rename to ... (find_rtc_iter): ... this. * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource function directly into the function body, since it is only called once. 2012-12-30 Colin Watson * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect __attribute__ ((unused)). * grub-core/video/bochs.c (find_card): Likewise. * grub-core/video/cirrus.c (find_card): Likewise. * grub-core/video/radeon_fuloong2e.c (find_card): Likewise. * grub-core/video/sis315pro.c (find_card): Likewise. * grub-core/video/sm712.c (find_card): Likewise. 2012-12-28 Colin Watson * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text. Fixes Savannah bug #37821. 2012-12-28 Colin Watson Apply program name transformations at build-time rather than at run-time. Fixes Debian bug #696465. * acinclude.m4 (grub_TRANSFORM): New macro. * configure.ac: Create output variables with transformed names for most programs. * util/bash-completion.d/grub-completion.bash.in: Use pre-transformed variables for program names. * util/grub-install.in: Likewise. * util/grub-kbdcomp.in: Likewise. * util/grub-mkconfig.in: Likewise. * util/grub-mkconfig_lib.in: Likewise. * util/grub-mknetdir.in: Likewise. * util/grub-mkrescue.in: Likewise. * util/grub-mkstandalone.in: Likewise. * util/grub-reboot.in: Likewise. * util/grub-set-default.in: Likewise. * util/powerpc/ieee1275/grub-mkrescue.in: Likewise. * tests/util/grub-shell-tester.in: Remove unused assignment. * tests/util/grub-shell.in: Likewise. * util/grub.d/00_header.in: Likewise. 2012-12-28 Colin Watson Backport gnulib fixes for C11. Fixes Savannah bug #37738. * grub-core/gnulib/stdio.in.h (gets): Warn on use only if HAVE_RAW_DECL_GETS. * m4/stdio_h.m4 (gl_STDIO_H): Check for gets. 2012-12-11 Vladimir Serbinenko * util/grub.d/20_linux_xen.in: Addmissing assignment to machine. Reported by: Eriks Latosheks . 2012-12-10 Vladimir Serbinenko * docs/grub.texi (Network): Update instructions on generating netboot image. 2012-12-10 Vladimir Serbinenko * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets around device name if necessarry. 2012-12-10 Paulo Flabiano Smorigo * util/grub-install.in: Follow the symbolic link parameter added to the file command. 2012-12-10 Andrey Borzenkov * util/grub-install.in: Remove stale TODO. 2012-12-10 Paulo Flabiano Smorigo * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use dynamic allocation for the bootpath buffer. 2012-12-10 Dr. Tilmann Bubeck * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal window too small. 2012-12-10 Vladimir Serbinenko * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as argument rather than font name. All users updated. (grub_gfxterm_set_window): Likewise. 2012-12-10 Vladimir Testov * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce from working. 2012-12-10 Vladimir Serbinenko * util/getroot.c (convert_system_partition_to_system_disk): Support nbd disks. 2012-12-10 Vladimir Serbinenko * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid infinite loop on corrupted FS. 2012-12-08 Vladimir Serbinenko Fix big-endian mtime. * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached together sec and usec. (grub_ufs_dir): Use correct byteswapping for UFS time. 2012-12-08 Vladimir Serbinenko Support big-endian UFS1. * Makefile.util.def (libgrubmods): Add ufs_be.c * grub-core/Makefile.core.def (ufs1_be): New module. * grub-core/fs/ufs_be.c: New file. * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout the file. 2012-11-28 Leif Lindholm * include/grub/types.h: Fix functionality unaffecting typo in GRUB_TARGET_WORDSIZE conditional macro. 2012-11-28 Paulo Flabiano Smorigo * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment. 2012-10-28 Grégoire Sutre * util/grub.d/10_netbsd.in: Fix tab indentation and make sure that /netbsd appears first (when it exists). 2012-10-12 Christoph Junghans * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk. Fixes Savannah bug #37558. 2012-10-12 Colin Watson * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct description of extract_entries_configfile. 2012-10-05 Colin Watson * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of preferred_address. (grub_cmd_linux): Likewise. * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of preferred_lifetime. Update all users. 2012-09-26 Colin Watson * Makefile.util.def (grub-mknetdir): Move to $prefix/bin. Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799. 2012-09-26 Colin Watson * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect errors from grub-probe to /dev/null, not stdout. 2012-09-26 Vladimir Serbinenko * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in sector 1. 2012-09-24 Colin Watson * util/grub-install.in: Make the error message if $source_dir doesn't exist more useful. 2012-09-22 Colin Watson Fix grub-emu build on FreeBSD. * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd. * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific headers on Linux. (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this implementation is currently Linux-specific. * util/getroot.c (exec_pipe): Define only on Linux or when either libzfs or libnvpair is unavailable. (find_root_devices_from_poolname): Remove unused path variable. 2012-09-19 Colin Watson * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert incorrect off-by-one fix from 2011-02-12. A 62-sector core image should fit before end == 63. 2012-09-19 Colin Watson * util/grub-setup.c (write_rootdev): Remove unused core_img parameter. Update all callers. (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef GRUB_SETUP_BIOS. 2012-09-18 Vladimir Serbinenko * util/grub-mkconfig_lib.in (grub_tab): New variable. (grub_add_tab): New function. * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab. * util/grub.d/10_illumos.in: Likewise. * util/grub.d/10_kfreebsd.in: Likewise. * util/grub.d/10_linux.in: Likewise. * util/grub.d/10_netbsd.in: Likewise. * util/grub.d/10_windows.in: Likewise. * util/grub.d/10_xnu.in: Likewise. * util/grub.d/20_linux_xen.in: Likewise. * util/grub.d/30_os-prober.in: Likewise. 2012-09-18 Vladimir Serbinenko * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac. * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set. * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type ieee1275-nocursor. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN. 2012-09-18 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect le-conversion. Reported by: BURETTE, Bernard. 2012-09-17 Colin Watson * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence from comment. 2012-09-14 Colin Watson * grub-core/term/terminfo.c: Only fix up powerpc key repeat on IEEE1275 machines. Fixes powerpc-emu compilation. * include/grub/terminfo.h: Likewise. 2012-09-12 Vladimir Serbinenko * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid a const pointer. * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a const pointer. (efiemu_set_variable): Make vendor_guid a const pointer. 2012-09-12 Vladimir Serbinenko Don't require grub-mkconfig_lib to generate manpages for programs. * gentpl.py (manpage): Additional argument adddeps. Add adddeps to dependencies, don't add grub-mkconfig_lib. (program): Pass empty adddeps. (script): Pass grub-mkconfig_lib as adddeps. 2012-09-11 Vladimir Serbinenko * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak. * util/getroot.c (grub_find_device): Likewise. (get_mdadm_uuid): Likewise. (grub_util_is_imsm): Likewise. (grub_util_pull_device): Likewise. * util/grub-probe.c (probe): Likewise. 2012-09-10 Benoit Gschwind * grub-core/loader/efi/appleloader.c (devpath_8): New var. (devs): Add devpath_8. 2012-09-08 Peter Jones * grub-core/Makefile.core.def (efifwsetup): New module. * grub-core/commands/efi/efifwsetup.c: New file. * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI): New define. * include/grub/efi/efi.h (grub_efi_set_variable): New proto. 2012-09-05 Jiri Slaby * configure.ac: Add SuSe path. 2012-09-05 Colin Watson * NEWS: Fix typo. 2012-09-05 Colin Watson * util/import_gcry.py: Sort cipher_files, to make build system generation more deterministic. 2012-09-05 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value. * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise. (grub_set_datetime): Likewise. 2012-09-05 Vladimir Serbinenko * grub-core/script/yylex.l: Ignore unused-function and sign-compare warnings. 2012-09-05 Vladimir Serbinenko * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap. 2012-09-05 Vladimir Serbinenko * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer. 2012-09-04 Colin Watson * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly required for checkouts from bzr, but it may be useful for users or distributors wishing to update translations against a tarball distribution, and it can be helpful for the tarball to be a superset of what's in bzr. 2012-09-04 Colin Watson * Makefile.am (EXTRA_DIST): Add grub-core/tests/boot/linux.init-mips.S, grub-core/tests/boot/linux.init-ppc.S, and grub-core/tests/boot/linux-ppc.cfg. 2012-09-04 Colin Watson * grub-core/mmap/mips/loongson: Remove empty directory. 2012-09-04 Colin Watson * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is gone. 2012-09-04 Colin Watson * .bzrignore: Add grub-bios-setup, grub-ofpathname, and grub-sparc64-setup. 2012-08-05 Grégoire Sutre * configure.ac: Strengthen the test for working -nostdinc -isystem. 2012-07-31 Grégoire Sutre * po/POTFILES.in: Regenerated. 2012-07-31 Grégoire Sutre * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant. (NetBSD): New subsection. 2012-07-22 Ales Nesrsta * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting. * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting. 2012-07-22 Vladimir Serbinenko * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape. * util/grub.d/10_hurd.in: Add missing quoting. * util/grub.d/10_illumos.in: Likewise. * util/grub.d/10_kfreebsd.in: Likewise. * util/grub.d/10_linux.in: Likewise. * util/grub.d/20_linux_xen.in: Likewise. 2012-07-22 Vladimir Serbinenko New command `lsefi'. * grub-core/Makefile.core.def (lsefi): New module. * grub-core/commands/efi/lsefi.c: New file. * include/grub/efi/api.h: Add more GUIDs. 2012-07-22 Vladimir Serbinenko * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask. (grub_bsd_elf32_hook): Likewise. (grub_bsd_elf64_size_hook): Likewise. (grub_bsd_elf64_hook): Likewise. (grub_bsd_load_elf): Likewise. 2012-07-22 Vladimir Serbinenko * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour if hash function is unavailable. (dec_stream_header): Likewise. 2012-07-22 Vladimir Serbinenko * grub-core/normal/autofs.c (autoload_fs_module): Save and restore filter state. 2012-07-22 Vladimir Serbinenko Fix coreboot compilation. * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ... (grub_vga_text_init_real): ... this. (grub_vga_text_fini): Rename to ... (grub_vga_text_fini_real): ... this. 2012-07-07 Vladimir Serbinenko * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S. 2012-07-02 Vladimir Serbinenko * grub-core/lib/legacy_parse.c: Support clear and testload. 2012-07-02 Vladimir Serbinenko * grub-core/term/efi/serial.c: Support 1.5 stop bits. 2012-07-02 Vladimir Serbinenko * grub-core/fs/ext2.c: Experimental support for 64-bit. 2012-07-02 Vladimir Serbinenko * grub-core/net/tftp.c (ack): Fix endianness problem. (tftp_receive): Likewise. Reported by: Michael Davidsaver. 2012-07-02 Vladimir Serbinenko * gentpl.py: Make mans depend on grub-mkconfig_lib. 2012-07-02 Vladimir Serbinenko * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro. * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise. * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE. 2012-07-02 Vladimir Serbinenko * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease efi_mmap_size. Reported by: Stuart Hayes. 2012-06-28 Vladimir Serbinenko Add monochrome text support (mda_text, aka `hercules' in grub-legacy). * grub-core/Makefile.core.def (mda_text): New module. * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'. * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to .. * grub-core/term/i386/pc/vga_text.c (cur_color): ... here * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and here. * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to .. * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and here. * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved to .. * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate): ... here * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and here. * grub-core/term/i386/vga_common.c: Removed. * include/grub/i386/vga_common.h: Likewise. * include/grub/vga.h (grub_vga_cr_bw_write): New function. (grub_vga_cr_bw_read): Likewise. * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value. (GRUB_VGA_IO_CR_BW_DATA): Likewise. * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of grub_vga_cr_read/grub_vga_cr_write. (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color. 2012-06-27 Vladimir Serbinenko * configure.ac: Bump version to 2.00. * grub-core/normal/main.c (features): Add feature_200_final. 2012-06-27 Vladimir Serbinenko 2012-06-27 Jordan Uggla * NEWS: Fix unclarity and language mistakes. 2012-06-27 Vladimir Serbinenko * 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 * NEWS: Add 2.00 entry. 2012-06-27 Vladimir Serbinenko * grub-core/commands/wildcard.c (check_file): Fix bad logic. put explicit "/" for empty path. (wildcard_expand): Improve dprintf. 2012-06-27 Vladimir Serbinenko * 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 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin echo shell command by printf command. 2012-06-26 Vladimir Serbinenko * 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 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions. 2012-06-26 Vladimir Serbinenko * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock frequency to 150 MHz. 2012-06-26 Vladimir Serbinenko 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 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 * 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 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash. 2012-06-26 Vladimir Serbinenko 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 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare signedness. 2012-06-25 Vladimir Serbinenko * 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 * 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 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values. 2012-06-25 Vladimir Serbinenko * 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 * 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 * 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 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash. 2012-06-25 Grégoire Sutre Fix overflow. * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__NetBSD__]: Add explicit cast before bitshift. 2012-06-23 Vladimir Serbinenko * configure.ac: Bump to 2.00~rc1. 2012-06-23 Vladimir Serbinenko * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high half of $a0. 2012-06-23 Vladimir Serbinenko 2012-06-23 Jordan Uggla * docs/grub.texi: Fix search syntax. (Multi-boot manual config): Put msdos rather than GPT example. Grammar corrections. 2012-06-23 Vladimir Serbinenko * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark. 2012-06-22 Vladimir Serbinenko * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions. 2012-06-22 Vladimir Serbinenko * 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 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 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 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs subvolumes. 2012-06-22 Vladimir Serbinenko 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 * grub-core/net/tftp.c: Decrease stall to 50 packets. 2012-06-22 Vladimir Serbinenko * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open. 2012-06-22 Vladimir Serbinenko * tests/util/grub-shell.in: Fix a typo. 2012-06-22 Vladimir Serbinenko 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 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let sync part to handle them. 2012-06-21 Vladimir Serbinenko * 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 * 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 * 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 * 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 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size. 2012-06-21 Vladimir Serbinenko * 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 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape blocks. 2012-06-21 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double increment. 2012-06-20 Vladimir Serbinenko * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if none is explicitly specified. 2012-06-20 Vladimir Serbinenko * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers while reallocating. 2012-06-20 Vladimir Serbinenko 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 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before determining EFI memory map size. 2012-06-20 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas. 2012-06-20 Vladimir Serbinenko * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas when looking for partition separator. 2012-06-20 Vladimir Serbinenko * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Escape commas. 2012-06-20 Vladimir Serbinenko 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 * 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 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 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease poll rate. 2012-06-19 Vladimir Serbinenko 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 * 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 * 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 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend filename parsing to non-block devices. 2012-06-19 Vladimir Serbinenko * grub-core/kern/device.c (grub_device_open): Remove dead code. 2012-06-18 Vladimir Serbinenko * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions. All users updated. 2012-06-18 Vladimir Serbinenko * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate UUID search command even if hints probing failed. 2012-06-18 Vladimir Serbinenko * po/POTFILES.in: Regenerated. 2012-06-17 Vladimir Serbinenko 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 * docs/grub.texi (Multi-boot manual config): New section. 2012-06-15 Vladimir Serbinenko 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 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading gzio. 2012-06-15 Vladimir Serbinenko 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 * 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 * Makefile.util.def (grub-mkrescue): Enable on loongson. * util/grub-mkrescue.in: Handle loongson. 2012-06-14 Vladimir Serbinenko * 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 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 * 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 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 * util/grub-install.in: Fix cross-disk check on non-PreP machines. 2012-06-13 Vladimir Serbinenko * grub-core/term/ieee1275/console.c (grub_console_fini): Don't needlessly lose the console. 2012-06-13 Vladimir Serbinenko * grub-core/normal/dyncmd.c (read_command_list): Don't access freed space. 2012-06-11 Vladimir Serbinenko 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 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 * tests/grub_script_expansion.in: Explicitly tell grep that we handle text and not binary. 2012-06-09 Vladimir Serbinenko 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 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 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix compilation error on sparc64. 2012-06-09 Vladimir Serbinenko 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 * 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 * tests/partmap_test.in: Skip on ppc due to serious firmware bug. 2012-06-08 Vladimir Serbinenko 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 * 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 * 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 * tests/grub_script_expansion.in: Skip network protocols. 2012-06-08 Vladimir Serbinenko * tests/util/grub-shell.in: Use escc-ch-a port on ppc. 2012-06-08 Vladimir Serbinenko * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore) --rom-directory. Add -graft-points. 2012-06-08 Vladimir Serbinenko 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 * 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 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 * grub-core/commands/wildcard.c (wildcard_expand): Set default return value rather than let it uninited. 2012-06-07 Vladimir Serbinenko * 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 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks out of partitions containing other partitions. 2012-06-07 Vladimir Serbinenko 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 * tests/util/grub-shell.in: Trim firmware output on EFI. 2012-06-07 Vladimir Serbinenko * grub-core/Makefile.core.def (vga_text): Disable on muliboot and coreboot since it's already in kernel. 2012-06-07 Vladimir Serbinenko * 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 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 * 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 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function. (grub_ofdisk_fini): Quiesce USB devices. 2012-06-06 Vladimir Serbinenko * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync caches. 2012-06-06 Vladimir Serbinenko * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety. 2012-06-06 Vladimir Serbinenko * 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 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 * 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 * 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 * 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 * 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 * 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 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII filenames. (make_file_path): Likewise. 2012-06-06 Vladimir Serbinenko * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM machines. Tested by: Paulo Flabiano Smorigo. Crucial information about API supplied by: Coleen . Reviewed by: Coleen . 2012-06-05 Vladimir Serbinenko * util/grub-mkimage.c: Disable -Wcast-align. 2012-06-05 Vladimir Serbinenko * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031 as they are fatal. 2012-06-05 Vladimir Serbinenko * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding. 2012-06-05 Vladimir Serbinenko * util/grub-probe.c (escape_of_path): Fix double free. 2012-06-05 Vladimir Serbinenko * grub-core/commands/videoinfo.c (hook): Show pitch. 2012-06-05 Vladimir Serbinenko * util/grub.d/20_linux_xen.in: Skip xen-syms. 2012-06-05 Vladimir Serbinenko * util/grub-probe.c (escape_of_path): Don't add ieee1275/. (probe): Add ieee1275 to OFW devices. 2012-06-04 Vladimir Serbinenko * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier. 2012-06-04 Vladimir Serbinenko 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 * 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 * 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 * 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 * util/ieee1275/ofpath.c (check_sas): Fix sas path. 2012-06-02 Vladimir Serbinenko * 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 * 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 * util/getroot.c (grub_guess_root_devices): Don't canonicalise /dev/root and /dev/dm-*. 2012-06-02 Vladimir Serbinenko * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to fix partially stale display. 2012-06-02 Vladimir Serbinenko * grub-core/normal/menu_entry.c (backward_char): Use right line for substraction. 2012-06-02 Vladimir Serbinenko * 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 * util/grub-install.in: Check for ieee1275 and not ieee1276. 2012-05-31 Vladimir Serbinenko * configure.ac: Bump to beta6. 2012-05-31 Christer Weinigel * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error. 2012-05-31 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version. (grub_cmd_linux): Likewise. 2012-05-31 Christer Weinigel 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 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram parameter is used. 2012-05-31 Peter Jones * 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 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and uninited variable. Allocate at least setup_sects. 2012-05-30 Vladimir Serbinenko 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 * Makefile.util.def: Remove -Wno-format. * grub-core/Makefile.core.def: Likewise. 2012-05-30 Vladimir Serbinenko * 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 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the relaxation of protective MBR requirements. 2012-05-29 Vladimir Serbinenko * 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 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for objconv bug. 2012-05-29 Vladimir Serbinenko * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler. Binary on other platforms stays identical. 2012-05-28 Vladimir Serbinenko * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on Apple. 2012-05-28 Vladimir Serbinenko * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us. 2012-05-28 Vladimir Serbinenko * 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 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of initialisation to avoid __bzero reference. 2012-05-28 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused dependency discard. 2012-05-27 Vladimir Serbinenko * 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 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR. (grub_bfs_dir): Likewise. 2012-05-27 Peter Jones 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 * grub-core/Makefile.core.def (example_functional_test): Rename to ... (exfctest): ... this to avoid overlong filenames. All users updated. 2012-05-27 Vladimir Serbinenko 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 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after freeing. 2012-05-27 Vladimir Serbinenko * util/grub-mkconfig_lib.in (print_option_help): Properly redirect stderr on test calls. 2012-05-27 Vladimir Serbinenko * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..". 2012-05-27 Vladimir Serbinenko * grub-core/fs/ntfs.c (list_file): Set mtime to correct value. 2012-05-27 Vladimir Serbinenko * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and "..". 2012-05-27 Vladimir Serbinenko * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid. (grub_hfsplus_iterate_dir): Add "." and "..". 2012-05-27 Vladimir Serbinenko * grub-core/fs/cpio.c (canonicalize): Handle "..". (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks. 2012-05-27 Vladimir Serbinenko * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value. (find_path): Handle "." and "..". 2012-05-27 Vladimir Serbinenko * 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 * 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 * gentpl.py: Remove error disabling for objconv. 2012-05-26 Vladimir Serbinenko * configure.ac: Remove -Wunitialized as it's not available on older compilers. 2012-05-26 Vladimir Serbinenko 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 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file. 2012-05-24 Vladimir Serbinenko * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather than 0. 2012-05-24 Vladimir Serbinenko * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2. (dejavu_bold_14.pf2): New target. 2012-05-24 Vladimir Serbinenko * configure.ac: Fix djvu font detection. 2012-05-23 Vladimir Serbinenko * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay ext* instead of ext2. 2012-05-23 Vladimir Serbinenko * grub-core/normal/term.c (read_terminal_list): Terminate the terminal name with \0. 2012-05-22 Jordan Uggla * docs/grub-dev.texi: Remove dot from .png. 2012-05-22 Vladimir Serbinenko * 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 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap. 2012-05-22 Vladimir Serbinenko * 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 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0 after freeing for safety. 2012-05-21 Vladimir Serbinenko * grub-core/commands/sleep.c (do_print): Add missing grub_refresh. Reported by: Jordan Uggla. 2012-05-21 Jordan Uggla * 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 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead of r0. 2012-05-21 Vladimir Serbinenko 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 * 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 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref. 2012-05-21 Vladimir Serbinenko * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as a bad FS. 2012-05-18 Vladimir Serbinenko * 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 * 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 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr through UTF-16. 2012-05-17 Vladimir Serbinenko * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message. New argument origpath. All users updated. 2012-05-15 Vladimir Serbinenko * 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 * 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 * 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 * util/grub.d/20_linux_xen.in: Add missing line. 2012-05-14 Vladimir Serbinenko * 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 * 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 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as a bad FS. 2012-05-13 Vladimir Serbinenko * 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 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS comment. 2012-05-12 Vladimir Serbinenko 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 * 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 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in filename. 2012-05-12 Vladimir Serbinenko * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact match in inner node. 2012-05-12 Vladimir Serbinenko * 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 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 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 * 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 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink handling. 2012-05-10 Vladimir Serbinenko * 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 * 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 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in counterpart. 2012-05-10 Vladimir Serbinenko 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 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 * configure.ac: Bump to beta5. 2012-05-09 Vladimir Serbinenko 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 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 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 * grub-core/script/yylex.l: Ugly fix for "\\\n ". * tests/grub_script_echo1.in: Add tests. 2012-05-08 Vladimir Serbinenko * util/grub-install.in: Ignore empty devicetree directory. 2012-05-08 Bean * 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 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for resulting hash as a precaution. 2012-05-08 Vladimir Serbinenko * 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 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 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 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into UTF-8. 2012-05-07 Vladimir Serbinenko * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into UTF-8. 2012-05-07 Vladimir Serbinenko * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive. 2012-05-07 Vladimir Serbinenko * 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 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB filesystems. 2012-05-06 Vladimir Serbinenko * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow. 2012-05-06 Vladimir Serbinenko * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow. 2012-05-06 Vladimir Serbinenko * 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 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 * util/grub-install.in: Fix handling of prefix containing spaces. 2012-05-04 Vladimir Serbinenko * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field. (grub_squash_read_data): Fix offset byte-swapping. 2012-05-04 Vladimir Serbinenko * 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 * include/grub/pci.h: Move enums into no-asm part. 2012-05-04 Vladimir Serbinenko * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison. 2012-05-04 Samuel Thibault * util/getroot.c (find_hurd_root_device): Try to make error message and comments to translators clearer. 2012-05-04 Vladimir Serbinenko * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments. 2012-05-04 Vladimir Serbinenko * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for btrfs. 2012-05-04 Vladimir Serbinenko * docs/grub.cfg: Update. 2012-05-04 Vladimir Serbinenko * docs/grub.texi (PXE): Remove not present variables. 2012-05-04 Vladimir Serbinenko * 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 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora entries. 2012-05-03 Vladimir Serbinenko * grub-core/commands/menuentry.c: Add TRANSLATORS comments. * grub-core/kern/emu/hostdisk.c: Likewise. 2012-05-03 Samuel Thibault 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 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd names. Reported by: Bastian Blank. 2012-05-03 Vladimir Serbinenko * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when crossing page boundary. 2012-05-03 Vladimir Serbinenko 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 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes and so on. 2012-05-03 Matthew Garrett 2012-05-03 Vladimir Serbinenko 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 * docs/grub.texi: Remove dot from the extension as it apparently doesn't work with some makeinfo versions. 2012-05-03 Vladimir Serbinenko * po/Makefile.in.in: Make msgfmt output in little-endian in accordance with GRUB expectance. 2012-05-03 Vladimir Serbinenko * util/grub-fstest.c (cmd_cmp): Compare directories recursively. 2012-05-03 Vladimir Serbinenko * 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 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 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect. 2012-05-03 Vladimir Serbinenko * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for inline symlinks in addition to workaround. 2012-05-03 Vladimir Serbinenko * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors. 2012-05-03 Vladimir Serbinenko * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask. 2012-05-03 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value. 2012-05-02 Vladimir Serbinenko 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 * 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 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes crash when embedding onto filesystem. 2012-05-02 Vladimir Serbinenko * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the name. 2012-05-01 Vladimir Serbinenko * grub-core/net/ip.c (handle_dgram): Fix undeclared variable. 2012-05-01 Vladimir Serbinenko * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong commit. 2012-05-01 Vladimir Serbinenko 2012-05-01 Bean * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison. 2012-05-01 Vladimir Serbinenko * 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 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak. 2012-05-01 Vladimir Serbinenko 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 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak. 2012-05-01 Vladimir Serbinenko * 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 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 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer allocation. 2012-04-29 Mads Kiilerich (tiny) * configure.ac: Detect starfield theme font path /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora. 2012-04-26 Vladimir Serbinenko * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24 geometry on serial consoles. 2012-04-26 Vladimir Serbinenko * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout because of network consoles. 2012-04-26 Vladimir Serbinenko * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue handling. 2012-04-26 Vladimir Serbinenko * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr falls on Q syndrom. 2012-04-26 Vladimir Serbinenko * 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 * 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 * 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 * 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 * util/grub-mkrescue.in: Fix locale directory. 2012-04-23 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (map): Make static. 2012-04-23 Bean * util/grub-fstest.c (fstest): Add missing break. 2012-04-22 Samuel Thibault 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 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 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 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening mode. 2012-04-18 Vladimir Serbinenko * configure.ac: Bump to beta4. 2012-04-18 Vladimir Serbinenko * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old --fs-uuid --set UUID syntax. 2012-04-18 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message disunification. 2012-04-18 Vladimir Serbinenko * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl. 2012-04-18 Mads Kiilerich * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave. 2012-04-18 Mike Gilbert * util/grub.d/10_linux.in: Fix detection of genkernel initramfs. 2012-04-18 Bean * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right place. 2012-04-18 Vladimir Serbinenko * 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 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 * util/grub-install.in: Fix an automatic target detection bug. 2012-04-18 Vladimir Serbinenko * util/grub-install.in: New option --efi-directory. 2012-04-17 Vladimir Serbinenko * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory boot services if we have no other choice. 2012-04-14 Vladimir Serbinenko * 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 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing. 2012-04-13 Vladimir Serbinenko * 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 * util/grub-setup.c (setup): Fix partition handling and blocklist check. 2012-04-13 Vladimir Serbinenko * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove redundant buggy overlap check. 2012-04-11 Vladimir Serbinenko * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue and grub-mknetdir. 2012-04-11 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing kh.loadflags on pre-2.00 kernels. 2012-04-11 Vladimir Serbinenko 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 * 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 * 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 * grub-core/lib/adler32.c: Recode due to license unclearness. 2012-04-07 Vladimir Serbinenko * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping (test_header): Likewise. 2012-04-07 Vladimir Serbinenko 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 * linguas.sh: Remove autogenerated *.po. 2012-04-04 Vladimir Serbinenko * po/README: Move language fetcing to ... * linguas.sh: ... here. * po/README: Point to linguas.sh. 2012-04-04 Vladimir Serbinenko * po/README: Exclude ko.po due to disclaimer problems. 2012-04-04 Vladimir Serbinenko * 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 * 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 * 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 * configure.ac: Increase version. 2012-04-01 Vladimir Serbinenko 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 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 * grub-core/loader/efi/appleloader.c (devpath_7): New var. (devs): Add MBP 2011. 2012-04-01 Vladimir Serbinenko * grub-core/font/font.c (blit_comb): Handle dagesh somewhat. 2012-04-01 Vladimir Serbinenko * grub-core/normal/cmdline.c (print_completion): New field prompt_len. (grub_cmdline_get): Handle width properly. 2012-04-01 Vladimir Serbinenko * grub-core/commands/lsacpi.c (options): Add missing terminator. 2012-03-31 Vladimir Serbinenko * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days after 29th of February. 2012-03-31 Vladimir Serbinenko 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 2012-03-31 Vladimir Serbinenko 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 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument recursion_depth. Break infinite resursions. All users updated. 2012-03-31 Vladimir Serbinenko * util/getroot.c (convert_system_partition_to_system_disk): Fix use after free. Reported by: Peter Jones. 2012-03-31 Anton Blanchard * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap 8 bit values. 2012-03-28 Vladimir Serbinenko * util/grub-install.in: Fix nvram call for PreP. 2012-03-28 Vladimir Serbinenko * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade the error when some elements are missing into a warning. 2012-03-28 Vladimir Serbinenko * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap. 2012-03-28 Colin Watson * docs/grub.texi (Invoking grub-probe): New section. Reported by: Filipus Klutiero. Fixes Debian bug #666031. 2012-03-27 Vladimir Serbinenko 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 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 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors. 2012-03-19 Vladimir Serbinenko * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix missing quotes which caused confusion among translators. 2012-03-19 Vladimir Serbinenko * util/grub-mkconfig_lib.in: Fix typo. 2012-03-19 Vladimir Serbinenko * 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 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub to work. 2012-03-19 Vladimir Serbinenko * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one starts with control character. 2012-03-19 Vladimir Serbinenko * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid overflow. (grub_gdb_outbuf): Likewise. 2012-03-19 Vladimir Serbinenko * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add zero terminator. Fixes a crash. 2012-03-11 Vladimir Serbinenko * 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 * 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 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 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 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check. 2012-03-10 Vladimir Serbinenko * configure.ac: Bump up the version to beta2. 2012-03-10 Vladimir Serbinenko 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 * 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 * util/import_unicode.py: Add missing brackets around string for python 3 support. 2012-03-10 Vladimir Serbinenko 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 * 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 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format in dprintf. 2012-03-10 Vladimir Serbinenko 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 * 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 * 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 * 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 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease dependencies. 2012-03-10 Richard Laager * util/grub.d/10_linux.in: Fix ZFS root passing. 2012-03-10 Vladimir Serbinenko * 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 * util/grub-mkfont.c (options): Use more appropriate "select" that "set" for face index. 2012-03-10 Vladimir Serbinenko * util/grub-editenv.c (options): Gettextize command summaries. 2012-03-10 Vladimir Serbinenko * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use "out of memory" error messagge. 2012-03-10 Vladimir Serbinenko * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning of diskfilter for diskfilter on diskfilter support. 2012-03-10 Vladimir Serbinenko * util/getroot.c (exec_pipe): Ensure that the child is not localised. 2012-03-10 Vladimir Serbinenko * util/grub-install.in: Check for themes/starfield/theme.txt and not themes/starfield. 2012-03-10 Vladimir Serbinenko * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup. 2012-03-10 Vladimir Serbinenko * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code. 2012-03-10 Vladimir Serbinenko * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end of error message. 2012-03-09 Vladimir Serbinenko * util/grub-install.in: Fix install non-PreP IEEE1275 install. 2012-03-09 Vladimir Serbinenko * 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 * 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 * 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 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning. 2012-03-08 Vladimir Serbinenko * 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 * 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 * po/POTFILES.in: Regenerate. Include *.h since they contain translatable strings as well. 2012-03-08 Vladimir Serbinenko * 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 * 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 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change. 2012-03-06 Vladimir Serbinenko * util/grub-install.in: Add missing dot at the end of sentence. 2012-03-06 Vladimir Serbinenko * 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 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the sentence. Reported by: Milo Casagrande. 2012-03-06 Vladimir Serbinenko * 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 * util/grub-mkimage.c (help_filter): Add missing capitalisation. 2012-03-06 Vladimir Serbinenko * grub-core/commands/search_wrap.c (options): Fix a typo. Reported by: David Prévot. 2012-03-06 Vladimir Serbinenko * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in description. 2012-03-06 Vladimir Serbinenko * util/grub-script-check.c (main): Fix a syntax error message which was unclear. 2012-03-06 Vladimir Serbinenko * util/grub-mkrescue.in (usage): Fix ROM capitalisation. 2012-03-06 Vladimir Serbinenko * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in messages. 2012-03-06 Vladimir Serbinenko * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options without argument. * util/grub-mount.c (options): Likewise. 2012-03-05 Vladimir Serbinenko * util/grub-mkimage.c (generate_image): Unify diskboot.img size message. 2012-03-05 Vladimir Serbinenko * 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 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages with similar messages in grub-fstest. 2012-03-05 Vladimir Serbinenko * 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 * 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 * configure.ac: Bump up the version to beta1. 2012-03-04 Vladimir Serbinenko * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the case when min_align = 0. 2012-03-04 Vladimir Serbinenko * 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 * util/grub-reboot.in (usage): Mention id posibility. * util/grub-set-default.in (usage): Likewise. 2012-03-04 Vladimir Serbinenko * 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 * grub-core/commands/menuentry.c (options): Remove GRUB_ARG_OPTION_REPEATABLE. Reported by: Andreas Vogel 2012-03-04 Andreas Vogel * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak. 2012-03-04 Hideki EIRAKU * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one error. 2012-03-04 Vladimir Serbinenko 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 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 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 * grub-core/script/execute.c (grub_script_return): Replace ambiguous "scope" with "body". 2012-03-03 Vladimir Serbinenko * 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 * 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 2012-03-03 Vladimir Serbinenko 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 2012-03-03 Vladimir Serbinenko 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 * util/grub-install.in: Load efivars unconditionally. 2012-03-03 Vladimir Serbinenko * po/Rules-piglatin: Change suffix from .po-update-en to .po-update-en-piglatin. 2012-03-03 Vladimir Serbinenko 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 * 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 * 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 * 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 * 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 * 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 * 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 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix absolutely unclear error message. 2012-03-02 Vladimir Serbinenko * util/grub-mkstandalone.in: Remove confusing leftover print. 2012-03-02 Vladimir Serbinenko * 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 * 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 * 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 * 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 * util/ieee1275/ofpath.c (my_isdigit): New function. (trailing_digits): Use my_isdigit. (strip_trailing_digits): Likewise. 2012-03-02 Vladimir Serbinenko * 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 * grub-core/kern/i386/pc/startup.S: Define __start. 2012-03-02 Vladimir Serbinenko * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since strip already transforms he format. 2012-03-02 Vladimir Serbinenko * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata. 2012-02-29 Vladimir Serbinenko * 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 * po/Rules-swiss: Fix header comment. 2012-02-29 Andreas Vogel * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which resulted in leak of arguments. 2012-02-29 Vladimir Serbinenko * 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 * gentpl.py (kernel): Rewrite Apple part. 2012-02-29 Vladimir Serbinenko * include/grub/kernel.h (FOR_MODULES): Check module magic. 2012-02-29 Vladimir Serbinenko * util/grub-mkimagexx.c (locate_sections): Support non-standard ELF section gap. (load_image): Likewise. 2012-02-29 Vladimir Serbinenko * configure.ac: Fix a typo in previous commit. 2012-02-29 Vladimir Serbinenko 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 * grub-core/Makefile.core.def (lzma_decompress): Use TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext. 2012-02-29 Vladimir Serbinenko * grub-core/genmod.sh.in: Rewrite the Apple part. 2012-02-29 Vladimir Serbinenko * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned comparison. 2012-02-29 Vladimir Serbinenko * acinclude.m4 (grub_CHECK_PIC): New test. * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default. 2012-02-29 Vladimir Serbinenko * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so to avoid the warning. 2012-02-29 Vladimir Serbinenko * 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 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 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]: Add blocksize retrieval. 2012-02-29 Vladimir Serbinenko * configure.ac: Restore CFLAGS after efiemu check. 2012-02-29 Vladimir Serbinenko * configure.ac: Move -fnested-functions to CPPFLAGS to workaround Apple bug. 2012-02-29 Vladimir Serbinenko * grub-core/Makefile.am (MACHO2IMG): Add missing variable. 2012-02-29 Vladimir Serbinenko * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute. (grub_cmd_halt): Likewise. 2012-02-29 Vladimir Serbinenko * 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 * grub-core/disk/diskfilter.c (read_segment): Initialise err before loops. 2012-02-29 Vladimir Serbinenko * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void * for context. 2012-02-29 Vladimir Serbinenko * 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 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to sane value to avoid a spurious warning. 2012-02-29 Vladimir Serbinenko * 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 * 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 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of hardcoding the relevant info. 2012-02-29 Vladimir Serbinenko * 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 * util/getroot.c [__APPLE__]: Add missing includes. (grub_util_biosdisk_is_floppy): Fix usage of undefined variable. 2012-02-29 Vladimir Serbinenko * util/grub-mkimage.c (generate_image): Silence spurious warning. 2012-02-29 Vladimir Serbinenko * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to avoid conflicts. 2012-02-29 Vladimir Serbinenko * util/ieee1275/grub-ofpathname.c: Add missing config.h include. 2012-02-29 Vladimir Serbinenko * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration and grub_file_close call. 2012-02-29 Vladimir Serbinenko 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 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error. 2012-02-28 Vladimir Serbinenko 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 * 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 * 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 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification. 2012-02-27 Vladimir Serbinenko * configure.ac: Bump to 2.00~beta0. 2012-02-27 Vladimir Serbinenko * util/getroot.c (grub_find_root_devices_from_btrfs): Add missing initialisation. 2012-02-27 Vladimir Serbinenko * grub-core/partmap/msdos.c (message_warn): Clarify messages. 2012-02-27 Vladimir Serbinenko 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 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing zeroing of CRC field before computing CRC. 2012-02-27 Vladimir Serbinenko * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak. Change order of allocations to decrease fragmentation. 2012-02-27 Vladimir Serbinenko * Makefile.util.def (grub-ofpathname): Enable on all platforms. 2012-02-27 Colin Watson 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 * 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 * 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 * util/grub-install.in: Clarify strings. Fix source dir check. 2012-02-27 Richard Laager * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle "zfs" and "fuse.zfs" as synonyms. 2012-02-27 Vladimir Serbinenko * configure.ac: Put platform and target_cpu substitutions back since they are used for directories. 2012-02-27 Richard Laager 2012-02-27 Vladimir Serbinenko * util/grub.d/10_linux.in: Add ZFS-related arguments. * util/grub.d/20_linux_xen.in: Likewise. 2012-02-27 Richard Laager * util/getroot.c (find_root_devices_from_poolname): Handle vdevs with full paths. 2012-02-27 Richard Laager * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing unescape. 2012-02-27 Vladimir Serbinenko 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 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 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 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 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 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 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing const qualifier for vendor_guid. 2012-02-27 Vladimir Serbinenko * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing const qualifier. (efiemu_memequal): Likewise. (find_variable): Likewise. 2012-02-27 Vladimir Serbinenko Fix missing console prototype on qemu-mips. * include/grub/mips/qemu_mips/console.h: New file. 2012-02-27 Matthew Garrett 2012-02-27 Vladimir Serbinenko * 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 * include/grub/efi/pci.h: New file to define EFI PCI protocols. 2012-02-27 Vladimir Serbinenko * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one error. 2012-02-27 Vladimir Serbinenko * 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 * util/grub-mknetdir.in (grub_prefix): Removed. (subdir): Use @bootdirname@ and @grubdirname@. 2012-02-27 Vladimir Serbinenko Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir. 2012-02-27 Vladimir Serbinenko * po/POTFILES.in: Regenerated. 2012-02-27 Vladimir Serbinenko 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 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a warning. 2012-02-27 Vladimir Serbinenko * util/grub-install.in: Use file identifier if no UUID is available or user explicitly prompted for it. 2012-02-27 Navdeep Parhar * 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 * conf/Makefile.common (platformdir): Base on pkglibdir and not pkglibrootdir. 2012-02-27 Mike Gilbert Add configure flag to control libzfs integration. * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic. 2012-02-26 Vladimir Serbinenko * 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 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 Make nand a prefix for nand devices. * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand. 2012-02-26 Vladimir Serbinenko * grub-core/kern/misc.c (grub_stpcpy): Move from here ... * include/grub/misc.h (grub_stpcpy): ... to here. Inlined. 2012-02-26 Vladimir Serbinenko * 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 * grub-core/kern/i386/realmode.S: Remove useless align. 2012-02-26 Vladimir Serbinenko * include/grub/dl.h (grub_dl_load_file): Don't export. 2012-02-26 Vladimir Serbinenko * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless grub_dprintf. 2012-02-26 Vladimir Serbinenko * 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 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 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip. 2012-02-26 Vladimir Serbinenko * 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 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 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 * 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 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label errors. 2012-02-26 Vladimir Serbinenko * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on \0. (add_length): Likewise. 2012-02-26 Vladimir Serbinenko 2012-02-26 Lubomir Kundrak 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 * 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 $"..." 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 * gentpl.py: Remove obsolete pkglib_DATA handling. 2012-02-26 Vladimir Serbinenko 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 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 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 Another round of string clarification and adding TRANSLATORS comments. 2012-02-26 Vladimir Serbinenko * util/grub-mknetdir.in: Remove erroneous reference to install_device. 2012-02-26 Vladimir Serbinenko * 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 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add trailing newline implicitly. All users updated. 2012-02-26 Vladimir Serbinenko 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 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device name as if it was an alias. 2012-02-25 Vladimir Serbinenko * grub-core/commands/lsacpi.c (options): Fix typo. 2012-02-25 Vladimir Serbinenko 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 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property): Put back accidently commented-out code. 2012-02-24 Vladimir Serbinenko * 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 * util/grub-install.in: Fix usage of wrong device for PreP install. 2012-02-24 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template for usual informative messages. 2012-02-23 Dalet Omega 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 * util/grub.d/00_header.in: Add missing export theme. 2012-02-22 Vladimir Serbinenko * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is already included. Reported by: Eren D. 2012-02-22 Vladimir Serbinenko * conf/Makefile.common (grubdatadir): Removed. (Makefile.am): Move eveything grubdata to pkgdata. 2012-02-22 Vladimir Serbinenko * grub-core/commands/acpihalt.c (get_sleep_type): Remove unused variable. 2012-02-22 Vladimir Serbinenko * 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 * po/POTFILES.in: Regenerate. 2012-02-22 Vladimir Serbinenko * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op -Wno-error=missing-noreturn. 2012-02-22 Vladimir Serbinenko * 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 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop condition to avoid possibly infinite loops. 2012-02-22 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn on show_error. 2012-02-22 Vladimir Serbinenko * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier. 2012-02-22 Vladimir Serbinenko * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init. 2012-02-22 Vladimir Serbinenko * util/bin2h.c (usage): Add missing attribute noreturn. 2012-02-22 Vladimir Serbinenko * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow if the size isn't divisible by 512. 2012-02-22 Vladimir Serbinenko 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 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code and -Wunused-result. 2012-02-21 Vladimir Serbinenko * grub-core/net/net.c (grub_cmd_deladdr): Fix index. Reported by: Seth Goldberg 2012-02-21 Vladimir Serbinenko * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled. 2012-02-19 Samuel Thibault * 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 * 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 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 * 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 * 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 * include/grub/test.h (GRUB_UNIT_TEST) 2012-02-12 Vladimir Serbinenko * 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 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid rimplicit redifinition. 2012-02-12 Vladimir Serbinenko * docs/grub.texi (Internationalisation): Detail (lack of) collation in GRUB. 2012-02-12 Vladimir Serbinenko * 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 * 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 * grub-core/term/terminfo.c (grub_terminfo_output_unregister): Mark calling with invalid term as GRUB_ERR_BUG. 2012-02-12 Vladimir Serbinenko * grub-core/net/tftp.c (tftp_receive): Silently discard too short packets rather than raising an error. 2012-02-12 Vladimir Serbinenko * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set in if. 2012-02-12 Vladimir Serbinenko * 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 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing device name. 2012-02-12 Vladimir Serbinenko * grub-core/fs/ntfs.c (locate_attr): Avoid set in if. (grub_ntfs_iterate_dir): Likewise. 2012-02-12 Vladimir Serbinenko 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 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error handling. 2012-02-12 Vladimir Serbinenko * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running on partition. 2012-02-12 Vladimir Serbinenko * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno. 2012-02-12 Vladimir Serbinenko Improve string. Gettextize. 2012-02-11 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * gentpl.py: Add missing license header. * docs/grub.texi: Update copyright year. 2012-02-10 Grégoire Sutre 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 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 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute address. 2012-02-10 Vladimir Serbinenko * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Avoid improper use of strings. (grub_cmd_legacy_initrdnounzip): Likewise. 2012-02-10 Vladimir Serbinenko * 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 * util/grub-mount.c (fuse_init): Avoid improper use of strings. * util/grub-fstest.c (fstest): Likewise. 2012-02-10 Vladimir Serbinenko * 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 * util/import_gcry.py: Include grub/crypto.h in init.c. 2012-02-10 Vladimir Serbinenko * 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 * 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 * util/grub-mkrelpath.c (argp_parser): Remove unused variable. 2012-02-10 Vladimir Serbinenko * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable. (main): Likewise. Use xmalloc. Respect format security. 2012-02-10 Vladimir Serbinenko * util/grub-mklayout.c (console_grub_equivalence): Make "layout" a const char *. (argp_parser): Remove unused variable. 2012-02-10 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * 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 * util/grub-script-check.c (argp_parser): Remove unused variable. (main): Rename read to curread to avoid shadowing. 2012-02-10 Vladimir Serbinenko * 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 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed. (FUNCTION) [GRUB_UTIL]: Likewise. (VARIABLE) [GRUB_UTIL]: Likewise. 2012-02-10 Vladimir Serbinenko * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and NEED_REGISTER_FRAME_INFO in GRUB_UTIL. 2012-02-10 Vladimir Serbinenko * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static buffer. 2012-02-10 Vladimir Serbinenko * 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 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables. (grub_util_ldm_embed): Likewise. 2012-02-10 Vladimir Serbinenko * 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 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline to arg_getline to avoid shadowing. 2012-02-10 Vladimir Serbinenko * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to disk_ to avoid shadowing. 2012-02-10 Vladimir Serbinenko * 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 * grub-core/fs/squash4.c (direct_read): Rename read to curread to avoid shadowing. 2012-02-10 Vladimir Serbinenko * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename argument from encrypt to do_encrypt to avoid shadowing. 2012-02-09 Vladimir Serbinenko * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix incorrect nesting of #if's. 2012-02-09 Vladimir Serbinenko * 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 * 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 * 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 * 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 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Fix declaration. 2012-02-09 Vladimir Serbinenko * 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 * 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 * grub-core/kern/emu/hostfs.c (grub_hostfs_close): Remove unused variable. 2012-02-09 Vladimir Serbinenko * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load): Remove set in if. 2012-02-09 Vladimir Serbinenko * include/grub/net.h: Remove double declarations. 2012-02-09 Vladimir Serbinenko 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 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 * grub-core/video/colors.c (grub_video_parse_color): Fix error message. Remove assignment in if while on it. 2012-02-09 Vladimir Serbinenko * util/grub-mkstandalone.in: Fix modules directory. 2012-02-09 Vladimir Serbinenko * 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 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 * 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 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid uninited variable. 2012-02-08 Vladimir Serbinenko * util/grub-mknetdir.in: Use . rather than source for POSIX compatibility. 2012-02-08 Vladimir Serbinenko * util/grub-probe.c (main): Fix trailing space in compatibility hint. 2012-02-08 Vladimir Serbinenko * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited variable. 2012-02-08 Vladimir Serbinenko * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name without quotes. 2012-02-08 Vladimir Serbinenko * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs. 2012-02-08 Vladimir Serbinenko * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse iteration of partitions. 2012-02-08 Vladimir Serbinenko Improve gettext support. Stylistic fixes and error handling fixes while on it. 2012-02-07 Vladimir Serbinenko * 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 * 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 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 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 * 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 * 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 * 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 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return NULL when the argument `level' has an unexpected value. 2012-02-04 Vladimir Serbinenko 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 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to grub_error framework. All users updated. 2012-02-04 Vladimir Serbinenko * 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 * grub-core/script/execute.c (grub_script_return): Fix warning. 2012-02-04 Vladimir Serbinenko * grub-core/script/execute.c (grub_script_return): Fix potential NULL-dereference. Reported by: Jim Meyering. 2012-02-03 Vladimir Serbinenko * po/POTFILES.in: Regenerate. * util/grub-install.in: Gettextize the strings missed in first pass. 2012-02-03 Vladimir Serbinenko * 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 * 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 * 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 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment. 2012-02-03 Vladimir Serbinenko * util/grub-kbdcomp.in: Add decent help and gettextize. * docs/man/grub-kbdcomp.h2m: New file. 2012-02-03 Vladimir Serbinenko 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 * 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 * 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 * grub-core/kern/mm.c: Add missing include of i18n.h * grub-core/lib/relocator.c: Likewise. 2012-02-03 Vladimir Serbinenko * 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 * 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 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 * util/grub-mkconfig.in: Use umask rather than chmod to create grub.cfg.new to avoid insecure grub.cfg. 2012-02-03 Vladimir Serbinenko * 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 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error number. 2012-02-03 Vladimir Serbinenko * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message. 2012-02-03 Vladimir Serbinenko * 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 * 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 * 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 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name failure. Put back lost PRINT_DRIVE. 2012-02-03 Richard Laager * 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 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 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation. 2012-02-01 Vladimir Serbinenko * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset symbol. Reported by: NODA, Kai . 2012-02-01 Vladimir Serbinenko 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 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash if no submenu is present. 2012-02-01 Aleš Nesrsta 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 2012-02-01 Vladimir Serbinenko 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 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype check as some mkfs implementations omit it. 2012-01-31 Vladimir Serbinenko * docs/grub.texi (Unicode): Mention identifier and space limitations. 2012-01-31 Vladimir Serbinenko * 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 * 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 * 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 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going over the sector. 2012-01-31 Vladimir Serbinenko * 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 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to sizeof while on it. 2012-01-30 Vladimir Serbinenko * 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 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 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 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect variable. 2012-01-29 Vladimir Serbinenko * grub-core/lib/posix_wrap/string.h (memchr): New function. 2012-01-29 Vladimir Serbinenko * po/POTFILES.in: Regenerate. 2012-01-29 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * 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 * 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 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed. 2012-01-29 Vladimir Serbinenko * util/grub-pe2elf.c (ehdr): Make static. (shdr): Likewise. (num_sections): Likewise. (offset): Likewise. 2012-01-29 Vladimir Serbinenko 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 * grub-core/normal/completion.c (iterate_dev): Close the disk. 2012-01-29 Vladimir Serbinenko 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 * include/grub/list.h (grub_list_remove): Don't crash if element is removed twice. 2012-01-29 Vladimir Serbinenko 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 * 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 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic and improve performance. 2012-01-29 Vladimir Serbinenko * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix missing ieee1275/ prefix on whole disk. 2012-01-29 Vladimir Serbinenko * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove. * include/grub/powerpc/ieee1275/biosdisk.h: Likewise. 2012-01-29 Vladimir Serbinenko * grub-core/fs/cpio.c (handle_symlink): Fix a bug. 2012-01-29 Vladimir Serbinenko 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 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 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms. 2012-01-27 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go pastthe end. 2012-01-27 Vladimir Serbinenko * util/grub-install.in: Add missing \. Reported by: gentoofan 2012-01-26 Vladimir Serbinenko * 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 * docs/grub.texi (Platform limitations): New section. (Platform-specific operations): Likewise. * docs/grub-dev.texi (Porting): Likewise. 2012-01-25 Vladimir Serbinenko 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 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 * 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 * 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 * util/grub-install.in: Fix an ARC bug. Print a warning if no platform-specific setup is available. 2012-01-24 Vladimir Serbinenko 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 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 * 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 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 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 * 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 2012-01-23 Vladimir Serbinenko 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 * 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 2012-01-22 Zachary Bedell 2012-01-22 Richard Laager * 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 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of dprintf in no-malloc zone. 2012-01-22 Mario Limonciello * configure.ac: Add back in test for limits.h. 2012-01-20 Vladimir Serbinenko 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 * 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 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 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in GRUB_UTIL. (grub_set_datetime_cmos): Likewise. 2012-01-18 Vladimir Serbinenko 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 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove set but not used variable. 2012-01-14 Vladimir Serbinenko * 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 * 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 * configure.ac: Refise build qemu_mips w/o unifont. 2012-01-14 Vladimir Serbinenko 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 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with direct.inode = 0. 2012-01-14 Vladimir Serbinenko * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define. 2012-01-14 Vladimir Serbinenko * include/grub/datetime.h (grub_datetime2unixtime): Fix offset. 2012-01-14 Vladimir Serbinenko * 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 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp rather than a hack for grub_strncasemap. 2012-01-14 Vladimir Serbinenko 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 * 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 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 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and handle NULL appropriately. Remove MIN. 2012-01-13 Vladimir Serbinenko 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 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of grub_probe. Reported by: adamwill 2012-01-12 Seth Goldberg * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference. 2012-01-12 Vladimir Serbinenko 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 * grub-core/normal/charset.c: Move comment to right place. 2012-01-11 Vladimir Serbinenko * 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 * docs/grub.texi (Unicode): Mention several other unsupported features. 2011-12-26 Vladimir Serbinenko * 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 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 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 * 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 * 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 * 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 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1. 2011-12-25 Vladimir Serbinenko * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm. 2011-12-25 Vladimir Serbinenko * unicode: Import Unicode 6.0 data. 2011-12-25 Vladimir Serbinenko * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values outside of range. 2011-12-25 Vladimir Serbinenko 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 * 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 * 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 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 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases. 2011-12-25 Vladimir Serbinenko * docs/grub.texi (Filesystems): Mention AFS. 2011-12-25 Vladimir Serbinenko * docs/grub.texi (Filesystems): Clarify restrictions. (Regexp): Mention non-Unicode regexp behaviour. (Other): Mention non-Unicode matching behaviour. 2011-12-24 Vladimir Serbinenko 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 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example. 2011-12-24 Vladimir Serbinenko 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 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): Restructure to avoid warning. 2011-12-24 Vladimir Serbinenko * util/grub-install.in: Account for possible escaped comma in device name. 2011-12-24 Vladimir Serbinenko * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary channel. 2011-12-24 Vladimir Serbinenko * 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 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for unaligned segments. 2011-12-24 Vladimir Serbinenko * 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 * docs/grub.texi (Filesystems): Update. 2011-12-23 Vladimir Serbinenko 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 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 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names occupying the whole field size. 2011-12-23 Lukas Anzinger * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names. 2011-12-23 Vladimir Serbinenko * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition. 2011-12-23 Seth Goldberg * grub-core/Makefile.core.def (lzma_decompress): Add missing TARGET_IMG_LDFLAGS. 2011-12-23 Vladimir Serbinenko * 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 * 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 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for _LzmaDecodeA. 2011-12-22 Vladimir Serbinenko * docs/grub.texi (Internationalisation): New section. 2011-12-22 Vladimir Serbinenko * docs/grub.texi (Loopback booting): New section. 2011-12-22 Keshav P R * util/grub-mkstandalone.in: Fix minor typo errors. 2011-12-20 Vladimir Serbinenko 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 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace UINT_TO_PTR with cast. 2011-12-15 Vladimir Serbinenko * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We don't use them. 2011-12-15 Vladimir Serbinenko * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's already there. 2011-12-15 Vladimir Serbinenko * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid confusing ipxe. 2011-12-15 Vladimir Serbinenko * 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 * 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 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address. 2011-12-15 Vladimir Serbinenko 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 * 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 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case text_width > available width a bit more gracefully. 2011-12-15 Vladimir Serbinenko * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix current address calculation. 2011-12-15 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not stack. (encode_block): Likewise. 2011-12-15 Vladimir Serbinenko * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for certainety. 2011-12-15 Vladimir Serbinenko * 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 * grub-core/kern/i386/realmode.S: Increase alignment. * grub-core/boot/i386/pc/startup_raw.S: Likewise. 2011-12-14 Vladimir Serbinenko * 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 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster. 2011-12-14 Vladimir Serbinenko * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing brackets. 2011-12-14 Vladimir Serbinenko * 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 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if. 2011-12-14 Vladimir Serbinenko * 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 * 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 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 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison overflow. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness. 2011-12-13 Vladimir Serbinenko * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys. (grub_hfs_iterate_dir): Likewise. 2011-12-13 Vladimir Serbinenko 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 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support HH22 and HM10 relocations. 2011-12-13 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing. 2011-12-13 Vladimir Serbinenko * grub-core/commands/videotest.c (grub_cmd_videotest): Check that allocation succeeded. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of add_part to workaround compiler bug. 2011-12-13 Vladimir Serbinenko * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix incorrect pointer. 2011-12-13 Vladimir Serbinenko * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer. (grub_pata_pio_write): Likewise. 2011-12-13 Vladimir Serbinenko 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 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove redundant declaration. 2011-12-13 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute as it's not necessarily aligned. 2011-12-13 Vladimir Serbinenko * 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 * 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 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment. 2011-12-13 Vladimir Serbinenko * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer arithmetic to conserve alignment invariants. 2011-12-13 Vladimir Serbinenko * 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 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast to match types. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16 to get freetag and skip. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align name for checksum and fix allocation algorithm. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/normal/datetime.c (grub_weekday_names): Make const. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor conditionals. 2011-12-13 Vladimir Serbinenko * grub-core/kern/emu/main.c (main): Add missing const qualifier. * grub-core/loader/efi/appleloader.c (devdata): Likewise. 2011-12-13 Vladimir Serbinenko 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 * grub-core/disk/raid.c (scan_devices): Fix condition. 2011-12-13 Vladimir Serbinenko * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties): Make name a const ptr. 2011-12-13 Vladimir Serbinenko * 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 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable. (grub_cmd_acpi) [!x86]: Disable EBDA. 2011-12-13 Vladimir Serbinenko 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 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned specification. 2011-12-13 Vladimir Serbinenko * 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 * 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 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition. 2011-11-30 Vladimir Serbinenko 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 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf. 2011-11-27 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (recovery): Fix spelling. (read_device): Fix size calculation. 2011-11-25 Robert Millan * util/getroot.c [HAVE_LIMITS_H]: Include `'. (find_root_device_from_libzfs): Add zpool output parser to be used as fallback when libzfs isn't available. 2011-11-25 Seth Goldberg * po/Makefile.in.in: Add missing escape-continuation. 2011-11-25 Vladimir Serbinenko * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly. 2011-11-16 Vladimir Serbinenko * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling. 2011-11-16 Vladimir Serbinenko * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments. 2011-11-16 Vladimir Serbinenko * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment. 2011-11-14 Vladimir Serbinenko * 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 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 * util/grub-mount.c (argp_parser): Accept relative pathes. * util/grub-fstest.c (argp_parser): Likewise. 2011-11-13 Vladimir Serbinenko 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 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 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling. 2011-11-12 Vladimir Serbinenko * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore disk->partiton for safety. 2011-11-12 Vladimir Serbinenko * 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 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak. 2011-11-12 Vladimir Serbinenko * include/grub/lvm.h (grub_lvm_pv): Correct start type. 2011-11-12 Vladimir Serbinenko 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 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 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 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 Fix bug introduced by previous commit. * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly. 2011-11-12 Vladimir Serbinenko 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 * configure.ac: Add -fno-asynchronous-unwind-tables. 2011-11-12 Vladimir Serbinenko 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 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 2011-11-12 Colin Watson * 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 * 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 * util/getroot.c (grub_util_get_geom_abstraction): Remove __attribute__((unused)) from `os_dev', which *is* being used. 2011-11-11 Vladimir Serbinenko * 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 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 * 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 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 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic fix. 2011-11-11 Vladimir Serbinenko * 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 * util/grub-macho2img.c: Add comment concerning gettext. * grub-core/lib/legacy_parse.c: Likewise. 2011-11-11 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vprintf): Add missing va_end. (grub_xvasprintf): Likewise. 2011-11-11 Vladimir Serbinenko 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 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call. 2011-11-11 Vladimir Serbinenko * 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 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property): Fix prototype. 2011-11-11 Vladimir Serbinenko 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 * 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 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Issue error rather than printf on unknown arguments. 2011-11-11 Vladimir Serbinenko * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property): Make buf a const. 2011-11-11 Vladimir Serbinenko * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI): Fix module name. 2011-11-11 Vladimir Serbinenko * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove leftover debug printf. 2011-11-11 Vladimir Serbinenko * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix. 2011-11-11 Vladimir Serbinenko * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table): A stylistic fix. 2011-11-11 Vladimir Serbinenko * grub-core/commands/probe.c (grub_cmd_probe): Fix error message. 2011-11-10 Shea Levy 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 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 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 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning. 2011-11-10 Vladimir Serbinenko 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 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat argument (access out of bounds). 2011-11-10 Vladimir Serbinenko * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for >= 6 drives. 2011-11-10 Vladimir Serbinenko * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge): Fix declaration. 2011-11-09 Vladimir Serbinenko 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 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to avoid accessing beyond the array. 2011-11-09 Vladimir Serbinenko * configure.ac: Add missing -mXX to TARGET_CPPFLAGS. 2011-11-09 Vladimir Serbinenko 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 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed with no error set. 2011-11-08 Vladimir Serbinenko * 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 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 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 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 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 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 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath. 2011-11-08 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used variable. 2011-11-08 Vladimir Serbinenko 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 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 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 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 * util/grub-install.in: Fix condition for config_opt. 2011-11-04 Vladimir Serbinenko 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 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 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 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 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector for the right device. 2011-11-04 Vladimir Serbinenko * 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 * 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 * util/grub-mkrescue.in: Fix handling xorriso option. 2011-11-03 Vladimir Serbinenko * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is NULL. 2011-11-03 crocket * util/grub.d/10_linux.in: Add Slackware initrd naming. 2011-11-03 Vladimir Serbinenko 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 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field as well. 2011-11-03 Vladimir Serbinenko 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 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock field. 2011-11-03 Vladimir Serbinenko * grub-core/fs/zfs/zfs.c (read_device): Support raidz3. 2011-11-02 Vladimir Serbinenko * 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 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 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 * 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 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 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 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of long symlinks. 2011-10-30 Vladimir Serbinenko 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 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 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 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type string. 2011-10-30 Vladimir Serbinenko 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 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks. 2011-10-30 Vladimir Serbinenko * grub-core/fs/bfs.c: Run indent. 2011-10-30 Vladimir Serbinenko 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 * util/grub-fstest.c (cmd_cp): Clarify error message. (cmd_cmp): Likewise. 2011-10-30 Yves Blusseau * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs and befs_be. 2011-10-29 Vladimir Serbinenko 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 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 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 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 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 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 * grub-core/disk/raid.c (scan_devices): Check partition. * grub-core/disk/lvm.c (do_lvm_scan): Likewise. 2011-10-27 Vladimir Serbinenko 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 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning. (zfs_unmount): Fix memory leak. 2011-10-26 Vladimir Serbinenko 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 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated. 2011-10-26 Vladimir Serbinenko 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 * 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 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length. 2011-10-26 Vladimir Serbinenko 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 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one error. 2011-10-26 Vladimir Serbinenko 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 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname. 2011-10-25 Vladimir Serbinenko 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 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak. 2011-10-25 Vladimir Serbinenko * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux. 2011-10-25 Vladimir Serbinenko 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 * 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 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 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 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 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak. 2011-10-25 Vladimir Serbinenko * grub-core/fs/romfs.c (grub_romfs_open): Add missing return. 2011-10-24 Vladimir Serbinenko 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 * 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 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 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 * 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 * 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 * util/import_gcry.py: Automatically fix camellia.c and camellia.h. 2011-10-23 Vladimir Serbinenko * util/import_gcry.py: Accept space between # and include. 2011-10-23 Vladimir Serbinenko * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S. 2011-10-23 Vladimir Serbinenko 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 * 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 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static inline function rather than a define. 2011-10-23 Vladimir Serbinenko * util/grub-setup.c: Add missing include. 2011-10-23 Vladimir Serbinenko * util/ieee1275/grub-ofpathname.c: Add missing include. 2011-10-23 Vladimir Serbinenko * 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 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of grub_memcmp usage. 2011-10-23 Vladimir Serbinenko * util/grub-install.in: Add datarootdir as per automake manual suggestion. * util/grub-mknetdir.in: Likewise. 2011-10-23 Vladimir Serbinenko * 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 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 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible NULL pointer dereference. 2011-10-19 Vladimir Serbinenko 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 * util/grub-install.in: Declare IEEE1275 as able to find out the disk name. 2011-10-19 Vladimir Serbinenko * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix. 2011-10-19 Vladimir Serbinenko * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Don't add the bogus brackets. 2011-10-19 Vladimir Serbinenko 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 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 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 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 * configure.ac: Check for __ctzdi2 and __ctzsi2. * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present. 2011-10-16 Vladimir Serbinenko 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 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 * 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 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs. 2011-10-15 Robert Millan Fix build problem on FreeBSD and GNU/kFreeBSD. * util/getroot.c [__FreeBSD_kernel__]: Include `'. 2011-10-14 Vladimir Serbinenko 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 * 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 * 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 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_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 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 * 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 * 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 * gentpl.py: Use Autogen macros so that the output template file (Makefile.tpl) size is reduced. 2011-09-29 Mads Kiilerich * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to extra_dist. 2011-09-29 Mario Limonciello * 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 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use _fullpath. 2011-09-29 Mario Limonciello 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 * 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 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to loader. 2011-09-28 Andreas Born 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 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Return 0 if disk isn't biosdisk. 2011-09-17 Grégoire Sutre * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3) on NetBSD. * Makefile.util.def (grub-fstest): Likewise. 2011-09-17 Grégoire Sutre * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]: Get sector size from disk label. 2011-09-05 Colin Watson * 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 * 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 * grub-core/commands/wildcard.c (make_regex): Handle @. 2011-08-23 Vladimir Serbinenko * util/grub-install.in: Move cryptodisk logic to appropriate place. 2011-08-21 Szymon Janc * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for AC_LANG_CONFTEST macros. 2011-08-20 Szymon Janc 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 * 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 * 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 * 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 * 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 * 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 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure. 2011-08-19 Vladimir Serbinenko 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 * configure.ac: Don't impose march=loongson2f on loongson platform. (It can still be specified in TARGET_CFLAGS) 2011-08-19 Vladimir Serbinenko 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 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 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag. * grub-core/Makefile.am: Likewise. 2011-08-16 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with non-zero pull. 2011-08-16 Vladimir Serbinenko * 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 * util/grub-setup.c (main): Add missing gcry initialisation. 2011-08-16 Vladimir Serbinenko 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 2011-08-15 Colin Watson * 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 * util/grub-probe.c: Remove duplicate #include. 2011-08-10 Robert Millan 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 * 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 * 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 * 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 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 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 * util/grub-install.in: Don't use uhci outside of x86. 2011-07-25 Vladimir Serbinenko * util/grub-mkrescue.in: Add missing quotes. 2011-07-25 Vladimir Serbinenko * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL dereference. 2011-07-23 Vladimir Serbinenko * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait. 2011-07-23 Vladimir Serbinenko * include/grub/video.h: add missing EXPORT_FUND on grub_video_edid_checksum and grub_video_edid_preferred_mode. 2011-07-23 Vladimir Serbinenko * include/grub/mips/kernel.h: Fix define conflict. 2011-07-23 Vladimir Serbinenko * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush all four ways. 2011-07-21 Colin Watson 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 * util/grub-install.in: Recognize ESP mounted at /boot/EFI. 2011-07-10 Vladimir Serbinenko * po/POTFILES.in: Regenerate. 2011-07-10 Vladimir Serbinenko * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix incorrect memory usage. 2011-07-10 Vladimir Serbinenko * util/grub-install.in: Source grub-mkconfig_lib. 2011-07-08 Vladimir Serbinenko 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 * po/POTFILES.in: Regenerate. 2011-07-07 Vladimir Serbinenko 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 2011-07-07 Michael Gorven 2011-07-07 Clemens Fruhwirth 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 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 * po/POTFILES.in: Regenerate. 2011-07-06 Vladimir Serbinenko 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 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new grub_read_cmos prototype. 2011-07-05 Vladimir Serbinenko 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 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 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 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 * 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 * 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 * grub-core/Makefile.core.def (chain): Fix coreboot filename. 2011-06-27 Vladimir Serbinenko * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a mismerge. 2011-06-27 Vladimir Serbinenko 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 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure if it happens. 2011-06-27 Vladimir Serbinenko 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 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export. 2011-06-27 Vladimir Serbinenko * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption when handling leftovers. 2011-06-27 Vladimir Serbinenko * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version so that help2man doesn't fail. 2011-06-27 Vladimir Serbinenko * 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 * grub-core/commands/videoinfo.c (hook): Indicate current video mode with `*'. (grub_cmd_videoinfo): Fetch current video mode. 2011-06-27 Vladimir Serbinenko * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K because of underlying system restrictions. 2011-06-27 Vladimir Serbinenko * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when necessary. 2011-06-27 Vladimir Serbinenko 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 * 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 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix prototype. (get_card_packet): Likewise. 2011-06-26 Yves Blusseau 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 * 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 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment. 2011-06-25 Vladimir Serbinenko * 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 * grub-core/io/xzio.c: Fix code style issues 2011-06-24 Vladimir Serbinenko 2011-06-24 Manoel Rebelo Abranches Network infrastructure. The ARP protocol was made by Paulo Pinatti * 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 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable names. 2011-06-24 Vladimir Serbinenko * 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 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and .. 2011-06-24 Vladimir Serbinenko * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load partmap before abstraction. 2011-06-24 Alexander Kurtz * util/grub-mkconfig_lib.in: Add missing quotes. 2011-06-24 Vladimir Serbinenko * 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 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 * 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 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 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 * util/ieee1275/ofpath.c (check_sas): Close fd. (main): Free of_path. Reported by: David Volgyes . 2011-06-23 Vladimir Serbinenko * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close. Reported by: David Volgyes . 2011-06-23 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close file after stat. Reported by: David Volgyes . 2011-06-23 Vladimir Serbinenko * util/raid.c (grub_util_raid_getmembers): Close fd before returning. Reported by: David Volgyes . 2011-06-23 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]: Prevent memory leak. 2011-06-23 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak. (main): Close file. Reported by: David Volgyes . 2011-06-23 Vladimir Serbinenko * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt to continue if allocation is failed. Reported by: David Volgyes . 2011-06-23 David Volgyes * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer dereference. 2011-06-23 Vladimir Serbinenko 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 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept /dev/root as a valid device. 2011-06-23 Jim Meyering 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 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 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 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the input format. 2011-05-29 Colin Watson * docs/grub.texi (Obtaining and Building GRUB): Substitute `ftp.gnu.org' for `alpha.gnu.org'. 2011-05-27 Colin Watson * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle partitions under /dev/disk/by-id/. 2011-05-27 Colin Watson * 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 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before opening new one. 2011-05-21 Colin Watson 2011-05-21 Vladimir Serbinenko 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 * 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 * 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 * Makefile.util.def (grub-ofpathname): Install manual page. 2011-05-18 Colin Watson * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE. 2011-05-18 Colin Watson * .bzrignore: Add grub-core/modinfo.sh and a number of test files. 2011-05-18 Vladimir Serbinenko * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf into dprintf. 2011-05-18 Vladimir Serbinenko 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 * util/grub-mkrescue.in: Use portable `.' rather than non-portable `source'. 2011-05-18 Colin Watson * 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 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 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 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275 for cleanness. 2011-05-18 Vladimir Serbinenko 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 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 2011-05-18 Colin Watson 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 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 * 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 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 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 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 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 * .bzrignore: Remove grub-dumpbios. 2011-05-17 Colin Watson * 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 * util/grub-fstest.c (cmd_cat): New function. (fstest): Handle CMD_CAT. (options): Add cat. (argp_parser): Handle cat. 2011-05-17 Colin Watson * Makefile.util.def (grub-bin2h): Don't install. * docs/man/grub-bin2h.h2m: Remove. 2011-05-17 Vladimir Serbinenko * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right place. 2011-05-17 Vladimir Serbinenko 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 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 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte blocks. 2011-05-16 Vladimir Serbinenko * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms after enabling port. 2011-05-16 Vladimir Serbinenko 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 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 * 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 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 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 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 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 2011-05-15 Feiran Zheng * 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 2011-05-15 Robert Millan 2011-05-15 Vladimir Serbinenko 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 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious warning. Move variables before code while on it. 2011-05-15 Vladimir Serbinenko 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 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims and add some clarification. 2011-05-14 Vladimir Serbinenko * util/grub.d/10_linux.in: Autoload gzio since it's needed on some platforms if kernel is compressed. 2011-05-14 Vladimir Serbinenko * 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 * 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 * 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 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno on error if not already done. 2011-05-14 Vladimir Serbinenko 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 * docs/grub.texi (Installation): Fix several outdated claims. 2011-05-14 Vladimir Serbinenko 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 * 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 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between PgUp and PgDown. 2011-05-13 Vladimir Serbinenko * configure.ac: Bump version to 1.99. 2011-05-13 Vladimir Serbinenko 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 * util/grub-mkimage.c (generate_image): Update hash. 2011-05-13 Vladimir Serbinenko 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 * 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 * grub-core/boot/mips/startup_raw.S: Flush cache after loading decompressor. 2011-05-13 Vladimir Serbinenko * 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 * 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 * util/grub.d/10_linux.in: Correctly handle the Linux in root. 2011-05-09 Vladimir Serbinenko * 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 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on unknown key into a dprintf. 2011-05-09 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort on first non-existant partition. 2011-05-09 Vladimir Serbinenko * 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 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible overflow. 2011-05-09 Vladimir Serbinenko * 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 * 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 Support 2010 Macbooks. * grub-core/loader/efi/appleloader.c (devpath_6): New variable. (devs): Add devpath_6. 2011-05-05 Vladimir Serbinenko * 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 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o. 2011-05-05 Vladimir Serbinenko * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle hexadecimal. 2011-05-05 Vladimir Serbinenko * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno and not 0 on failure. 2011-05-03 Colin Watson * 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 * tests/partmap_test.in: Don't hardcode path to parted. Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150. 2011-05-01 Colin Watson * 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 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather than source address for efi mmap buffer. 2011-04-25 Vladimir Serbinenko * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a wrong action on non-detecting the magic. 2011-04-25 Vladimir Serbinenko * 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 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID match the one used by mdadm. 2011-04-21 Colin Watson * po/README: Add instructions for creating po/LINGUAS. 2011-04-21 Colin Watson 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 * 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 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 * configure.ac: Bump version to 1.99~rc2. 2011-04-20 Vladimir Serbinenko * 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 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE. * grub-core/lib/efi/datetime.c: Likewise. 2011-04-19 Vladimir Serbinenko * 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 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous bitmap. (grub_gfxterm_term_init): Likewise. 2011-04-19 Vladimir Serbinenko 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 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon): Don't skip first class. 2011-04-18 Vladimir Serbinenko * 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 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 * util/grub-mkimage.c (generate_image): Add forgotten comma. 2011-04-18 Vladimir Serbinenko * util/grub-mkimage.c (generate_image): Update fwstart.img hash after performing the necessary test. 2011-04-17 Vladimir Serbinenko * Makefile.am (multiboot.elf): Add -Wl,--build-id=none. (kfreebsd.elf): Likewise. (pc-chainloader.elf): Likewise. (ntldr.elf): Likewise. 2011-04-17 Vladimir Serbinenko 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 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale to negative size. 2011-04-13 Colin Watson * util/grub.d/10_linux.in: Add rootflags=subvol= if / is on a btrfs subvolume. * util/grub.d/20_linux_xen.in: Likewise. 2011-04-13 Colin Watson 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 * 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 * NEWS: Drop obsolete entry about probe-only btrfs support. 2011-04-12 Colin Watson * util/import_gcry.py: Fix typo. 2011-04-11 Vladimir Serbinenko * NEWS: Add btrfs support. 2011-04-11 Vladimir Serbinenko 2011-04-11 Colin Watson 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 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 * 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 * util/grub-fstest.c (cmd_cmp): Check that sizes match. 2011-04-11 Vladimir Serbinenko * util/grub-fstest.c (read_file): Report GRUB error if file opening failed. 2011-04-11 Vladimir Serbinenko * 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 * 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 2011-04-10 Vladimir Serbinenko * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back improperly removed string. 2011-04-10 Vladimir Serbinenko * 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 * util/grub-mkconfig_lib.in: Add missing quotes. 2011-04-10 Colin Watson * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate is NULL. 2011-04-10 Vladimir Serbinenko 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 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message. Remove now unused string. 2011-04-09 Colin Watson * 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 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax throughout. 2011-04-08 Vladimir Serbinenko * util/grub-mkimage.c (main): Handle special naming of yeeloong directory. 2011-04-08 Colin Watson * 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 * 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 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set root on legacy. 2011-04-08 Vladimir Serbinenko * grub-core/commands/probe.c (options): Argument to set isn't optional. (GRUB_MOD_INIT): DEVICE isn't optional. 2011-04-08 Vladimir Serbinenko * 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 * 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 . 2011-04-08 Vladimir Serbinenko * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Place mbi on low memory for better compatibility. 2011-04-08 Vladimir Serbinenko * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type. 2011-04-08 Vladimir Serbinenko 2011-04-08 Colin Watson * autogen.sh: Ensure that collate and ctype locale is C. * conf/Makefile.common: Likewise. 2011-04-08 Vladimir Serbinenko * grub-core/normal/menu.c: Add missing include. 2011-04-08 Vladimir Serbinenko * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include. 2011-04-08 Martin Zuther * util/grub-mkconfig.in: Ignore emacsen backup. 2011-04-08 Vladimir Serbinenko * 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 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing const attribute and use grub_isdigit. 2011-04-06 Andrey * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older gcc warning. 2011-04-06 Vladimir Serbinenko * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few useful grub_dprintf's. 2011-04-06 Vladimir Serbinenko * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields. 2011-04-06 Vladimir Serbinenko * util/grub.d/00_header.in: Don't use LANG unless unifont is available. 2011-04-06 Vladimir Serbinenko 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 * 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 * 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 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 * 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 * 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 * util/grub-install.in: Add a recommendation to use --recheck before reporting bugs. 2011-04-02 Vladimir Serbinenko * docs/grub.texi (Vendor power-on buttons): Explain how the numbers are obtained. 2011-04-02 Vladimir Serbinenko 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 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 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak when replacing an existing device. 2011-04-01 Vladimir Serbinenko 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 * 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 * 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 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove set-but-not-used variable. 2011-03-31 Colin Watson * docs/grub.texi (Simple configuration): Be more explicit about GRUB_DEFAULT, and add an example. Reported by: Leslie Rhorer. 2011-03-30 Colin Watson * docs/grub.texi (Commands): Link to "GRUB only offers a rescue shell". 2011-03-30 Alexey Shvetsov * util/grub.d/10_linux.in: Add gentoo-specific config filename. * util/grub.d/20_linux_xen.in: Likewise. 2011-03-30 Vladimir Serbinenko * 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 * 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 * grub-core/disk/raid.c (insert_array): Add few potentially useful grub_util_info. (grub_raid_register): Likewise. 2011-03-30 Vladimir Serbinenko * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]: Preserve partition number in mdadm code path. 2011-03-30 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add few potentially useful grub_util_info. 2011-03-30 Vladimir Serbinenko * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n. 2011-03-30 Colin Watson * docs/grub.texi (default): Use @example rather than nested itemized lists to avoid breaking gendocs. 2011-03-30 Colin Watson * docs/grub.texi (Future): Update. 2011-03-30 Colin Watson * 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 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in the example. 2011-03-30 Vladimir Serbinenko * grub-core/term/at_keyboard.c (set_scancodes) [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1. 2011-03-30 Colin Watson * 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 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading. 2011-03-30 Colin Watson * docs/grub.texi (Simple configuration): Explain some of the current limitations of grub-mkconfig. Reported by: Leslie Rhorer. 2011-03-29 Vladimir Serbinenko 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 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels. 2011-03-29 Vladimir Serbinenko * 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 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms. 2011-03-29 Colin Watson * docs/grub.texi (loopback): New section. 2011-03-29 Colin Watson * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting removed -p option. 2011-03-29 Colin Watson * 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 * grub-core/kern/emu/hostdisk.c (find_partition_start) [HAVE_DIOCGDINFO]: Add safety checks. 2011-03-29 Vladimir Serbinenko * 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 * 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 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct printf clauses for printing size and start. 2011-03-29 Vladimir Serbinenko * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow. Reported and tested by: Timothy Nikkel. 2011-03-29 Vladimir Serbinenko * 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 * 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 * 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 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale comment. 2011-03-28 Colin Watson * 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 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't return freed string. 2011-03-26 Vladimir Serbinenko * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label. 2011-03-26 Vladimir Serbinenko 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 Fix FreeBSD compilation problem. * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition. (FLOPPY_MAJOR) [FreeBSD]: Likewise. 2011-03-24 Colin Watson * 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 * 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 * 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 * 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 * 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 * 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 * grub-core/video/bitmap.c (match_extension): Ignore case. 2011-03-23 Vladimir Serbinenko * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error. 2011-03-23 Vladimir Serbinenko * grub-core/script/parser.y: Declare "time" as valid argument. 2011-03-23 Peter Jones 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 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable. 2011-03-23 Vladimir Serbinenko * grub-core/lib/i386/pc/biosnum.c: Add missing include. 2011-03-23 Vladimir Serbinenko * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error into GRUB-style one. 2011-03-23 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * util/grub-install.in: Correct the x86-64 name as x86_64. 2011-03-11 Colin Watson * 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 * 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 * docs/grub.texi (Simple configuration): Tidy up formatting. 2011-03-07 Szymon Janc * grub-core/fs/zfs/zfs.c (zap_leaf_lookup): Set-but-not-used variable removed. 2011-02-12 Vladimir Serbinenko 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 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one error. 2011-02-11 Colin Watson * 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 * 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 * 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 * include/grub/file.h (not_easly_seekable): Rename to ... (not_easily_seekable): ... this. Update all users. 2011-01-28 Colin Watson * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe grub-mkrescue. 2011-01-24 Vladimir Serbinenko * 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 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly. 2011-01-22 Anthony DeRobertis * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check super_offset field. 2011-01-22 Vladimir Serbinenko * 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 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift. 2011-01-22 Vladimir Serbinenko * 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 * 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 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make logical expression more readable. 2011-01-22 Vladimir Serbinenko * 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 * 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 * docs/grub.texi (Simple configuration): Document GRUB_PRELOAD_MODULES. 2011-01-17 Colin Watson * .bzrignore: Remove nonexistent grub-pbkdf2. 2011-01-16 Vladimir Serbinenko * configure.ac: Bump version to 1.99~rc1. 2011-01-15 Vladimir Serbinenko * util/grub-mkimage.c (generate_image): Check fwstart.img checksum for safety. 2011-01-14 Vladimir Serbinenko * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot module. 2011-01-14 Vladimir Serbinenko * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS. 2011-01-13 Vladimir Serbinenko * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and diskdevid. 2011-01-13 Vladimir Serbinenko 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 * 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 * 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 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data variable. Fixes problem on big endian platforms. 2011-01-12 Vladimir Serbinenko * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc. It doesn't work well there. 2011-01-12 Vladimir Serbinenko * 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 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 * configure.ac: Fall back to `true' if `makeinfo' does not exist. 2011-01-11 Vladimir Serbinenko * 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 * 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 * 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 * 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 * BUGS: New file. 2011-01-10 Vladimir Serbinenko 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 * util/grub-menulst2cfg.c: Add missing include of misc.h. 2011-01-10 Vladimir Serbinenko * 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 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 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables. Reported by: nebuchadnezzar. 2011-01-10 Vladimir Serbinenko * util/grub-kbdcomp.in: Add missing transform and bindir variables. Reported by: nebuchadnezzar. 2011-01-10 Vladimir Serbinenko 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 * util/grub-mklayout.c (usage): Update help text. 2011-01-10 Vladimir Serbinenko * grub-core/commands/legacycfg.c (legacy_file): Trim the line. 2011-01-10 Vladimir Serbinenko * util/grub-menulst2cfg.c (main): Trim the line. 2011-01-10 Vladimir Serbinenko * 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 * 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 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into badfs. Reported by: TiCPU. 2011-01-10 Vladimir Serbinenko * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate members errors. 2011-01-09 Grégoire Sutre * 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 * 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 * config.h.in (_LARGEFILE_SOURCE): Add missing define. (_FILE_OFFSET_BITS): Likewise. Reported by: Seth Goldberg. 2011-01-08 Grégoire Sutre * configure.ac: Check for libdevmapper header. 2011-01-08 Vladimir Serbinenko * 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 * 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 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious warning. Reported and tested by: Grégoire Sutre. 2011-01-08 Vladimir Serbinenko * configure.ac: Do CPU substitution even if it's specified explicitly. Reported and tested by: Alain Greppin. 2011-01-08 Vladimir Serbinenko * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os. Reported and tested by: Alain Greppin. 2011-01-08 Vladimir Serbinenko 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 * 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 * docs/grub.texi (Support automatic decompression): Update with xz decompression support. 2011-01-07 Szymon Janc 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 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that inopos might be unaligned. 2011-01-07 Vladimir Serbinenko * 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 * 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 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels. Reported and tested by: Grégoire Sutre. 2011-01-06 Colin Watson * 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 * 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 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 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr only when needed. 2011-01-05 Vladimir Serbinenko * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with CTRL. 2011-01-05 Vladimir Serbinenko 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 * 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 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s names. Reported by: David Pravec. 2011-01-04 Vladimir Serbinenko * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy BIOSes. 2011-01-04 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Prevent overflow. (grub_reed_solomon_recover): Likewise. 2011-01-04 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test. 2011-01-04 Vladimir Serbinenko * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover variable. 2011-01-04 Colin Watson * 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 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions on devices that do not implement function 0. 2011-01-03 Dave Vasilevsky * 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 * util/grub-install.in: Correctly use bootloader_id and not GRUB_DISTRIBUTOR on efibootmgr line. 2011-01-03 Vladimir Serbinenko * util/grub-mkfont.c (main): Report errors in FT_New_Face. 2010-12-31 Ian Campbell * 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 * 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 * 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 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence spurious warning. Reported by: crocket 2010-12-27 Vladimir Serbinenko * 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 * 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 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 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 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 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on floppy probe. 2010-12-25 Jeroen Dekkers * grub-core/disk/raid.c (insert_array): Don't add spurious members. 2010-12-25 Shea Levy * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy. 2010-12-25 Vladimir Serbinenko * 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 * 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 * 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 * 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 * 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 * 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 * grub-core/fs/udf.c (read_string): Pacify GCC warning by initialising utf16. 2010-12-21 Colin Watson * 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 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module): Avoid next pointing to nowhere. 2010-12-19 Vladimir Serbinenko * 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 * 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 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 * grub-core/normal/menu_entry.c (run): Execute commands from menu editor under argument scope. Reported by: Jordan Uggla 2010-12-18 Vladimir Serbinenko * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes. 2010-12-18 Colin Watson * 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 * 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 * 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 * .bzrignore: Ignore grub-core/rs_decoder.S. 2010-12-10 Colin Watson * 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 * NEWS: Document addition of ZFS support. 2010-12-04 Colin Watson * 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 * util/grub-script-check.c (main): Print script line number on error. 2010-12-01 Robert Millan * 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 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused variable. * grub-core/commands/wildcard.c (match_files): Likewise. 2010-11-30 Robert Millan * 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 * grub-core/commands/echo.c: Include `'. (grub_cmd_echo): Call grub_refresh() after printing a message. 2010-11-26 Vladimir Serbinenko 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 * 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 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify. Update all users. 2010-11-26 Colin Watson 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 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 * 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 * 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 * 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 * 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 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not ldflags, to fix link line ordering. 2010-11-23 Colin Watson * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some linkers are picky about this. 2010-11-23 Colin Watson * 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 * 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 Fix test program build on GNU/kFreeBSD. * Makefile.util.def (example_unit_test): Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies. 2010-11-22 Colin Watson * util/grub-install.in: Fix parsing of --grub-mkrelpath= option. 2010-11-22 Colin Watson * util/grub-install.in: Remove excessive quoting that broke installations to RAID devices. 2010-11-19 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the bootloader version instead of 0. 2010-11-19 Vladimir Serbinenko * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious warning. 2010-11-19 Vladimir Serbinenko * 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 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp() with grub_memcmp(). 2010-11-18 Vladimir Serbinenko * grub-core/normal/menu_entry.c (print_up): Fix displacement of up arrow. Reported by: Jordan Uggla. 2010-11-16 Vladimir Serbinenko 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 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 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter. (-Wunused implies -Wunused-parameter, but not vice versa). 2010-11-16 Colin Watson * 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 * 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 * 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 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 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 * configure.ac: Add -Wno-trampolines when supported. 2010-11-14 Modestas Vainius * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_ fakeraid. 2010-11-14 Giuseppe Caizzone 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 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 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 * 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 * util/grub-install.in: Ignore empty partition table detection instead of trying to include part_ module. 2010-11-14 Vladimir Serbinenko * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes LVM on RAID support. 2010-11-14 Vladimir Serbinenko 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 * util/grub-mkconfig.in: Fix quoting. 2010-11-13 Vladimir Serbinenko 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 * util/grub-install.in: Handle filenames containing spaces. Reported by: Jordan Uggla. Tested by: Jordan Uggla. 2010-11-13 Vladimir Serbinenko * 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 * docs/grub.texi (menu): Correct the order. Reported by: D. Hugh Redelmeier. 2010-11-12 Vladimir Serbinenko * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing jump. 2010-11-08 Manoel Rebelo Abranches * 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 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 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 * conf/mips-qemu-mips.rmk: Remove stale file from previous transition. 2010-11-07 Vladimir Serbinenko * grub-core/kern/emu/hostdisk.c (convert_system_partition_to_system_disk): Handle devices like "sdaa1". 2010-11-06 Vladimir Serbinenko * 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 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase. 2010-11-06 Vladimir Serbinenko * util/grub-install.in: Replace useless recomendation to pass --modules with a recomendation to report a bug. 2010-11-06 Vladimir Serbinenko 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 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer needed). 2010-11-05 Robert Millan 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 * 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 * util/bin2h.c (main): Fix spelling error in generated output. 2010-11-01 Grégoire Sutre * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow. 2010-11-01 Vladimir Serbinenko * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if vga= option is supplied. 2010-11-01 Vladimir Serbinenko * 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 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct argument as an argument to no-argument option. 2010-11-01 Vladimir Serbinenko * util/grub.d/10_linux.in: Add missing load_video with explicit GRUB_GFXPAYLOAD_LINUX. 2010-11-01 Vladimir Serbinenko * Makefile.am (libgrub.pp): Propagate the libgrub.a split. 2010-11-01 Vladimir Serbinenko * 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 * docs/man/grub-set-default.h2m: Clarify that only saved default entry is modified 2010-10-29 BVK Chaitanya 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 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless install rather than creating a broken install. 2010-10-26 Vladimir Serbinenko * util/grub-setup.c (argp): Remove misleading example of installing to a partition. 2010-10-26 Vladimir Serbinenko * util/grub-setup.c (setup): Clarify the error message. 2010-10-26 Vladimir Serbinenko * include/grub/types.h (grub_target_off_t): Removed no longer used type. 2010-10-23 Vladimir Serbinenko * 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 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Revert r2882. 2010-10-22 Vladimir Serbinenko * 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 * docs/grub.texi (Installing GRUB using grub-install): Proofread. (Supported kernels): Likewise. 2010-10-18 Grégoire Sutre 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 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for Linux kernel, reported by Dennis Schridde. 2010-10-17 Szymon Janc * grub-core/normal/auth.c (grub_auth_check_authentication): Set-but-not-used variable removed. 2010-10-17 Vladimir Serbinenko * docs/grub.texi (GNU/Linux): Document APM unavailability with 32-bit linux protocol. 2010-10-17 Vladimir Serbinenko * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check cursor shape for sanity. 2010-10-17 Vladimir Serbinenko * docs/grub.texi (Installation): Document buggy BIOS install. 2010-10-17 Vladimir Serbinenko * docs/grub.texi (Installation): Indent. 2010-10-17 Vladimir Serbinenko * 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 * util/grub-install.in: Handle partitionless disks. 2010-10-17 Vladimir Serbinenko * util/grub-setup.c (setup): Don't clean blocklists before readability verfification. 2010-10-16 Vladimir Serbinenko * docs/grub.texi (Installation): Document embedding zone. Remove obsolete grub-install example. 2010-10-16 Szymon Janc * 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 * 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 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as synonym to _S5_. Needed for some DSDTs. 2010-10-16 Vladimir Serbinenko 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 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 * 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 * 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 * 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 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to guarantee compressed ones are processed first. 2010-10-14 Vladimir Serbinenko * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from grub_efiemu_autocore. 2010-10-14 Vladimir Serbinenko * 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 * 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 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 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect handling of special keys. 2010-10-02 Aleš Nesrsta * 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 * 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 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 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]: Set to "auto". 2010-09-30 Vladimir Serbinenko * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using mo_file after freeing. 2010-09-30 Vladimir Serbinenko * grub-core/normal/term.c (read_terminal_list): Free in a right order. 2010-09-30 Vladimir Serbinenko * grub-core/script/execute.c (grub_script_execute_sourcecode): Set flags. 2010-09-30 Vladimir Serbinenko * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp usage. 2010-09-30 Vladimir Serbinenko 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 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi] [GRUB_MACHINE_EFI && __i386__]: Fix typo. 2010-09-29 Vladimir Serbinenko 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 * 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 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial parameters. 2010-09-29 Vladimir Serbinenko * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as if they were BSD-style. 2010-09-29 Vladimir Serbinenko * 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 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 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix i386 and x86-64 definedness tests. 2010-09-27 Yves Blusseau 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 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 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 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo. 2010-09-25 BVK Chaitanya Fix grub-emu build. * grub-core/kern/emu/main.c: Remove #include . * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into mdraid09 and mdraid1x. 2010-09-24 Colin Watson 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 * 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 * Makefile.util.def (example_unit_test): Add grub-core/gnulib/libgnu.a. 2010-09-23 Grégoire Sutre * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev. 2010-09-23 Vladimir Serbinenko 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 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR. 2010-09-22 Colin Watson * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix typo in __i386__ conditional. 2010-09-22 Vladimir Serbinenko * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing include. 2010-09-22 Vladimir Serbinenko 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 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Added missing configuration of USB device. 2010-09-21 Colin Watson * grub-core/normal/menu_entry.c (run): Make sure we always return a value. 2010-09-21 Colin Watson * 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 * 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 * 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 * 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 * 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 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or check hash checksum." consistently translatable. 2010-09-21 Yves Blusseau * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with $(top_builddir). 2010-09-21 Colin Watson * 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 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 * 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 * util/grub-editenv.c: Update strings to avoid warnings when generating grub.pot file. * util/grub-setup.c: Likewise. 2010-09-21 Vladimir Serbinenko * configure.ac: Change version to 1.99~beta0. 2010-09-21 Vladimir Serbinenko * 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 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 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible. 2010-09-20 Vladimir Serbinenko * util/grub.d/20_linux_xen.in: Use submenus. 2010-09-20 Vladimir Serbinenko 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 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 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 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 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 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 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of vsprintf. 2010-09-20 Colin Watson * grub-core/commands/efi/lsefimmap.c: Correct header. * NEWS: Update. 2010-09-20 Colin Watson * 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 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 2010-09-20 Robert Millan 2010-09-20 Vladimir Serbinenko * 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 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 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 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 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 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle parameters overflow. 2010-09-20 Colin Watson * .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 * 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 * 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 * 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 * kern/emu/hostdisk.c: Include and 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 * util/grub-editenv.c: Use argp instead of getopt. 2010-09-20 Yves Blusseau * util/grub-setup.c: Use argp instead of getopt. 2010-09-20 Yves Blusseau 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 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker, grub-core/genmod.sh and grub-core/gensyminfo.sh 2010-09-20 BVK Chaitanya 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 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 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range. 2010-09-19 Vladimir Serbinenko 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 * 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 * 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 * grub-core/Makefile.core.def (legacycfg): Add lib/i386/pc/vesa_modes_table.c on emu. 2010-09-19 BVK Chaitanya 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 * Makefile.util.def: Add forgotten $(LIBINTL) library. 2010-09-19 BVK Chaitanya * util/grub-mkconfig.in: Check the config script for syntax errors before saving. 2010-09-19 Colin Watson 2010-09-19 Vladimir Serbinenko * 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 * 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 2010-09-18 Aleš Nesrsta 2010-09-18 Vladimir Serbinenko 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 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 * 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 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 * grub-core/kern/emu/hostdisk.c (convert_system_partition_to_system_disk): Initialise node. 2010-09-17 Colin Watson * 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 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 * .bzrignore: *.d removed (old rule), add *.image and symlist.h. 2010-09-16 Yves Blusseau * configure.ac: Avoid some annoying error messages if freetype-config program is not found. 2010-09-16 Colin Watson 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 * 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 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester, libgrub_a_init.c, and util/bash-completion.d/grub. 2010-09-15 Vladimir Serbinenko * util/grub-setup.c (setup): Fix incorrect container semantics. 2010-09-15 Vladimir Serbinenko * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable misusage. Reported by: J. Nick Terry 2010-09-15 Vladimir Serbinenko 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 * 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 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 * 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 * 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 * 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 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak. 2010-09-14 Vladimir Serbinenko 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 * 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 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 Remove deprecated root command. * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users updated. 2010-09-14 Vladimir Serbinenko * 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 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when possible. 2010-09-14 Vladimir Serbinenko * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly allocate p. 2010-09-14 Vladimir Serbinenko * 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 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack. 2010-09-14 Vladimir Serbinenko 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 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 * configure.ac: Disable emu-usb by default to prevent inadvertent device takeover. 2010-09-13 Vladimir Serbinenko 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 * 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 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 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 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest context. 2010-09-13 Vladimir Serbinenko * grub-core/video/efi_gop.c: Fix over-80-chars line. * grub-core/video/efi_uga.c: Likewise. 2010-09-13 Vladimir Serbinenko 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 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 * grub-core/normal/completion.c (complete_file): Handle device containing slash. Fix based on patch by Doug Nazar. 2010-09-13 Vladimir Serbinenko 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 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 2010-09-13 Robert Millan 2010-09-13 Vladimir Serbinenko * 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 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 Search hints support. * commands/search.c (FUNC_NAME): New arguments hints and nhints. All users updated. 2010-09-13 Yves Blusseau 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 * 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 * grub-core/normal/misc.c (grub_normal_print_device_info): Show partition size and offset. 2010-09-12 Vladimir Serbinenko * grub-core/commands/wildcard.c (make_regex): Escape brackets. 2010-09-12 Vladimir Serbinenko * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files. 2010-09-12 Vladimir Serbinenko * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary. (grub_xvasprintf): Likewise. 2010-09-12 Vladimir Serbinenko * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all. 2010-09-12 Vladimir Serbinenko * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on args ending with NULL. 2010-09-12 Vladimir Serbinenko * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context pointer. 2010-09-11 Szymon Janc * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype. 2010-09-11 Vladimir Serbinenko 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 2010-09-11 Robert Millan 2010-09-11 Vladimir Serbinenko * 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 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 2010-09-11 Colin Watson * 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 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 * util/grub-install.in: Don't try to verify core.img until after running grub-mkimage to create it. 2010-09-10 Robert Millan * 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 * 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 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 `'. [HAVE_SYS_MKDEV_H]: Include `'. [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent() method for finding zpool name. 2010-09-10 Colin Watson 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 * 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 * 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 * 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 * tests/partmap_test.in: New test for partitions. * Makefile.util.def: Rules for new test. 2010-09-09 Robert Millan * util/grub-probe.c (probe): Fix a pair of unhandled error conditions. 2010-09-09 Robert Millan 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 * 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 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 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 * util/grub-mkconfig.in: Use new variable. 2010-09-08 Yves Blusseau * configure.ac: Define some useful variables. 2010-09-08 Vladimir Serbinenko * 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 * 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 * 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 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when initializing `GRUB_FS'. 2010-09-08 BVK Chaitanya 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 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong grub_free. 2010-09-07 BVK Chaitanya * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}. 2010-09-07 BVK Chaitanya * docs/grub.texi (Shell-like scripting): Documentation for break, continue, shift and return commands. 2010-09-06 Vladimir Serbinenko 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 * 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 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more diagnostic info. 2010-09-05 Jo Shields * util/grub.d/30_os-prober.in: Add missing classes. 2010-09-05 Vladimir Serbinenko * docs/grub.texi (Theme file format): Document new position format. 2010-09-05 Vladimir Serbinenko * 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 Gfxmenu documentation. * docs/grub.texi (Theme file format): New chapter. 2010-09-05 Szymon Janc * 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 * 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 * 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 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 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 * 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 * include/grub/crypto.h (GRUB_MD_CRC32): New definition. 2010-09-05 Vladimir Serbinenko * 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 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 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 * 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 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 "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 "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 * grub-core/normal/completion.c (grub_normal_do_completion): Fix grub_free order. 2010-09-04 BVK Chaitanya 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 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 * grub-core/kern/misc.c: Don't add abort alias in utils. Reported by: echoline. 2010-09-03 BVK Chaitanya 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 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 * 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 * configure.ac: Clean LIBS variable after tests. 2010-09-02 Colin Watson * INSTALL: Document that libdevmapper needs to be 1.02.34 or later. 2010-09-02 Vladimir Serbinenko * configure.ac: Check for dm_log_with_errno_init in libdevmapper and echo if libdevmapper will be used. 2010-09-02 Ian Turner * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize constant for the same file. 2010-09-02 Vladimir Serbinenko * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include. 2010-09-02 Colin Watson * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and grub-core/*.pp. 2010-09-02 Colin Watson 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 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 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 * NEWS: Document most of the important changes since 1.98. 2010-09-01 Colin Watson * util/grub-mkrescue.in (usage): Tidy up usage output (and hence generated manual page) a little. 2010-09-01 Colin Watson * docs/grub.texi: Add myself as an author. 2010-09-01 Vladimir Serbinenko * Makefile.util.def (libgrub.a): Add missing sunpc. Reported by: Seth Goldberg. 2010-08-30 Vladimir Serbinenko 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 * NEWS: Document addition of ZFS support in `grub-install' and `grub-mkconfig'. 2010-08-30 BVK Chaitanya * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from dprintf output. 2010-08-30 Vladimir Serbinenko 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 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 * docs/grub.texi (Network): Fix reference to pxe_blksize. Reported by: Ian Turner 2010-08-30 Vladimir Serbinenko * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second timeout to avoid indefinite boot stalling. 2010-08-30 Vladimir Serbinenko * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning. (grub_env_write_color_highlight): Likewise. 2010-08-30 Vladimir Serbinenko * grub-core/normal/term.c (print_more): Return to normal and not to standard state after printing "---MORE---". 2010-08-30 Vladimir Serbinenko * 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 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 * 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 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to extra_dist. 2010-08-29 Vladimir Serbinenko * grub-core/efiemu/runtime/efiemu.sh: Removed. 2010-08-29 Vladimir Serbinenko * Makefile.util.def (grub-ofpathname): Add missing ldadd. 2010-08-29 Vladimir Serbinenko * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after dprintf. 2010-08-29 BVK Chaitanya * Makefile.util.def: Use ldadd instead of ldflags for libraries. 2010-08-28 Vladimir Serbinenko * 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 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before the begining of the string 2010-08-28 Vladimir Serbinenko * grub-core/script/script.c (grub_script_parse): Free parsed on failure. 2010-08-28 Vladimir Serbinenko * grub-core/normal/completion.c (grub_normal_do_completion): Free argv on failure. 2010-08-28 Vladimir Serbinenko * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on return. 2010-08-28 Vladimir Serbinenko * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer. (scroll_up): Fix a memory leak. 2010-08-28 Vladimir Serbinenko * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read errors. 2010-08-27 Vladimir Serbinenko 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 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype. (readkey): Likewise. 2010-08-25 BVK Chaitanya Multiple variable names support to "export" command. * normal/context.c (grub_cmd_export): "export" command supports multiple variable names. 2010-08-23 Samuel Thibault * util/grub.d/30_os-prober.in: Fix conversion from grub-probe --target=drive output to Mach device name. 2010-08-23 BVK Chaitanya 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 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 * 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 * 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 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's needed by libusb wrapper. 2010-08-21 Samuel Thibault * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd. 2010-08-21 Vladimir Serbinenko * loader/multiboot.c (grub_cmd_module): Don't unzip module if --nounzip is passed. 2010-08-20 Vladimir Serbinenko 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 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 * 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 * 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 * commands/i386/pc/sendkey.c (options): Fix three typos. 2010-08-19 Vladimir Serbinenko 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 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to fix warnings from Autoconf. 2010-08-18 Colin Watson * 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 * 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 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if filesystem is not ZFS. 2010-08-12 BVK Chaitanya 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 "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 "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 "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 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 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 * .bzrignore: add grub-macho2img 2010-08-11 Vladimir Serbinenko * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error. 2010-08-11 Vladimir Serbinenko 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 * include/grub/vga.h: Add missing grub/pci.h include. 2010-08-10 Yves Blusseau * util/grub-macho2img.c (main): fix typo 2010-08-10 Vladimir Serbinenko * 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 * 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 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 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message. 2010-08-08 Robert Millan * 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 Fix grub-probe invocation. * util/grub.d/10_kfreebsd.in: s/label/fs_label/g. 2010-08-04 Robert Millan * configure.ac: Remove checks for getfsstat() and getmntany(). Add checks for `' and `'. * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `'. [HAVE_SYS_PARAM_H]: Include `'. [HAVE_SYS_MOUNT_H]: Include `'. [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 * 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 Support OpenSolaris in ZFS device resolution. * configure.ac: Check for getmntany(). * kern/emu/misc.c [HAVE_GETMNTANY]: Include `'. [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris support. 2010-08-03 Robert Millan Fix grub-emu build. * include/grub/util/misc.h: Move `' 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 `'. [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 * script/execute.c (grub_script_execute_cmdline): Check for NULL as command name case. 2010-08-02 Colin Watson * 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 * 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 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 * 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 `' 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 * 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 * lib/arg.c (grub_arg_show_help): Add the necessary spacing. 2010-08-01 Vladimir Serbinenko * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if [HAVE_LIBZFS && HAVE_LIBNVPAIR] 2010-08-01 Colin Watson * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img. 2010-08-01 Colin Watson * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:]. 2010-08-01 Colin Watson * 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 2010-08-01 Colin Watson * kern/misc.c (grub_memset): Optimise to reduce cache stalls. 2010-08-01 Robert Millan * 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 `' 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 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 * 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 * kern/emu/getroot.c: Include `'. 2010-07-31 Robert Millan * util/grub.d/10_kfreebsd.in: Make module handling more generic. 2010-07-31 Robert Millan * kern/emu/misc.c: Add missing license header. 2010-07-31 Robert Millan * configure.ac: Check for `libzfs.h' and `libnvpair.h'. * include/grub/util/libnvpair.h: Include `'. [HAVE_LIBNVPAIR_H]: Include `' instead of declaring libnvpair prototypes ourselves. * include/grub/util/libzfs.h: Include `'. [HAVE_LIBZFS_H]: Include `' instead of declaring libzfs prototypes ourselves. (libzfs_handle): Moved to ... * include/grub/util/misc.h (libzfs_handle): ... here. Include `'. 2010-07-30 Robert Millan * include/grub/emu/misc.h: Add missing license header. 2010-07-30 Robert Millan 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 `' and `'. [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `' and `'. [HAVE_GETFSSTAT]: Include `'. (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_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 * 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 * 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 * configure.ac: Remove grub-mkisofs checks. 2010-07-28 Vladimir Serbinenko * util/ieee1275/grub-install.in: Don't use empty grub_device. Reported by: Lennart Sorensen. 2010-07-20 Vladimir Serbinenko * 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 * 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 * 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 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf. 2010-07-20 Colin Watson * 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 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 * tests/util/grub-shell-tester.in: Remove bashism and declare as sh script. 2010-07-20 Vladimir Serbinenko * 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 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour with -p "". Reported by: Tito Keitel. 2010-07-20 Vladimir Serbinenko * docs/grub.texi (Naming convention): Document new naming convention. 2010-07-20 Vadim Solomin 2010-07-20 Colin Watson 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 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64 on i386. 2010-07-20 Vladimir Serbinenko * commands/acpi.c (setup_common_tables): Use sizeof instead of hardcoding size. (setv1table): Likewise. 2010-07-20 Colin Watson * 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 * 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 * 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 * .bzrignore: Ignore 20_linux_xen. 2010-07-17 Colin Watson * util/import_unicode.py: Remove unnecessary imports. 2010-07-17 Aleš Nesrsta 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 * 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 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion. * partmap/bsdlabel.c [GRUB_UTIL]: Likewise. 2010-07-17 Vladimir Serbinenko * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference. 2010-07-14 Anton Blanchard * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject ET_DYN files. 2010-07-14 Grégoire Sutre * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS. 2010-07-14 Grégoire Sutre * 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 * 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 * README: Point to the Info manual. 2010-07-13 Jiro SEKIBA * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate 2nd superblock position from partition size. 2010-07-10 Colin Watson * 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 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 * commands/help.c (grub_cmd_help): Fix a typo. 2010-07-10 Vladimir Serbinenko * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting. Reported and tested by: Colin Watson. 2010-07-10 Vladimir Serbinenko * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary in this context. 2010-07-07 Vladimir Serbinenko * tests/util/grub-shell.in: Remove bashisms and declare as sh script. 2010-07-07 Colin Watson * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix indentation. 2010-07-06 Colin Watson * 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 * 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 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices, which we expect to be handled by upper layers. 2010-07-06 BVK Chaitanya * bus/usb/usbhub.c: #include time.h header. 2010-07-06 Colin Watson * 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 * 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 * 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 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined. 2010-07-05 Colin Watson * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt, unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c. 2010-07-05 Colin Watson * 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 * configure.ac: Avoid == in test command, it's not portable. * util/grub.d/30_os-prober.in: Likewise. 2010-07-04 Colin Watson * kern/emu/getroot.c [__GNU__]: Include for munmap. 2010-07-04 Grégoire Sutre * util/i386/pc/grub-setup.c (setup): Do not embed when there are multiple (top-level) partmaps. 2010-07-02 Vladimir Serbinenko * util/i386/efi/grub-install.in: Don't use empty grub_device. Reported by: Tino Keitel. 2010-07-02 Vladimir Serbinenko 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 * 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 * 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 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing NULL font. 2010-07-02 Colin Watson * 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 * 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 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four arguments, not three. 2010-07-02 Colin Watson * 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 * docs/grub.texi (Changes from GRUB Legacy): New section. (Future): Fix typo. 2010-07-02 Colin Watson * 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 * partmap/gpt.c (MAX_SECTOR_LOG): New definition. (gpt_partition_map_iterate): Support non-512B sectors. 2010-07-02 Vladimir Serbinenko * kern/efi/init.c (grub_efi_init): Disable watchdog. Tested by: Seth Goldberg. 2010-07-02 Vladimir Serbinenko * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]: Properly align mbi. Reported by: Seth Goldberg. 2010-07-01 Vladimir Serbinenko * util/grub-mkrescue.in: Avoid module duplication. 2010-07-01 Sean Finney * util/grub.d/10_linux.in: Don't use UUID for LVM root. 2010-07-01 Sean Finney * disk/lvm.c (grub_lvm_scan_device): Skip snapshots. 2010-07-01 Vladimir Serbinenko * disk/lvm.c (grub_lvm_checkvalue): New function. (grub_lvm_check_flag): Likewise. 2010-07-01 Robert Millan * 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 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 * 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 * 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 * 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 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}. (Command-line and menu entry commands): Document `badram' command. 2010-06-28 Robert Millan * 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 * 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 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 * 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 * mmap/i386/pc/mmap_helper.S: Set CF on return. 2010-06-28 Colin Watson * util/grub-install.in: Add --debug-image= option. 2010-06-28 Colin Watson 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 * 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 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 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 * util/grub.d/10_linux.in: Add support for initrd images on Fedora 13. 2010-06-26 Colin Watson * 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 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 * 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 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 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps larger than MEMORY_MAP_SIZE. 2010-06-21 BVK Chaitanya 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 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 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 * 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 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 * 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 * util/i386/pc/grub-setup.c (usage): Fix syntax error. * util/sparc64/ieee1275/grub-setup.c (usage): Likewise. 2010-06-17 Colin Watson * 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 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 * 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 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m for manual page generation. 2010-06-14 Grégoire Sutre * po/POTFILES: Remove leftover commands/handler.c. 2010-06-14 Colin Watson * util/grub-mkconfig.in: Remove vestige of old argument parsing that left this script non-functional. 2010-06-14 Colin Watson * docs/man/grub-emu.h2m: New file. 2010-06-13 Colin Watson * docs/grub.texi (Commands): Document reduced command set in rescue mode. (cpuid): New section. 2010-06-13 Grégoire Sutre * 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 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 * .bzrignore: Ignore 41_custom. 2010-06-12 Thomas Schmitt * util/grub-mkrescue.in: Pass unrecognized options to xorriso. 2010-06-12 Colin Watson 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 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate. 2010-06-12 Thomas Schmitt * util/grub-mkrescue.in: Support --xorriso argument. 2010-06-12 Vladimir Serbinenko * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs. Suggested by: Thomas Schmitt. 2010-06-12 Vladimir Serbinenko * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso. Suggested by: Thomas Schmitt. 2010-06-12 Vladimir Serbinenko 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 * util/grub-mkrescue.in (make_image): Remove sh module, which has been merged back into normal. 2010-06-11 Colin Watson * 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 * 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 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 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as reported by Henrique Ferreiro. 2010-06-09 Robert Millan * util/grub.d/10_linux.in: Prefer compressed images over non-compressed ones, when both are available. 2010-06-08 Grégoire Sutre 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 * 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 * configure.ac: Add `.' to the directories searched for unifont. 2010-06-08 Colin Watson * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and grub_script.yy.h. 2010-06-08 Colin Watson * 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 * 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 * 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 * 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 * 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 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip. 2010-06-07 Colin Watson * 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 * 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 * 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 * 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 * 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 * util/grub.d/00_header.in: Quote values assigned to `saved_entry', in case they contain spaces. 2010-06-04 Colin Watson * 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 * 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 * INSTALL: Document several build requirements for optional features (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont). 2010-06-02 Grégoire Sutre * 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 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo. Thanks to Jordan Uggla for spotting this. 2010-06-02 Aleš Nesrsta 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 * 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 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 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 * 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 * 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 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args. Reported by: Seth Goldberg. 2010-05-31 Vladimir Serbinenko * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect addition of dest. Reported by: Seth Goldberg. 2010-05-31 Vladimir Serbinenko * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check. Reported by: Seth Goldberg. 2010-05-31 Vladimir Serbinenko * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check 64-bit address as signed on MIPS. 2010-05-28 Colin Watson * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not to the empty string. 2010-05-28 BVK Chaitanya 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 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 * util/grub-script-check.c (main): Ensure defined behaviour on empty input files (in which case exit zero). 2010-05-27 Colin Watson * 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 * 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 * 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 * 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 * INSTALL: Added flex >= 2.5.35 requirement. 2010-05-23 Vladimir Serbinenko * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16. 2010-05-23 Vladimir Serbinenko 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 * 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 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current buffer since gfxterm handles double repaint. 2010-05-23 Vladimir Serbinenko * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers. * term/gfxterm.c (real_scroll): Likewise. 2010-05-21 Vladimir Serbinenko * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry before calling BIOS. 2010-05-21 Vladimir Serbinenko * include/grub/i18n.h: Always enable grub_gettext. 2010-05-21 Vladimir Serbinenko * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old partition naming style. 2010-05-21 Colin Watson * util/grub-mkconfig.in: Fix handling of -o so that it works when not the first option. 2010-05-20 Colin Watson * util/grub-mkrelpath.c (usage): Remove excess apostrophe. 2010-05-20 Colin Watson * util/misc.c: Move inclusion of to ... * kern/emu/misc.c: ... here. Needed for canonicalize_file_name. 2010-05-20 Grégoire Sutre * 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 Fix grub-mkrescue usage unit testing. * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue. 2010-05-18 Christian Franke * 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 * include/grub/i18n.h (gettext): Inline instead of using #define. (grub_gettext): Likewise. (_): Likewise. 2010-05-18 Vladimir Serbinenko * 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 * util/grub-install.in: Add missing "in" keyword. 2010-05-18 Vladimir Serbinenko * util/grub-mkrescue.in: Remove -O i386-pc duplication. Reported by: Seth Goldberg. 2010-05-18 Vladimir Serbinenko * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c. 2010-05-18 Colin Watson * 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 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 * 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 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 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 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 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 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 * video/readers/jpeg.c: Indented. 2010-05-05 Vladimir Serbinenko 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 (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 * 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 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one error. 2010-05-05 Vladimir Serbinenko * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code. 2010-05-03 Vladimir Serbinenko * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES condition. 2010-05-03 Vladimir Serbinenko * kern/mm.c (grub_real_malloc): Put magic and size assignment in common part. 2010-05-03 Vladimir Serbinenko * kern/mm.c (grub_mm_init_region): Check for region size after aligning pointers. 2010-05-03 Vladimir Serbinenko * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0. 2010-05-01 Christian Franke * 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 * kern/main.c (grub_load_config): Fix copy-pasted comment. Reported by: Seth Goldberg 2010-05-01 Vladimir Serbinenko * commands/help.c (grub_cmd_help): Fix a typo. Reported by: Seth Goldberg 2010-05-01 Vladimir Serbinenko * 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 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when extra == 0. 2010-05-01 Vladimir Serbinenko * 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 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 * kern/i386/coreboot/init.c (grub_machine_init): Call grub_machine_mmap_init on qemu. 2010-05-01 Vladimir Serbinenko * boot/i386/qemu/boot.S: Add a missing .code16. 2010-05-01 Vladimir Serbinenko 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 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 * kern/parser.c (grub_parser_execute): Cope with read-only config. 2010-05-01 Vladimir Serbinenko 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 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 * 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 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid autogen issues. 2010-04-26 Christian Franke * 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 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc. (kernel_img_LDFLAGS): Remove -static-libgcc. 2010-04-24 Christian Franke * 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 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 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large is not supported. 2010-04-19 Grégoire Sutre 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 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 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning. 2010-04-19 Vladimir Serbinenko * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames. 2010-04-18 Vladimir Serbinenko * 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 * 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 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c 2010-04-18 Vladimir Serbinenko * util/hostdisk.c (make_device_name): Change to new partition naming. 2010-04-17 Vladimir Serbinenko * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0. 2010-04-17 Christian Franke * Makefile.in: Add missing localedir setting. 2010-04-14 Colin Watson 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 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 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 2010-04-13 Colin Watson 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 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 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols. 2010-04-11 Vladimir Serbinenko 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 * 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 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 Documentation fix. * util/grub-script-check.c: Better help message. 2010-04-10 BVK Chaitanya 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 * include/grub/util/misc.h (canonicalise_file_name): Add missing prototype. Reported by: Seth Goldberg. 2010-04-10 Vladimir Serbinenko * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]: Rename "module" to "module2". Reported by: Seth Goldberg. 2010-04-10 Vladimir Serbinenko * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove EXPORT_FUNC. Reported by: Seth Goldberg. 2010-04-10 Vladimir Serbinenko * lib/posix_wrap/locale.h: Add missing file. Reported by: Seth Goldberg. 2010-04-10 Vladimir Serbinenko 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 * 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 * term/efi/console.c (grub_console_checkkey): Macroify key contants. 2010-04-09 EFI Coder * 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 * 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 * 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 * font/font.c: Indented. 2010-04-09 BVK Chaitanya 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 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 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg as *.jpg. 2010-04-09 Mario Vazquez GRUB_BACKGROUND support. * util/grub-mkconfig.in: Export GRUB_BACKGROUND. * util/grub.d/00_header.in: Parse GRUB_BACKGROUND. 2010-04-09 Vladimir Serbinenko 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 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 * Makefile.in: Specify files explicitly instead of using $< and $@ since we use cd $(srcdir). 2010-04-08 Colin Watson * 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 Fix unit testing framework for Qemu 0.12. * tests/util/grub-shell.in: Remove -serial stdio option. 2010-04-06 Vladimir Serbinenko 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 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report unsupported video mode types. 2010-04-05 Vladimir Serbinenko * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code). 2010-04-05 Vladimir Serbinenko * 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 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 * kern/misc.c: Disable the __enable_execute_stack hack for utilities. * include/grub/misc.h: Likewise. 2010-04-03 Grégoire Sutre * util/grub-install.in: Add `|| exit 1' to all grub-probe calls for which failure is fatal. 2010-04-03 Grégoire Sutre * 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 * Makefile.in (LEX): new variable. 2010-04-03 Grégoire Sutre * 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 * Makefile.in (uninstall): Remove a leftover debug echo. Reported by: Grégoire Sutre 2010-04-03 Vladimir Serbinenko 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 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 * kern/device.c (grub_device_iterate): Clear errors after failed opening device. 2010-03-31 Vladimir Serbinenko * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if returned by firmware. 2010-03-30 Vladimir Serbinenko * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix compilation on coreboot and qemu 2010-03-28 Vladimir Serbinenko * include/multiboot2.h: Resync with spec. 2010-03-28 Vladimir Serbinenko 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 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 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 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 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 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 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 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 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 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 * kern/dl.c (grub_dl_resolve_symbols): Improve error message grammar. 2010-03-24 Colin Watson * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default. 2010-03-21 Colin Watson * 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 * .bzrignore: Add gentrigtables, grub-script-check, grub_script_check_init.c, grub_script_check_init.h, and trigtables.c. 2010-03-18 Vladimir Serbinenko * kern/parser.c: Indented. 2010-03-17 Vladimir Serbinenko * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken). 2010-03-17 Vladimir Serbinenko * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle alpha_mask_size == 0 case. 2010-03-14 BVK Chaitanya 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 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 2010-03-14 Colin Watson 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 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 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 * 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 * 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 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 * util/grub-mkrescue.in: Base ISO UUID on UTC. 2010-03-08 Matt Kraai * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian bug #559005). 2010-03-07 Vladimir Serbinenko * genmoddep.awk: Output all missing symbols and not only first. 2010-03-06 Vladimir Serbinenko * NEWS: Put the date of 1.98 release. 2010-03-06 Vladimir Serbinenko * configure.ac: Update CPPFLAGS and not CFLAGS when checking for ft2build.h. 2010-03-06 Vladimir Serbinenko * normal/cmdline.c (grub_cmdline_get): Fix gabled line after completition in the middle of string. 2010-03-06 Vladimir Serbinenko * util/grub-mkrescue.in: Use mktemp with explicit template. 2010-03-06 Vladimir Serbinenko * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak. 2010-03-06 Vladimir Serbinenko * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the right pointer. 2010-03-05 Vladimir Serbinenko 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 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES. 2010-03-04 Vladimir Serbinenko * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak. 2010-03-04 Vladimir Serbinenko * disk/scsi.c (grub_scsi_iterate): Fix a memory leak. 2010-03-04 Robert Millan 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 * configure.ac: Alias amd64 to x86_64. 2010-03-04 Vladimir Serbinenko * NEWS: mention multiboot on EFI. 2010-03-04 Vladimir Serbinenko * kern/main.c (grub_load_modules): Handle errors from init functions of embeded modules. 2010-03-04 Vladimir Serbinenko * normal/autofs.c (autoload_fs_module): Handle errors. 2010-03-04 Vladimir Serbinenko 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 * INSTALL: Add gettext as a dependency and add qemu to a new section "Prerequisites for make-check". 2010-03-04 Christian Franke * util/grub-pe2elf.c: Add missing include "progname.h". 2010-03-04 Vladimir Serbinenko * normal/crypto.c (read_crypto_list): Fix a typo. Reported by: Seth Goldberg. 2010-03-04 Vladimir Serbinenko * Makefile.in (DISTCLEANFILES): Add stamp-h1. Reported by: Seth Goldberg. 2010-03-04 Vladimir Serbinenko * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add ascii.bitmaps. 2010-03-04 Vladimir Serbinenko * genmk.rb: Remove terminal*.lst in make clean. Reported by: Seth Goldberg. 2010-03-04 Vladimir Serbinenko * util/i386/efi/grub-install.in: Copy gettext files. 2010-03-01 Vladimir Serbinenko * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow. 2010-03-01 Vladimir Serbinenko 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 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error. 2010-03-01 Vladimir Serbinenko * configure.ac: Update version to 1.98. 2010-02-26 Vladimir Serbinenko * 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 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 * 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 * 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 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a memory leak. Reported by: Seth Goldberg. 2010-02-24 Joey Korkames * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove duplicate declaration of `start'. 2010-02-20 Vladimir Serbinenko * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet filename. Reported by: Georgy Buranov 2010-02-20 Carles Pina i Estany * util/grub-mkrawimage.c (usage): Change string formatting to improve gettext. 2010-02-20 Manoel Rebelo Abranches * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and backspace keys. 2010-02-20 Vladimir Serbinenko * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug. Reported by: Michael Suchanek. 2010-02-18 Samuel Thibault * util/grub-mkconfig.in: Export GRUB_INIT_TUNE. * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE. 2010-02-16 Vladimir Serbinenko 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 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo. 2010-02-15 Vladimir Serbinenko * 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 * gensymlist.sh.in: Use TARGET_CC instead of CC. 2010-02-14 Samuel Thibault * 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 * 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 * 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 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 * GRUB_TICKS_PER_SECOND instead of 120. 2010-02-14 Vladimir Serbinenko * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible escape sequence after \e. 2010-02-14 Vladimir Serbinenko * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output non-ASCII characters. 2010-02-14 Vladimir Serbinenko * 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 Prevent unknown commands from stopping menuentry execution. * script/execute.c (grub_script_execute_cmdline): Print error after unknown command. 2010-02-14 Vladimir Serbinenko * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo. Reported by: Pavel Pisa. 2010-02-13 Vladimir Serbinenko * io/gzio.c (grub_gzio_open): Use grub_zalloc. 2010-02-13 Vladimir Serbinenko 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 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before opening and not after. 2010-02-13 Vladimir Serbinenko * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify constants. 2010-02-13 Vladimir Serbinenko * loader/sparc64/ieee1275/linux.c (align_addr): Remove. (alloc_phys): Use ALIGN_UP instead of align_addr. 2010-02-13 Vladimir Serbinenko * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking. 2010-02-13 Vladimir Serbinenko * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards. 2010-02-13 Vladimir Serbinenko * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively verbose dprintf. 2010-02-13 Vladimir Serbinenko 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 * util/grub-mkrawimage.c (main): Call set_program_name. 2010-02-13 Vladimir Serbinenko Properly align 64-bit targets. * util/grub-mkrawimage.c (ALIGN_ADDR): New macro. (generate_image): Use ALIGN_ADDR. 2010-02-13 Vladimir Serbinenko 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 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP. 2010-02-10 Vladimir Serbinenko 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 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 * 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 * configure.ac: Check for ft2build.h. 2010-02-07 Vladimir Serbinenko * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff". 2010-02-07 Vladimir Serbinenko * genkernsyms.sh.in: Use TARGET_CC. 2010-02-07 Colin Watson * NEWS: Update. 2010-02-07 Vladimir Serbinenko * 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 * gnulib/getdelim.c: add missing header (type ssize_t must be defined). 2010-02-07 Vladimir Serbinenko 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 * loader/i386/linux.c (grub_linux_setup_video): Handle error appropriately. 2010-02-07 Vladimir Serbinenko * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting code out. 2010-02-07 Vladimir Serbinenko * 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 * include/grub/err.h (grub_err_printf): Don't export. 2010-02-07 Vladimir Serbinenko * include/grub/dl.h (grub_dl_register_symbol): Don't export. 2010-02-07 Vladimir Serbinenko * include/grub/i18n.h (grub_gettext_dummy): Removed. * kern/misc.c (grub_gettext_dummy): Make static. 2010-02-06 Vladimir Serbinenko * 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 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix buggy hook call and memory leak. 2010-02-06 Vladimir Serbinenko * commands/ls.c (grub_ls_list_files): Free pathname on exit. 2010-02-06 Vladimir Serbinenko * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit. 2010-02-06 Vladimir Serbinenko * 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 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling. 2010-02-06 Yves Blusseau * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies. (grub_mkpasswd_pbkdf2_SOURCES): Likewise. 2010-02-06 Vladimir Serbinenko * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on non-pxe disk. (grub_pxefs_open): Likewise. 2010-02-06 Robert Millan * 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 * 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 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 * include/grub/misc.h (grub_iscntrl): New inline function. (grub_isalnum): Likewise. (grub_strtol): Likewise. 2010-02-06 Colin D Bennett * 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 2010-02-06 Vladimir Serbinenko 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 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 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 2010-02-06 Vladimir Serbinenko 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 * 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 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of integer constants. 2010-02-06 Colin D Bennet 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 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole disk devices. 2010-02-06 Vladimir Serbinenko * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on error. 2010-02-03 Vladimir Serbinenko * 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 * kern/disk.c (grub_disk_read): Fix offset computation when reading last sectors. 2010-02-03 Vladimir Serbinenko * 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 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error. 2010-01-31 Vladimir Serbinenko * 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 * util/ieee1275/grub-install.in: Fix nvsetenv arguments. 2010-01-28 BVK Chaitanya * include/grub/script_sh.h (sourcecode): Add const qualifier. * util/grub-script-check.c (getline): Fix empty lines case. 2010-01-28 Robert Millan * 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 * 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 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle of the line. 2010-01-27 Vladimir Serbinenko * kern/disk.c (grub_disk_read): Fix offset computation when reading last sectors. 2010-01-27 Vladimir Serbinenko * commands/hashsum.c (hash_file): Avoid possible stack overflow by having a 4KiB and not 32KiB buffer size. 2010-01-27 Robert Millan * util/hostfs.c: Include `'. (grub_hostfs_read): Handle errors from fseeko() and fread(). 2010-01-27 Robert Millan * 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 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 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few memleak conditions. 2010-01-27 Carles Pina i Estany * 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 * util/bin2h.c (usage): Fix warning (space after backslash). 2010-01-26 Carles Pina i Estany * 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 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h' does. 2010-01-26 Robert Millan * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro. * boot/i386/pc/pxeboot.S: Include `'. (_start): Macroify `0x7F'. * kern/i386/pc/init.c: Include `'. (make_install_device): Use "(pxe)" as fallback prefix when booting via PXE. 2010-01-26 Vladimir Serbinenk