How do I make sense of the following HAB Event Data? Where is this documented?
HAB Configuration: 0xf0 HAB
State: 0x66
--------- HAB Event 1
-----------------
event data:
0xdb
0x00 0x08 0x40 0x33 0x22 0x0a 0x00
--------- HAB Event 2
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0xf8 0x00 0x64 0x00
0x00
0x00 0x00 0x20
--------- HAB Event 3
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0xf8 0x00 0x64 0x20
0x00
0x00 0x00 0x01
--------- HAB Event 4
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0xf8 0x00 0x64 0x58
0x00
0x00 0x00 0x04
--------- HAB Event 5
-----------------
event data:
0xdb
0x00 0x08 0x40 0x33 0x22 0x0a 0x00
--------- HAB Event 6
-----------------
event data:
0xdb
0x00 0x08 0x40 0x33 0x22 0x0a 0x00
--------- HAB Event 7
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x04 0x2c
0x00
0x00 0x00 0x20
--------- HAB Event 8
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x30 0x00 0x00 0x00
0x00
0x00 0x00 0x00
--------- HAB Event 9
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x04 0x4c
0x00
0x00 0x00 0x01
--------- HAB Event 10
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x08 0x40
0x00
0x00 0x00 0x04
--------- HAB Event 11
-----------------
event data:
0xdb
0x00 0x08 0x40 0x33 0x28 0xee 0x00
--------- HAB Event 12
-----------------
event data:
0xdb
0x00 0x08 0x40 0x33 0x22 0x0a 0x00
--------- HAB Event 13
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x04 0x00
0x00
0x00 0x00 0x20
--------- HAB Event 14
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x04 0x2c
0x00
0x00 0x01 0xa0
--------- HAB Event 15
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x04 0x20
0x00
0x00 0x00 0x01
--------- HAB Event 16
-----------------
event data:
0xdb
0x00 0x14 0x40 0x33 0x0c 0xa0 0x00
0x00
0x00 0x00 0x00 0x77 0x80 0x05 0xe0
0x00
0x00 0x00 0x04
Solved! Go to Solution.
Please look at my comments below.
1.
According to the Appendix A (Interpreting HAB Event Data from Report_Event() API)
of the “HAB4_API.pdf” in the CST package, CAAM and SNVS engine failure takes place.
Summary Page :i.MX 6 Series Software and Development Tool R|Freescale
event data:
tag: 0xdb (HAB_TAG_EVT)
sts: 0x33 (HAB_FAILURE)
rsn: 0x28 (HAB_INV_CALL) Function called out of sequence
or
rsn: 0x22 (HAB_INV_ADDRESS) Invalid address: access denied
or
rsn: 0xc (HAB_INV_ASSERTION) Invalid assertion
If the reason of a HAB event is HAB_INV_ADDRESS (0x22)
[Invalid address: access denied] - please check if initialization
via DCD table meet allowed addresses.
Please take a look at Table 8-37 (Valid DCD Address Ranges) of the
i.MX6 DQ Reference Manual.
For the case 0xc (HAB_INV_ASSERTION) – the HAB checks that all of the
following data have been authenticated (using their final locations):
- IVT ;
- DCD (if provided);
- Boot Data (initial byte if provided);
- Entry point (initial word).
Each of the above data components not covered by a valid signature will cause HAB
to generate an event with reason HAB_INV_ASSERTION.
2.
The SRK must be burned. Please look at section 18 (Burn the chip fuse to enable HAB boot)
of the “i.MX_6_Linux_High_Assurance_Boot_(HAB)_User's_Guide.pdf”.
Note, the SRK is only once burned.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Please look at my comments below.
1.
According to the Appendix A (Interpreting HAB Event Data from Report_Event() API)
of the “HAB4_API.pdf” in the CST package, CAAM and SNVS engine failure takes place.
Summary Page :i.MX 6 Series Software and Development Tool R|Freescale
event data:
tag: 0xdb (HAB_TAG_EVT)
sts: 0x33 (HAB_FAILURE)
rsn: 0x28 (HAB_INV_CALL) Function called out of sequence
or
rsn: 0x22 (HAB_INV_ADDRESS) Invalid address: access denied
or
rsn: 0xc (HAB_INV_ASSERTION) Invalid assertion
If the reason of a HAB event is HAB_INV_ADDRESS (0x22)
[Invalid address: access denied] - please check if initialization
via DCD table meet allowed addresses.
Please take a look at Table 8-37 (Valid DCD Address Ranges) of the
i.MX6 DQ Reference Manual.
For the case 0xc (HAB_INV_ASSERTION) – the HAB checks that all of the
following data have been authenticated (using their final locations):
- IVT ;
- DCD (if provided);
- Boot Data (initial byte if provided);
- Entry point (initial word).
Each of the above data components not covered by a valid signature will cause HAB
to generate an event with reason HAB_INV_ASSERTION.
2.
The SRK must be burned. Please look at section 18 (Burn the chip fuse to enable HAB boot)
of the “i.MX_6_Linux_High_Assurance_Boot_(HAB)_User's_Guide.pdf”.
Note, the SRK is only once burned.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------