merge mainline into luks
This commit is contained in:
commit
8c767fd198
30 changed files with 143 additions and 18 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue