bootloader_message: Carve out space reserved for system.
This reduces the wipe space from 32K to 16K. The wipe space is now at the 16K-32K region. The 32K-64K region is now "system space", to complement the vendor space, for generic AOSP usage. Bug: 139156011 Test: manual test Change-Id: I1474bfa65a5f21049ab64ec0aee2f4585b55f60f
This commit is contained in:
parent
c73a97c6ee
commit
4ff4cbdd6c
2 changed files with 11 additions and 1 deletions
|
@ -250,6 +250,13 @@ bool write_wipe_package(const std::string& package_data, std::string* err) {
|
||||||
if (misc_blk_device.empty()) {
|
if (misc_blk_device.empty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
static constexpr size_t kMaximumWipePackageSize =
|
||||||
|
SYSTEM_SPACE_OFFSET_IN_MISC - WIPE_PACKAGE_OFFSET_IN_MISC;
|
||||||
|
if (package_data.size() > kMaximumWipePackageSize) {
|
||||||
|
*err = "Wipe package size " + std::to_string(package_data.size()) + " exceeds " +
|
||||||
|
std::to_string(kMaximumWipePackageSize) + " bytes";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return write_misc_partition(package_data.data(), package_data.size(), misc_blk_device,
|
return write_misc_partition(package_data.data(), package_data.size(), misc_blk_device,
|
||||||
WIPE_PACKAGE_OFFSET_IN_MISC, err);
|
WIPE_PACKAGE_OFFSET_IN_MISC, err);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,15 @@
|
||||||
// 0 - 2K For bootloader_message
|
// 0 - 2K For bootloader_message
|
||||||
// 2K - 16K Used by Vendor's bootloader (the 2K - 4K range may be optionally used
|
// 2K - 16K Used by Vendor's bootloader (the 2K - 4K range may be optionally used
|
||||||
// as bootloader_message_ab struct)
|
// as bootloader_message_ab struct)
|
||||||
// 16K - 64K Used by uncrypt and recovery to store wipe_package for A/B devices
|
// 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
|
// Note that these offsets are admitted by bootloader,recovery and uncrypt, so they
|
||||||
// are not configurable without changing all of them.
|
// are not configurable without changing all of them.
|
||||||
constexpr size_t BOOTLOADER_MESSAGE_OFFSET_IN_MISC = 0;
|
constexpr size_t BOOTLOADER_MESSAGE_OFFSET_IN_MISC = 0;
|
||||||
constexpr size_t VENDOR_SPACE_OFFSET_IN_MISC = 2 * 1024;
|
constexpr size_t VENDOR_SPACE_OFFSET_IN_MISC = 2 * 1024;
|
||||||
constexpr size_t WIPE_PACKAGE_OFFSET_IN_MISC = 16 * 1024;
|
constexpr size_t WIPE_PACKAGE_OFFSET_IN_MISC = 16 * 1024;
|
||||||
|
constexpr size_t SYSTEM_SPACE_OFFSET_IN_MISC = 32 * 1024;
|
||||||
|
constexpr size_t SYSTEM_SPACE_SIZE_IN_MISC = 32 * 1024;
|
||||||
|
|
||||||
/* Bootloader Message (2-KiB)
|
/* Bootloader Message (2-KiB)
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue