Lines Matching full:part
97 pnor_partition& part = table.partitions[numParts]; in preparePartitions() local
105 // partition00=part,0x00000000,0x00002000,00,READWRITE in preparePartitions()
115 parseTocLine(line, blockSize, part); in preparePartitions()
122 if (part.data.id == prev.data.id) in preparePartitions()
127 prev.data.name, prev.data.base, part.data.name, in preparePartitions()
128 part.data.base, part.data.id); in preparePartitions()
131 if (part.data.base < prev_end) in preparePartitions()
134 err << "Partition '" << part.data.name << "' start block 0x" in preparePartitions()
135 << std::hex << part.data.base << "is less than the end " in preparePartitions()
142 file = rwDir / part.data.name; in preparePartitions()
145 file = roDir / part.data.name; in preparePartitions()
154 patch = patchDir / part.data.name; in preparePartitions()
157 const size_t size = part.data.size * blockSize; in preparePartitions()
158 part.data.actual = in preparePartitions()
173 const struct pnor_partition& part = table.partitions[i]; in partition() local
174 size_t len = part.data.size; in partition()
176 if ((blockOffset >= part.data.base) && in partition()
177 (blockOffset < (part.data.base + len))) in partition()
179 return part; in partition()
183 if (blockOffset < part.data.base) in partition()
185 throw UnmappedOffset(offset, part.data.base * blockSize); in partition()
251 static inline void writeSizes(pnor_partition& part, size_t start, size_t end, in writeSizes() argument
255 part.data.base = align_up(start, blockSize) / blockSize; in writeSizes()
257 part.data.size = sizeInBlocks; in writeSizes()
258 part.data.actual = size; in writeSizes()
261 static inline void writeUserdata(pnor_partition& part, uint32_t version, in writeUserdata() argument
314 if (part.data.id == 0 && !part.data.base && part.data.size) in writeUserdata()
319 part.data.user.data[0] = state; in writeUserdata()
320 part.data.user.data[1] = perms; in writeUserdata()
321 part.data.user.data[1] |= version; in writeUserdata()
324 static inline void writeDefaults(pnor_partition& part) in writeDefaults() argument
326 part.data.pid = PARENT_PATITION_ID; in writeDefaults()
327 part.data.type = PARTITION_TYPE_DATA; in writeDefaults()
328 part.data.flags = 0; // flags unused in writeDefaults()
331 static inline void writeNameAndId(pnor_partition& part, std::string&& name, in writeNameAndId() argument
335 memcpy(part.data.name, name.c_str(), sizeof(part.data.name)); in writeNameAndId()
336 part.data.id = std::stoul(id); in writeNameAndId()
340 pnor_partition& part) in parseTocLine() argument
365 writeNameAndId(part, match[NAME_MATCH].str(), match[ID_MATCH].str()); in parseTocLine()
366 writeDefaults(part); in parseTocLine()
393 writeSizes(part, start, end, blockSize); in parseTocLine()
400 writeUserdata(part, version << versionShift, match.suffix().str()); in parseTocLine()
401 part.checksum = details::checksum(part.data); in parseTocLine()