README.rst
1.. _edac_ibecc_tests:
2
3Testing Error Detection and Correction
4######################################
5
6Tests verify API and use error injection method to inject errors.
7
8Prerequisites
9*************
10
11IBECC should be enabled in BIOS. This is usually enabled in the default
12BIOS configuration. Verify following is enabled::
13
14:menuselection:`Intel Advanced Menu --> Memory Configuration --> In-Band ECC --> Enabled`
15
16Verify also operational mode with::
17
18:menuselection:`Intel Advanced Menu --> Memory Configuration --> In-Band ECC Operation Mode --> 2`
19
20For injection test Error Injection should be enabled.
21
22Error Injection
23===============
24
25IBECC includes a feature to ease the verification effort such as Error
26Injection capability. This helps to test the error checking, logging and
27reporting mechanism within IBECC.
28
29In order to use Error Injection user need to use BIOS Boot Guard 0 profile.
30
31Additionally Error Injection need to be enabled in the following BIOS menu::
32
33:menuselection:`Intel Advanced Menu --> Memory Configuration --> In-Band ECC Error --> Enabled`
34
35.. note::
36
37 Due to high security risk Error Injection capability should not be
38 enabled for production. Due to this reason test has production configuration
39 and debug configuration. The main difference is that debug configuration
40 includes Error Injection.
41
42Building and Running
43********************
44
45This project can be built as follows for the :ref:`intel_ehl_crb` board:
46
47.. zephyr-app-commands::
48 :zephyr-app: tests/subsys/edac/ibecc
49 :board: intel_ehl_crb
50 :goals: build
51 :compact:
52
53Sample output
54=============
55
56.. code-block:: console
57
58 *** Booting Zephyr OS build zephyr-v3.2.0-747-gd421737f433e ***
59 Running TESTSUITE ibecc
60 ===================================================================
61 START - test_edac_dummy_api
62 PASS - test_edac_dummy_api in 0.001 seconds
63 ===================================================================
64 START - test_ibecc_initialized
65 Test ibecc driver is initialized
66 PASS - test_ibecc_initialized in 0.004 seconds
67 ===================================================================
68 START - test_ibecc_injection
69 SKIP - test_ibecc_injection in 0.001 seconds
70 ===================================================================
71 TESTSUITE ibecc succeeded
72