++2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
++
++ Implement EFI and ACPI multiboot2 extensions.
++
++ * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
++ new tags as supported.
++ (acpiv2_size): New function.
++ (grub_multiboot_get_mbi_size): Take new tags into account.
++ (grub_multiboot_make_mbi): Add new tags.
++ * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
++
+2010-09-21 Aleš Nesrsta <starous@volny.cz>
+
+ * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
+ Added missing configuration of USB device.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/normal/menu_entry.c (run): Make sure we always return
+ a value.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
+ NumberOfPages is UINT64 according to the UEFI specification, not
+ UINTN. Fix printf format.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
+ `err' to grub_usb_err_t.
+ Reported and tested by: KESHAV P.R.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
+ tpart non-const, so that we can assign to it. (Since this is a
+ typedef, the constness refers to the pointer rather than what it
+ points to.)
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * conf/Makefile.common (CPPFLAGS_GNULIB): Add
+ $(top_srcdir)/grub-core/gnulib as well as
+ $(top_builddir)/grub-core/gnulib.
+ Reported by: KESHAV P.R.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * util/grub-install.in: Fix the bootloader ID option to be
+ consistently --bootloader-id, not --bootloader_id.
+ Reported by: KESHAV P.R.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
+ check hash checksum." consistently translatable.
+
+2010-09-21 Yves Blusseau <blusseau@zetam.org>
+
+ * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
+ $(top_builddir).
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
+ (GRUB_MOD_INIT): Register sha1sum command.
+ (GRUB_MOD_FINI): Unregister sha1sum command.
+
+2010-09-21 Yves Blusseau <blusseau@zetam.org>
+
+ Keep boot and grub directory names in sync with utils scripts
+
+ * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
+ * config.h.in: Add previous macros.
+ * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
+ * util/grub-install.in: Use $bootdir and $grubdir variables.
+
+2010-09-21 Colin Watson <cjwatson@ubuntu.com>
+
+ * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
+ convert partition names to disk names if the new `convert' parameter
+ is set.
+ (grub_util_biosdisk_get_grub_dev): If opening the disk device
+ returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
+ disk in its own right. This can happen with Xen disk images.
+
+2010-09-21 Yves Blusseau <blusseau@zetam.org>
+
+ * util/grub-editenv.c: Update strings to avoid warnings when generating
+ grub.pot file.
+ * util/grub-setup.c: Likewise.
+
+2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * configure.ac: Change version to 1.99~beta0.
+
2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
return err;
}
+ static grub_size_t
+ acpiv2_size (void)
+ {
++#if GRUB_MACHINE_HAS_ACPI
+ struct grub_acpi_rsdp_v20 *p = grub_acpi_get_rsdpv2 ();
+
+ if (!p)
+ return 0;
+
+ return ALIGN_UP (sizeof (struct multiboot_tag_old_acpi)
+ + p->length, MULTIBOOT_TAG_ALIGN);
++#else
++ return 0;
++#endif
+ }
+
static grub_size_t
grub_multiboot_get_mbi_size (void)
{
grub_errno = GRUB_ERR_NONE;
}
}
-
+
+ #if defined (GRUB_MACHINE_EFI) && __x86_64__
+ {
+ struct multiboot_tag_efi64 *tag = (struct multiboot_tag_efi64 *) ptrorig;
+ tag->type = MULTIBOOT_TAG_TYPE_EFI64;
+ tag->size = sizeof (*tag);
+ tag->pointer = (grub_addr_t) grub_efi_system_table;
+ ptrorig += ALIGN_UP (tag->size, MULTIBOOT_TAG_ALIGN);
+ }
+ #endif
+
+ #if defined (GRUB_MACHINE_EFI) && __i386_
+ {
+ struct multiboot_tag_efi64 *tag = (struct multiboot_tag_efi32 *) ptrorig;
+ tag->type = MULTIBOOT_TAG_TYPE_EFI32;
+ tag->size = sizeof (*tag);
+ tag->pointer = (grub_addr_t) grub_efi_system_table;
+ ptrorig += ALIGN_UP (tag->size, MULTIBOOT_TAG_ALIGN);
+ }
+ #endif
+
++#if GRUB_MACHINE_HAS_ACPI
+ {
+ struct multiboot_tag_old_acpi *tag = (struct multiboot_tag_old_acpi *)
+ ptrorig;
+ struct grub_acpi_rsdp_v10 *a = grub_acpi_get_rsdpv1 ();
+ if (a)
+ {
+ tag->type = MULTIBOOT_TAG_TYPE_ACPI_OLD;
+ tag->size = sizeof (*tag) + sizeof (*a);
+ grub_memcpy (tag->rsdp, a, sizeof (*a));
+ ptrorig += ALIGN_UP (tag->size, MULTIBOOT_TAG_ALIGN);
+ }
+ }
+
+ {
+ struct multiboot_tag_new_acpi *tag = (struct multiboot_tag_new_acpi *)
+ ptrorig;
+ struct grub_acpi_rsdp_v20 *a = grub_acpi_get_rsdpv2 ();
+ if (a)
+ {
+ tag->type = MULTIBOOT_TAG_TYPE_ACPI_NEW;
+ tag->size = sizeof (*tag) + a->length;
+ grub_memcpy (tag->rsdp, a, a->length);
+ ptrorig += ALIGN_UP (tag->size, MULTIBOOT_TAG_ALIGN);
+ }
+ }
++#endif
+
{
struct multiboot_tag *tag = (struct multiboot_tag *) ptrorig;
tag->type = MULTIBOOT_TAG_TYPE_END;