To inject CE Errors

Linux Drivers

Release Date
2023-07-22
Configure the bit position to generate CE Error
 
# echo 4 > /sys/devices/system/edac/zynqmp_ocm/inject_fault_count
# echo 31 > /sys/devices/system/edac/zynqmp_ocm/inject_cebitpos
Write any data to any OCM Memory area, so at the time of writing data the controller injects errors and will report when you read back
the location
# devmem 0xfffd0000 64 0xFFFFFFFFFFFF
 
read back the data
# devmem 0xfffd0000
[  379.903651] EDAC DEVICE0: CE: zynqmp_ocm instance: zynqmp_ocm0 block: zynqmp_ocm0 '
OCM ECC error type :CE
Addr: [0xFFFD0000]
Fault Data[31:0]: [0x7FFFFFFF]
Fault Data[63:32]: [0xFFFF]'
0x0000FFFFFFFFFFFF
here we have written 0xFFFFFFFFFFFF and configured bitposition as 31 for CE, so bit 31 it will inject
CE and corrects that bit
Actual Data Written: 0xFFFFFFFFFFFF
Fault Data         : 0xFFFF7FFFFFFF