projects
/
platform
/
kernel
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '2021-07-28-build-improvements'
[platform/kernel/u-boot.git]
/
disk
/
part_efi.c
diff --git
a/disk/part_efi.c
b/disk/part_efi.c
index
2f92266
..
fdca91a
100644
(file)
--- a/
disk/part_efi.c
+++ b/
disk/part_efi.c
@@
-15,6
+15,7
@@
#include <part.h>
#include <uuid.h>
#include <asm/cache.h>
#include <part.h>
#include <uuid.h>
#include <asm/cache.h>
+#include <asm/global_data.h>
#include <asm/unaligned.h>
#include <command.h>
#include <fdtdec.h>
#include <asm/unaligned.h>
#include <command.h>
#include <fdtdec.h>
@@
-28,12
+29,13
@@
DECLARE_GLOBAL_DATA_PTR;
DECLARE_GLOBAL_DATA_PTR;
-/*
- * GUID for basic data partions.
- */
+#ifdef CONFIG_HAVE_BLOCK_DEVICE
+
+/* GUID for basic data partitons */
+#if CONFIG_IS_ENABLED(EFI_PARTITION)
static const efi_guid_t partition_basic_data_guid = PARTITION_BASIC_DATA_GUID;
static const efi_guid_t partition_basic_data_guid = PARTITION_BASIC_DATA_GUID;
+#endif
-#ifdef CONFIG_HAVE_BLOCK_DEVICE
/**
* efi_crc32() - EFI version of crc32 function
* @buf: buffer to calculate crc32 of
/**
* efi_crc32() - EFI version of crc32 function
* @buf: buffer to calculate crc32 of
@@
-691,6
+693,15
@@
int gpt_verify_headers(struct blk_desc *dev_desc, gpt_header *gpt_head,
/* Free pte before allocating again */
free(*gpt_pte);
/* Free pte before allocating again */
free(*gpt_pte);
+ /*
+ * Check that the alternate_lba entry points to the last LBA
+ */
+ if (le64_to_cpu(gpt_head->alternate_lba) != (dev_desc->lba - 1)) {
+ printf("%s: *** ERROR: Misplaced Backup GPT ***\n",
+ __func__);
+ return -1;
+ }
+
if (is_gpt_valid(dev_desc, (dev_desc->lba - 1),
gpt_head, gpt_pte) != 1) {
printf("%s: *** ERROR: Invalid Backup GPT ***\n",
if (is_gpt_valid(dev_desc, (dev_desc->lba - 1),
gpt_head, gpt_pte) != 1) {
printf("%s: *** ERROR: Invalid Backup GPT ***\n",
@@
-867,6
+878,9
@@
int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf)
return 1;
}
return 1;
}
+ /* Update the partition table entries*/
+ part_init(dev_desc);
+
return 0;
}
#endif
return 0;
}
#endif
@@
-1113,4
+1127,4
@@
U_BOOT_PART_TYPE(a_efi) = {
.print = part_print_ptr(part_print_efi),
.test = part_test_efi,
};
.print = part_print_ptr(part_print_efi),
.test = part_test_efi,
};
-#endif
+#endif
/* CONFIG_HAVE_BLOCK_DEVICE */