Index: firmware/lib/cgptlib/cgptlib.c |
diff --git a/firmware/lib/cgptlib/cgptlib.c b/firmware/lib/cgptlib/cgptlib.c |
index 4d2ee6c0a803a2b9909a57727a09e7c8059185c3..8b3b64895d6eb285b0c4c86f5618e2b6b332da10 100644 |
--- a/firmware/lib/cgptlib/cgptlib.c |
+++ b/firmware/lib/cgptlib/cgptlib.c |
@@ -22,8 +22,10 @@ int GptInit(GptData *gpt) { |
gpt->current_priority = 999; |
retval = GptSanityCheck(gpt); |
- if (GPT_SUCCESS != retval) |
+ if (GPT_SUCCESS != retval) { |
+ debug("GptInit() failed sanity check\n"); |
return retval; |
+ } |
GptRepair(gpt); |
return GPT_SUCCESS; |
@@ -36,7 +38,7 @@ int GptNextKernelEntry(GptData* gpt, uint64_t* start_sector, uint64_t* size) { |
GptEntry* e; |
int new_kernel = CGPT_KERNEL_ENTRY_NOT_FOUND; |
int new_prio = 0; |
- int i; |
+ uint32_t i; |
/* If we already found a kernel, continue the scan at the current |
* kernel's prioity, in case there is another kernel with the same |
@@ -46,12 +48,16 @@ int GptNextKernelEntry(GptData* gpt, uint64_t* start_sector, uint64_t* size) { |
e = entries + i; |
if (!IsKernelEntry(e)) |
continue; |
+ debug("GptNextKernelEntry looking at same prio partition %d\n", i); |
+ debug("GptNextKernelEntry s%d t%d p%d\n", |
+ GetEntrySuccessful(e), GetEntryTries(e), GetEntryPriority(e)); |
if (!(GetEntrySuccessful(e) || GetEntryTries(e))) |
continue; |
if (GetEntryPriority(e) == gpt->current_priority) { |
gpt->current_kernel = i; |
*start_sector = e->starting_lba; |
*size = e->ending_lba - e->starting_lba + 1; |
+ debug("GptNextKernelEntry likes that one\n"); |
return GPT_SUCCESS; |
} |
} |
@@ -63,6 +69,9 @@ int GptNextKernelEntry(GptData* gpt, uint64_t* start_sector, uint64_t* size) { |
int current_prio = GetEntryPriority(e); |
if (!IsKernelEntry(e)) |
continue; |
+ debug("GptNextKernelEntry looking at new prio partition %d\n", i); |
+ debug("GptNextKernelEntry s%d t%d p%d\n", |
+ GetEntrySuccessful(e), GetEntryTries(e), GetEntryPriority(e)); |
if (!(GetEntrySuccessful(e) || GetEntryTries(e))) |
continue; |
if (current_prio >= gpt->current_priority) |
@@ -79,9 +88,12 @@ int GptNextKernelEntry(GptData* gpt, uint64_t* start_sector, uint64_t* size) { |
gpt->current_kernel = new_kernel; |
gpt->current_priority = new_prio; |
- if (CGPT_KERNEL_ENTRY_NOT_FOUND == new_kernel) |
+ if (CGPT_KERNEL_ENTRY_NOT_FOUND == new_kernel) { |
+ debug("GptNextKernelEntry no more kernels\n"); |
return GPT_ERROR_NO_VALID_KERNEL; |
+ } |
+ debug("GptNextKernelEntry likes that one\n"); |
e = entries + new_kernel; |
*start_sector = e->starting_lba; |
*size = e->ending_lba - e->starting_lba + 1; |