zephyr/tests/subsys/edac/ibecc
Daniel Leung bb595a85f1 kernel: mem_domain: add/remove partition funcs to return errors
This changes both k_mem_domain_add_partition() and
k_mem_domain_remove_partition() to return errors instead of
asserting when errors are encountered. This gives the application
chance to recover.

The arch_mem_domain_parition_add()/_remove() will be modified
later together with all the other arch_mem_domain_*() changes
since the architecture code for partition addition and removal
functions usually cannot be separately changed.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-11-22 12:45:22 -05:00
..
src kernel: mem_domain: add/remove partition funcs to return errors 2021-11-22 12:45:22 -05:00
CMakeLists.txt cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
prj.conf
README.rst edac: ibecc: Add testing README 2021-03-24 05:43:17 -04:00
testcase.yaml tests: edac: Add test for user thread communication 2021-02-19 16:06:29 +02:00

.. _edac_ibecc_tests:

Testing Error Detection and Correction
######################################
Tests verify API and use error injection method to inject
errors.

Prerequisites
*************
IBECC should be enabled in BIOS. This is usually enabled in the default
BIOS configuration. Verify following:
Intel Advanced Menu -> Memory Configuration -> In-Band ECC ->  <Enabled>.
Verify also operational mode with:
Intel Advanced Menu -> Memory Configuration -> In-Band ECC Operation Mode -> 2

For injection test Error Injection should be enabled.

Error Injection
===============
IBECC includes a feature to ease the verification effort such as Error
Injection capability. This helps to test the error checking, logging and
reporting mechanism within IBECC.

In order to use Error Injection user need to use BIOS Boot Guard 0 profile.

Additionally Error Injection need to be enabled in the following BIOS menu:
Intel Advanced Menu -> Memory Configuration -> In-Band ECC Error -> <Enabled>.

Configurations
**************
Due to high security risk Error Injection capability should not be
enabled for production. Due to this reason test has production configuration
and debug configuration. The main difference is that debug configuration
includes Error Injection.