diff options
Diffstat (limited to 'firmware/lib/cgptlib/mtdlib.c')
-rw-r--r-- | firmware/lib/cgptlib/mtdlib.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/firmware/lib/cgptlib/mtdlib.c b/firmware/lib/cgptlib/mtdlib.c deleted file mode 100644 index 98662523..00000000 --- a/firmware/lib/cgptlib/mtdlib.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "mtdlib.h" - -#include "cgptlib.h" -#include "cgptlib_internal.h" -#include "crc32.h" -#include "utility.h" -#include "vboot_api.h" - -const int kSectorShift = 9; /* 512 bytes / sector. */ - -int MtdGetEntryPriority(const MtdDiskPartition *e) { - return ((e->flags & MTD_ATTRIBUTE_PRIORITY_MASK) >> - MTD_ATTRIBUTE_PRIORITY_OFFSET); -} - -int MtdGetEntryTries(const MtdDiskPartition *e) { - return ((e->flags & MTD_ATTRIBUTE_TRIES_MASK) >> - MTD_ATTRIBUTE_TRIES_OFFSET); -} - -int MtdGetEntrySuccessful(const MtdDiskPartition *e) { - return ((e->flags & MTD_ATTRIBUTE_SUCCESSFUL_MASK) >> - MTD_ATTRIBUTE_SUCCESSFUL_OFFSET); -} - -int MtdGetEntryType(const MtdDiskPartition *e) { - return ((e->flags & MTD_ATTRIBUTE_TYPE_MASK) >> MTD_ATTRIBUTE_TYPE_OFFSET); -} - -static void SetBitfield(MtdDiskPartition *e, - uint32_t offset, uint32_t mask, uint32_t v) { - e->flags = (e->flags & ~mask) | ((v << offset) & mask); -} -void MtdSetEntrySuccessful(MtdDiskPartition *e, int successful) { - SetBitfield(e, MTD_ATTRIBUTE_SUCCESSFUL_OFFSET, - MTD_ATTRIBUTE_SUCCESSFUL_MASK, successful); -} -void MtdSetEntryPriority(MtdDiskPartition *e, int priority) { - SetBitfield(e, MTD_ATTRIBUTE_PRIORITY_OFFSET, MTD_ATTRIBUTE_PRIORITY_MASK, - priority); -} -void MtdSetEntryTries(MtdDiskPartition *e, int tries) { - SetBitfield(e, MTD_ATTRIBUTE_TRIES_OFFSET, MTD_ATTRIBUTE_TRIES_MASK, tries); -} -void MtdSetEntryType(MtdDiskPartition *e, int type) { - SetBitfield(e, MTD_ATTRIBUTE_TYPE_OFFSET, MTD_ATTRIBUTE_TYPE_MASK, type); -} - -uint32_t MtdHeaderCrc(MtdDiskLayout *h) { - uint32_t crc32, original_crc32; - - /* Original CRC is calculated with the CRC field 0. */ - original_crc32 = h->crc32; - h->crc32 = 0; - crc32 = Crc32((const uint8_t *)h, h->size); - h->crc32 = original_crc32; - - return crc32; -} - -void MtdGetPartitionSize(const MtdDiskPartition *e, - uint64_t *start, uint64_t *end, uint64_t *size) { - uint64_t start_tmp, end_tmp; - if (!start) - start = &start_tmp; - if (!end) - end = &end_tmp; - - Memcpy(start, &e->starting_offset, sizeof(e->starting_offset)); - Memcpy(end, &e->ending_offset, sizeof(e->ending_offset)); - if (size) { - *size = *end - *start + 1; - } -} - -void MtdGetPartitionSizeInSectors(const MtdDiskPartition *e, uint64_t *start, - uint64_t *end, uint64_t *size) { - MtdGetPartitionSize(e, start, end, size); - if (start) - *start >>= kSectorShift; - if (end) - *end >>= kSectorShift; - if (size) - *size >>= kSectorShift; -} - - - |