mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
cgpt: Support non-standard (smaller) entries table
The standard says that entries table must be at least 16384 bytes. On some of our devices, the NOR section is only 8 KiB and used to store both primary and secondary tables. On this device, we can only store 24 entries. Therefore, this CL adds support for non-standard entry table. It adjusts the MIN_NUMBER_OF_ENTRIES to 16, and replaces GPT_ENTRIES_SECTORS with CalculateEntriesSectors. BUG=chromium:441812 BRANCH=none TEST=unittest Change-Id: I6b85b35ce5612c7abb22142f8252bd0d45b676c5 Reviewed-on: https://chromium-review.googlesource.com/234996 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Commit-Queue: Nam Nguyen <namnguyen@chromium.org> Tested-by: Nam Nguyen <namnguyen@chromium.org>
This commit is contained in:
committed by
chrome-internal-fetch
parent
32a999d2c0
commit
3200401242
@@ -51,17 +51,12 @@
|
||||
#define MIN_SIZE_OF_ENTRY 128
|
||||
#define MAX_SIZE_OF_ENTRY 512
|
||||
#define SIZE_OF_ENTRY_MULTIPLE 8
|
||||
#define MIN_NUMBER_OF_ENTRIES 32
|
||||
#define MIN_NUMBER_OF_ENTRIES 16
|
||||
#define MAX_NUMBER_OF_ENTRIES 512
|
||||
|
||||
/* Defines GPT sizes */
|
||||
#define GPT_PMBR_SECTORS 1 /* size (in sectors) of PMBR */
|
||||
#define GPT_HEADER_SECTORS 1
|
||||
/*
|
||||
* Entries sectors assumes sector size if 512 bytes; then (TOTAL_ENTRIES_SIZE /
|
||||
* 512) = 32
|
||||
*/
|
||||
#define GPT_ENTRIES_SECTORS 32
|
||||
|
||||
/*
|
||||
* Alias name of index in internal array for primary and secondary header and
|
||||
@@ -163,4 +158,9 @@ void GetCurrentKernelUniqueGuid(GptData *gpt, void *dest);
|
||||
*/
|
||||
const char *GptErrorText(int error_code);
|
||||
|
||||
/**
|
||||
* Return number of 512-byte sectors required to store the entries table.
|
||||
*/
|
||||
size_t CalculateEntriesSectors(GptHeader* h);
|
||||
|
||||
#endif /* VBOOT_REFERENCE_CGPTLIB_INTERNAL_H_ */
|
||||
|
||||
Reference in New Issue
Block a user