Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f78b7a7b authored by David Anderson's avatar David Anderson Committed by Gerrit Code Review
Browse files

Merge "bootloader_message: Add a magic header to the Virtual A/B message block."

parents ca18e7fe 682d2a5d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -365,13 +365,15 @@ bool InitMiscVirtualAbMessageIfNeeded() {
    return false;
  }

  if (message.version == MISC_VIRTUAL_AB_MESSAGE_VERSION) {
  if (message.version == MISC_VIRTUAL_AB_MESSAGE_VERSION &&
      message.magic == MISC_VIRTUAL_AB_MAGIC_HEADER) {
    // Already initialized.
    return true;
  }

  message = {};
  message.version = MISC_VIRTUAL_AB_MESSAGE_VERSION;
  message.magic = MISC_VIRTUAL_AB_MAGIC_HEADER;
  if (!WriteMiscVirtualAbMessage(message, &err)) {
    LOG(ERROR) << "Could not write merge status: " << err;
    return false;
+4 −2
Original line number Diff line number Diff line
@@ -189,12 +189,14 @@ static_assert(sizeof(struct bootloader_control) ==
// must be added to the end.
struct misc_virtual_ab_message {
  uint8_t version;
  uint32_t magic;
  uint8_t merge_status;  // IBootControl 1.1, MergeStatus enum.
  uint8_t source_slot;   // Slot number when merge_status was written.
  uint8_t reserved[61];
  uint8_t reserved[57];
} __attribute__((packed));

#define MISC_VIRTUAL_AB_MESSAGE_VERSION 1
#define MISC_VIRTUAL_AB_MESSAGE_VERSION 2
#define MISC_VIRTUAL_AB_MAGIC_HEADER 0x56740AB0

#if (__STDC_VERSION__ >= 201112L) || defined(__cplusplus)
static_assert(sizeof(struct misc_virtual_ab_message) == 64,