mbox series

[v4,0/4] Add support for Vendor Defined Error Types in Einj Module

Message ID 20230621035102.13463-1-avadhut.naik@amd.com (mailing list archive)
Headers show
Series Add support for Vendor Defined Error Types in Einj Module | expand

Message

Avadhut Naik June 21, 2023, 3:50 a.m. UTC
From: Avadhut Naik <Avadhut.Naik@amd.com>

This patchset adds support for Vendor Defined Error types in the einj
module by exporting a binary blob file in module's debugfs directory.
Userspace tools can write OEM Defined Structures into the blob file as
part of injecting Vendor defined errors.

The first patch refactors available_error_type_show() function to ensure
all errors supported by the platform are output through einj module's
available_error_type file in debugfs.

The second patch adds a write callback for binary blobs created through
debugfs_create_blob() API.

The third patch fixes the permissions of panicinfo file in debugfs to
ensure it remains read-only

The fourth patch adds the required support i.e. establishing the memory
mapping and exporting it through debugfs blob file for Vendor-defined
Error types.

Changes in v2:
 - Split the v1 patch, as was recommended, to have a separate patch for
changes in debugfs.
 - Refactored available_error_type_show() function into a separate patch.
 - Changed file permissions to octal format to remove checkpatch warnings.

Changes in v3:
 - Use BIT macro for generating error masks instead of hex values since
ACPI spec uses bit numbers.
 - Handle the corner case of acpi_os_map_iomem() returning NULL through
a local variable to a store the size of OEM defined data structure.

Changes in v4:
 - Fix permissions for panicinfo file in debugfs.
 - Replace acpi_os_map_iomem() and acpi_os_unmap_iomem() calls with
   acpi_os_map_memory() and acpi_os_unmap_memory() respectively to avert
   sparse warnings as suggested by Alexey.

Avadhut Naik (4):
  ACPI: APEI: EINJ: Refactor available_error_type_show()
  fs: debugfs: Add write functionality to debugfs blobs
  platform/chrome: cros_ec_debugfs: Fix permissions for panicinfo
  ACPI: APEI: EINJ: Add support for vendor defined error types

 drivers/acpi/apei/einj.c                  | 67 ++++++++++++++++-------
 drivers/platform/chrome/cros_ec_debugfs.c |  2 +-
 fs/debugfs/file.c                         | 28 ++++++++--
 3 files changed, 70 insertions(+), 27 deletions(-)

Comments

Naik, Avadhut Aug. 11, 2023, 5:18 a.m. UTC | #1
On 6/20/2023 22:50, Avadhut Naik wrote:
> From: Avadhut Naik <Avadhut.Naik@amd.com>
> 
> This patchset adds support for Vendor Defined Error types in the einj
> module by exporting a binary blob file in module's debugfs directory.
> Userspace tools can write OEM Defined Structures into the blob file as
> part of injecting Vendor defined errors.
> 
> The first patch refactors available_error_type_show() function to ensure
> all errors supported by the platform are output through einj module's
> available_error_type file in debugfs.
> 
> The second patch adds a write callback for binary blobs created through
> debugfs_create_blob() API.
> 
> The third patch fixes the permissions of panicinfo file in debugfs to
> ensure it remains read-only
> 
> The fourth patch adds the required support i.e. establishing the memory
> mapping and exporting it through debugfs blob file for Vendor-defined
> Error types.
> 
> Changes in v2:
>  - Split the v1 patch, as was recommended, to have a separate patch for
> changes in debugfs.
>  - Refactored available_error_type_show() function into a separate patch.
>  - Changed file permissions to octal format to remove checkpatch warnings.
> 
> Changes in v3:
>  - Use BIT macro for generating error masks instead of hex values since
> ACPI spec uses bit numbers.
>  - Handle the corner case of acpi_os_map_iomem() returning NULL through
> a local variable to a store the size of OEM defined data structure.
> 
> Changes in v4:
>  - Fix permissions for panicinfo file in debugfs.
>  - Replace acpi_os_map_iomem() and acpi_os_unmap_iomem() calls with
>    acpi_os_map_memory() and acpi_os_unmap_memory() respectively to avert
>    sparse warnings as suggested by Alexey.
> 
> Avadhut Naik (4):
>   ACPI: APEI: EINJ: Refactor available_error_type_show()
>   fs: debugfs: Add write functionality to debugfs blobs
>   platform/chrome: cros_ec_debugfs: Fix permissions for panicinfo
>   ACPI: APEI: EINJ: Add support for vendor defined error types
> 
>  drivers/acpi/apei/einj.c                  | 67 ++++++++++++++++-------
>  drivers/platform/chrome/cros_ec_debugfs.c |  2 +-
>  fs/debugfs/file.c                         | 28 ++++++++--
>  3 files changed, 70 insertions(+), 27 deletions(-)
> 
Hi everyone,

Any further comments on this set? Specifically, for the changes being introduced
in the einj module.