lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <703b926724cb988d9a5724cdc238c5c81b4de886.camel@linux.intel.com>
Date: Tue, 23 Dec 2025 08:26:12 -0800
From: srinivas pandruvada <srinivas.pandruvada@...ux.intel.com>
To: Vishnu Sankar <vishnuocv@...il.com>, jikos@...nel.org,
 bentiss@...nel.org, 	corbet@....net, vsankar@...ovo.com
Cc: linux-doc@...r.kernel.org, linux-input@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/2] Documentation: hid: intel-ish-hid: Document
 PRODUCT_FAMILY firmware matching

On Mon, 2025-12-22 at 17:05 +0900, Vishnu Sankar wrote:
> Document the ISH firmware filename matching rules, including the
> new PRODUCT_FAMILY-based patterns and their search order.
> 
> This aligns the documentation with the driver behavior and provides
> clear guidance for vendors supplying custom ISH firmware.
> 
> Signed-off-by: Vishnu Sankar <vishnuocv@...il.com>

    Acked-by: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>

> ---
>  Documentation/hid/intel-ish-hid.rst | 19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/hid/intel-ish-hid.rst
> b/Documentation/hid/intel-ish-hid.rst
> index 2adc174fb576..068a5906b177 100644
> --- a/Documentation/hid/intel-ish-hid.rst
> +++ b/Documentation/hid/intel-ish-hid.rst
> @@ -413,6 +413,10 @@ Vendors who wish to upstream their custom
> firmware should follow these guideline
>  
>  - The firmware filename should use one of the following patterns:
>  
> +  -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMILY_CRC32}_$
> {PRODUCT_NAME_CRC32}_${PRODUCT_SKU_CRC32}.bin``
> +  -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMILY_CRC32}_$
> {PRODUCT_SKU_CRC32}.bin``
> +  -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMILY_CRC32}_$
> {PRODUCT_NAME_CRC32}.bin``
> +  -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMILY_CRC32}.b
> in``
>    -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_NAME_CRC32}_${P
> RODUCT_SKU_CRC32}.bin``
>    -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_SKU_CRC32}.bin`
> `
>    -
> ``ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_NAME_CRC32}.bin
> ``
> @@ -420,16 +424,21 @@ Vendors who wish to upstream their custom
> firmware should follow these guideline
>  
>  - ``${intel_plat_gen}`` indicates the Intel platform generation
> (e.g., ``lnlm`` for Lunar Lake) and must not exceed 8 characters in
> length.
>  - ``${SYS_VENDOR_CRC32}`` is the CRC32 checksum of the
> ``sys_vendor`` value from the DMI field ``DMI_SYS_VENDOR``.
> +- ``${PRODUCT_FAMILY_CRC32}`` is the CRC32 checksum of the
> ``product_family`` value from the DMI field ``DMI_PRODUCT_FAMILY``.
>  - ``${PRODUCT_NAME_CRC32}`` is the CRC32 checksum of the
> ``product_name`` value from the DMI field ``DMI_PRODUCT_NAME``.
>  - ``${PRODUCT_SKU_CRC32}`` is the CRC32 checksum of the
> ``product_sku`` value from the DMI field ``DMI_PRODUCT_SKU``.
>  
>  During system boot, the ISH Linux driver will attempt to load the
> firmware in the following order, prioritizing custom firmware with
> more precise matching patterns:
>  
> -1.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_NAME_
> CRC32}_${PRODUCT_SKU_CRC32}.bin``
> -2.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_SKU_C
> RC32}.bin``
> -3.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_NAME_
> CRC32}.bin``
> -4. ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}.bin``
> -5. ``intel/ish/ish_${intel_plat_gen}.bin``
> +1.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMIL
> Y_CRC32}_${PRODUCT_NAME_CRC32}_${PRODUCT_SKU_CRC32}.bin``
> +2.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMIL
> Y_CRC32}_${PRODUCT_SKU_CRC32}.bin``
> +3.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMIL
> Y_CRC32}_${PRODUCT_NAME_CRC32}.bin``
> +4.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_FAMIL
> Y_CRC32}.bin``
> +5.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_NAME_
> CRC32}_${PRODUCT_SKU_CRC32}.bin``
> +6.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_SKU_C
> RC32}.bin``
> +7.
> ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}_${PRODUCT_NAME_
> CRC32}.bin``
> +8. ``intel/ish/ish_${intel_plat_gen}_${SYS_VENDOR_CRC32}.bin``
> +9. ``intel/ish/ish_${intel_plat_gen}.bin``
>  
>  The driver will load the first matching firmware and skip the rest.
> If no matching firmware is found, it will proceed to the next pattern
> in the specified order. If all searches fail, the default Intel
> firmware, listed last in the order above, will be loaded.
>  

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ