| /*Virtual A/B merge status information*/ |
| |
| // Spaces used by misc partition are as below: |
| // 0 - 2K For bootloader_message |
| // 2K - 16K Used by Vendor's bootloader (the 2K - 4K range may be optionally used |
| // as bootloader_message_ab struct) |
| // 16K - 32K Used by uncrypt and recovery to store wipe_package for A/B devices |
| // 32K - 64K System space, used for miscellanious AOSP features. See below. |
| // Note that these offsets are admitted by bootloader,recovery and uncrypt, so they |
| // are not configurable without changing all of them. |
| |
| #ifndef _ANDROID_VAB_H_ |
| #define _ANDROID_VAB_H_ |
| |
| #define BOOTLOADER_MESSAGE_OFFSET_IN_MISC 0 |
| #define VENDOR_SPACE_OFFSET_IN_MISC 2 * 1024 |
| #define WIPE_PACKAGE_OFFSET_IN_MISC 16 * 1024 |
| #define SYSTEM_SPACE_OFFSET_IN_MISC 32 * 1024 |
| #define SYSTEM_SPACE_SIZE_IN_MISC 32 * 1024 |
| |
| enum MergeStatus { |
| /** |
| * No snapshot or merge is in progress. |
| */ |
| NONE = 0, |
| |
| /** |
| * The merge status could not be determined. |
| */ |
| UNKNOWN, |
| |
| /** |
| * Partitions are being snapshotted, but no merge has been started. |
| */ |
| SNAPSHOTTED, |
| |
| /** |
| * At least one partition has merge is in progress. |
| */ |
| MERGING, |
| |
| /** |
| * A merge was in progress, but it was canceled by the bootloader. |
| */ |
| CANCELLED, |
| }; |
| |
| // Holds Virtual A/B merge status information. Current version is 1. New fields |
| // 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[57]; |
| }; |
| |
| #endif |