12345678910111213141516171819202122232425262728293031323334353637 |
- /* SPDX-License-Identifier: GPL-2.0+ */
- /*
- * (C) Copyright 2013
- * Reinhard Pfau, Guntermann & Drunck GmbH, reinhard.pfau@gdsys.cc
- */
- #ifndef __HRE_H
- #define __HRE_H
- struct key_program {
- uint32_t magic;
- uint32_t code_crc;
- uint32_t code_size;
- uint8_t code[];
- };
- struct h_reg {
- bool valid;
- uint8_t digest[20];
- };
- /* CCDM specific contants */
- enum {
- /* NV indices */
- NV_COMMON_DATA_INDEX = 0x40000001,
- /* magics for key blob chains */
- MAGIC_KEY_PROGRAM = 0x68726500,
- MAGIC_HMAC = 0x68616300,
- MAGIC_END_OF_CHAIN = 0x00000000,
- /* sizes */
- NV_COMMON_DATA_MIN_SIZE = 3 * sizeof(uint64_t) + 2 * sizeof(uint16_t),
- };
- int hre_verify_program(struct key_program *prg);
- int hre_run_program(const uint8_t *code, size_t code_size);
- #endif /* __HRE_H */
|