Memory access violations occur when a kernel is reading or writing out of bounds of an object or reading uninitialized memory. This can manifest itself in multiple ways like a simulator crash or hang. It can also cause simulator results to be non-repeatable. The x86simulator --valgrind
option will find memory access violations in kernel source code.
Note: Valgrind needs to be installed for this feature to work. Xilinx recommends using Valgrind version 3.16.1.
This option allows detection of memory access violations in kernel source code using ‘x86simulator’ with Valgrind. The following kinds of access violations can be detected.
Out-of-bounds write
Out-of-bounds read
Read of uninitialized memory