merge mainline into luks

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-04-25 17:04:27 +02:00
commit 8c767fd198
30 changed files with 143 additions and 18 deletions

View file

@ -221,10 +221,10 @@ grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array,
return grub_errno;
uuid = (grub_uint32_t *) array->uuid;
uuid[0] = sb.set_uuid0;
uuid[1] = sb.set_uuid1;
uuid[2] = sb.set_uuid2;
uuid[3] = sb.set_uuid3;
uuid[0] = grub_swap_bytes32 (sb.set_uuid0);
uuid[1] = grub_swap_bytes32 (sb.set_uuid1);
uuid[2] = grub_swap_bytes32 (sb.set_uuid2);
uuid[3] = grub_swap_bytes32 (sb.set_uuid3);
*start_sector = 0;

View file

@ -19,9 +19,6 @@
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <config.h>
#include <grub/dl.h>
GRUB_MOD_LICENSE ("GPLv3+");
/* Make sure noone compiles this code with a C++ compiler. */
#if defined __cplusplus && defined _LIBC

View file

@ -221,9 +221,6 @@ grub_find_root_device_from_mountinfo (const char *dir, char **relroot)
/* Now scan visible mounts for the ones we're interested in. */
for (i = entry_len - 1; i >= 0; i--)
{
if (entries[i].major != 0)
continue; /* not a virtual device */
if (!*entries[i].device)
continue;

View file

@ -130,7 +130,7 @@ VARIABLE(grub_relocator16_ss)
.byte 0xb8
VARIABLE(grub_relocator16_sp)
.word 0
movw %ax, %ss
movzwl %ax, %esp
/* movw imm32, %edx. */
.byte 0x66, 0xba

View file

@ -549,6 +549,7 @@ grub_linux_boot (void)
#ifdef GRUB_MACHINE_EFI
{
grub_efi_uintn_t efi_desc_size;
grub_size_t efi_mmap_target;
grub_efi_uint32_t efi_desc_version;
err = grub_efi_finish_boot_services (&efi_mmap_size, efi_mmap_buf, NULL,
&efi_desc_size, &efi_desc_version);
@ -556,23 +557,24 @@ grub_linux_boot (void)
return err;
/* Note that no boot services are available from here. */
efi_mmap_target = real_mode_target
+ ((grub_uint8_t *) efi_mmap_buf - (grub_uint8_t *) real_mode_mem);
/* Pass EFI parameters. */
if (grub_le_to_cpu16 (params->version) >= 0x0206)
{
params->v0206.efi_mem_desc_size = efi_desc_size;
params->v0206.efi_mem_desc_version = efi_desc_version;
params->v0206.efi_mmap = (grub_uint32_t) (unsigned long) efi_mmap_buf;
params->v0206.efi_mmap = efi_mmap_target;
params->v0206.efi_mmap_size = efi_mmap_size;
#ifdef __x86_64__
params->v0206.efi_mmap_hi = (grub_uint32_t) ((grub_uint64_t) efi_mmap_buf >> 32);
params->v0206.efi_mmap_hi = (efi_mmap_target >> 32);
#endif
}
else if (grub_le_to_cpu16 (params->version) >= 0x0204)
{
params->v0204.efi_mem_desc_size = efi_desc_size;
params->v0204.efi_mem_desc_version = efi_desc_version;
params->v0204.efi_mmap = (grub_uint32_t) (unsigned long) efi_mmap_buf;
params->v0204.efi_mmap = efi_mmap_target;
params->v0204.efi_mmap_size = efi_mmap_size;
}
}

View file

@ -114,8 +114,9 @@ amiga_partition_map_iterate (grub_disk_t disk,
return grub_errno;
if (grub_memcmp (apart.magic, GRUB_AMIGA_PART_MAGIC,
sizeof (apart.magic)) == 0)
sizeof (apart.magic)) != 0)
return grub_error (GRUB_ERR_BAD_PART_TABLE,
"invalid Amiga partition map");
/* Calculate the first block and the size of the partition. */
part.start = (grub_be_to_cpu32 (apart.lowcyl)
* grub_be_to_cpu32 (apart.heads)