Lines Matching full:header
8 * "header" length field being in U32s and not bytes.
10 * "Header" is a structure of the following format.
22 * 0x4A 2 Checksum over the header. NB Not CRC32
56 } header; variable
59 * The header checksum is just a very simple checksum over
60 * the header area.
63 static uint16_t hdr_checksum(struct socfpga_header *header) in hdr_checksum() argument
65 int len = sizeof(*header) - sizeof(header->checksum); in hdr_checksum()
66 uint8_t *buf = (uint8_t *)header; in hdr_checksum()
79 header.validation = cpu_to_le32(VALIDATION_WORD); in build_header()
80 header.version = version; in build_header()
81 header.flags = flags; in build_header()
82 header.length_u32 = cpu_to_le16(length_bytes/4); in build_header()
83 header.zero = 0; in build_header()
84 header.checksum = cpu_to_le16(hdr_checksum(&header)); in build_header()
86 memcpy(buf, &header, sizeof(header)); in build_header()
90 * Perform a rudimentary verification of header and return
95 memcpy(&header, buf, sizeof(header)); in verify_header()
97 if (le32_to_cpu(header.validation) != VALIDATION_WORD) in verify_header()
99 if (le16_to_cpu(header.checksum) != hdr_checksum(&header)) in verify_header()
102 return le16_to_cpu(header.length_u32) * 4; in verify_header()
115 /* Build header, adding 4 bytes to length to hold the CRC32. */ in sign_buffer()
138 debug("Invalid header\n"); in verify_buffer()
143 debug("Invalid header length (%i)\n", len); in verify_buffer()
203 * We prepend a fake header big enough to make the file PADDED_SIZE.