diff options
Diffstat (limited to 'firmware/common/bootdata.c')
-rw-r--r-- | firmware/common/bootdata.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/firmware/common/bootdata.c b/firmware/common/bootdata.c index fa74c5fe91..224a48d0c1 100644 --- a/firmware/common/bootdata.c +++ b/firmware/common/bootdata.c | |||
@@ -42,6 +42,20 @@ static bool verify_boot_data_v0(void) | |||
42 | return true; | 42 | return true; |
43 | } | 43 | } |
44 | 44 | ||
45 | static bool verify_boot_data_v1(void) INIT_ATTR; | ||
46 | static bool verify_boot_data_v1(void) | ||
47 | { | ||
48 | /* validate protocol version */ | ||
49 | if (boot_data.version != 1) | ||
50 | return false; | ||
51 | |||
52 | /* validate length */ | ||
53 | if (boot_data.length != 4) | ||
54 | return false; | ||
55 | |||
56 | return true; | ||
57 | } | ||
58 | |||
45 | struct verify_bd_entry | 59 | struct verify_bd_entry |
46 | { | 60 | { |
47 | int version; | 61 | int version; |
@@ -50,6 +64,7 @@ struct verify_bd_entry | |||
50 | 64 | ||
51 | static const struct verify_bd_entry verify_bd[] INITDATA_ATTR = { | 65 | static const struct verify_bd_entry verify_bd[] INITDATA_ATTR = { |
52 | { 0, verify_boot_data_v0 }, | 66 | { 0, verify_boot_data_v0 }, |
67 | { 1, verify_boot_data_v1 }, | ||
53 | }; | 68 | }; |
54 | 69 | ||
55 | void verify_boot_data(void) | 70 | void verify_boot_data(void) |