> Circumvent the issue by computing the physical address of OEM Defined data > structure and establishing the required mapping with the structure. Create > a new file "oem_error", if the system supports Vendor-defined errors, to > export this mapping, through debugfs_create_blob(). Userspace tools can > then populate their respective OEM Defined structure instances and just > write to the file as part of injecting Vendor-defined Errors. Similarly, > the tools can also read from the file if the system firmware provides some > information through the OEM defined structure after error injection. Tried it out on an Intel Icelake machine. Seems like it is doing something reasonable: I end up with this "oem_error" file: # ls -l oem_error -rw-------. 1 root root 0 Nov 7 14:26 oem_error Which is 24 bytes full of zeroes: # od -t x1 oem_error 0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000020 00 00 00 00 00 00 00 00 0000030 I'm not sure what OEM specific errors are implemented on this machine, so that's as far as I'm able to test. So apart from s/0444/0666/ in part 2, and a better commit description for part 3 you can have a: Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx> -Tony