crypto: move includes to kern/include
[akaros.git] / kern / include / crypto / 2fw_hash_tags.h
1 /* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file.
4  *
5  * Firmware hash tags for verified boot
6  */
7
8 #ifndef VBOOT_REFERENCE_VBOOT_2FW_HASH_TAGS_H_
9 #define VBOOT_REFERENCE_VBOOT_2FW_HASH_TAGS_H_
10 #include <stdint.h>
11
12 /*
13  * Tags for types of hashable data.
14  *
15  * Note that not every firmware image will contain every tag.
16  *
17  * TODO: These are the ones that vboot specifically knows about given the
18  * current data structures.  In the future, I'd really like the vboot preamble
19  * to contain an arbitrary list of tags and their hashes, so that we can hash
20  * ram init, main RW body, EC-RW for software sync, etc. all separately.
21  */
22 enum vb2_hash_tag {
23         /* Invalid hash tag; never present in table */
24         VB2_HASH_TAG_INVALID = 0,
25
26         /* Firmware body */
27         VB2_HASH_TAG_FW_BODY = 1,
28
29         /* Kernel data key */
30         VB2_HASH_TAG_KERNEL_DATA_KEY = 2,
31
32         /*
33          * Tags over 0x40000000 are reserved for use by the calling firmware,
34          * which may associate them with arbitrary types of RW firmware data
35          * that it wants to track.
36          */
37         VB2_HASH_TAG_CALLER_BASE = 0x40000000
38 };
39
40 #endif /* VBOOT_REFERENCE_VBOOT_2FW_HASH_TAGS_H_ */