Blame SPECS/kmod-redhat-mlx5_core.spec

d8f823
%define kmod_name		mlx5_core
d8f823
%define kmod_vendor		redhat
d8f823
%define kmod_rpm_name		kmod-redhat-mlx5_core
d8f823
%define kmod_driver_version	5.0_0_dup8.2
d8f823
%define kmod_driver_epoch	%{nil}
d8f823
%define kmod_rpm_release	2
d8f823
%define kmod_kernel_version	4.18.0-193.el8
d8f823
%define kmod_kernel_version_min	%{nil}
d8f823
%define kmod_kernel_version_dep	%{nil}
d8f823
%define kmod_kbuild_dir		drivers/net/ethernet/mellanox/mlx5/core
d8f823
%define kmod_dependencies       %{nil}
d8f823
%define kmod_dist_build_deps	%{nil}
d8f823
%define kmod_build_dependencies	%{nil}
d8f823
%define kmod_devel_package	1
d8f823
%define kmod_devel_src_paths	include
d8f823
%define kmod_install_path	extra/kmod-redhat-mlx5_core
d8f823
%define kernel_pkg		kernel
d8f823
%define kernel_devel_pkg	kernel-devel
d8f823
%define kernel_modules_pkg	kernel-modules
d8f823
d8f823
%{!?dist: %define dist .el8_2}
d8f823
%{!?make_build: %define make_build make}
d8f823
d8f823
%if "%{kmod_kernel_version_dep}" == ""
d8f823
%define kmod_kernel_version_dep %{kmod_kernel_version}
d8f823
%endif
d8f823
d8f823
%if "%{kmod_dist_build_deps}" == ""
d8f823
%if (0%{?rhel} > 7) || (0%{?centos} > 7)
d8f823
%define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists elfutils-libelf-devel kernel-rpm-macros kmod
d8f823
%else
d8f823
%define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists
d8f823
%endif
d8f823
%endif
d8f823
d8f823
Source0:	%{kmod_name}-%{kmod_vendor}-%{kmod_driver_version}.tar.bz2
d8f823
# Source code patches
d8f823
Patch0:	0001-netdrv-mlx5e-allow-TSO-on-VXLAN-over-VLAN-topologies.patch
d8f823
Patch1:	0002-netdrv-net-reject-PTP-periodic-output-requests-with-.patch
d8f823
Patch2:	0003-netdrv-mlx5-reject-unsupported-external-timestamp-fl.patch
d8f823
Patch3:	0004-netdrv-mlx5e-Reorder-mirrer-action-parsing-to-check-.patch
d8f823
Patch4:	0005-netdrv-net-mlx5e-Move-the-SW-XSK-code-from-NAPI-poll.patch
d8f823
Patch5:	0006-netdrv-mlx5e-Allow-XSK-frames-smaller-than-a-page.patch
d8f823
Patch6:	0007-netdrv-net-Use-skb-accessors-in-network-drivers.patch
d8f823
Patch7:	0008-netdrv-net-mlx5e-xsk-dynamically-allocate-mlx5e_chan.patch
d8f823
Patch8:	0009-netdrv-net-mlx5-E-Switch-add-ingress-rate-support.patch
d8f823
Patch9:	0010-netdrv-net-mlx5e-Tx-Strict-the-room-needed-for-SQ-ed.patch
d8f823
Patch10:	0011-netdrv-net-mlx5e-XDP-Close-TX-MPWQE-session-when-no-.patch
d8f823
Patch11:	0012-netdrv-net-mlx5e-XDP-Slight-enhancement-for-WQE-fetc.patch
d8f823
Patch12:	0013-netdrv-net-mlx5e-Tx-Soften-inline-mode-VLAN-dependen.patch
d8f823
Patch13:	0014-netdrv-net-mlx5e-Rx-checksum-handling-refactoring.patch
d8f823
Patch14:	0015-netdrv-net-mlx5e-Set-tx-reporter-only-on-successful-.patch
d8f823
Patch15:	0016-netdrv-net-mlx5e-TX-reporter-cleanup.patch
d8f823
Patch16:	0017-netdrv-net-mlx5e-Allow-dropping-specific-tunnel-pack.patch
d8f823
Patch17:	0018-netdrv-mlx5-no-need-to-check-return-value-of-debugfs.patch
d8f823
Patch18:	0019-netdrv-net-mlx5-Use-debug-message-instead-of-warn.patch
d8f823
Patch19:	0020-netdrv-net-mlx5-Add-XRQ-legacy-commands-opcodes.patch
d8f823
Patch20:	0021-netdrv-net-mlx5e-Rename-reporter-header-file.patch
d8f823
Patch21:	0022-netdrv-net-mlx5e-Change-naming-convention-for-report.patch
d8f823
Patch22:	0023-netdrv-net-mlx5e-Generalize-tx-reporter-s-functional.patch
d8f823
Patch23:	0024-netdrv-net-mlx5e-Extend-tx-diagnose-function.patch
d8f823
Patch24:	0025-netdrv-net-mlx5e-Extend-tx-reporter-diagnostics-outp.patch
d8f823
Patch25:	0026-netdrv-net-mlx5e-Add-cq-info-to-tx-reporter-diagnose.patch
d8f823
Patch26:	0027-netdrv-net-mlx5e-Add-helper-functions-for-reporter-s.patch
d8f823
Patch27:	0028-netdrv-net-mlx5e-Add-support-to-rx-reporter-diagnose.patch
d8f823
Patch28:	0029-netdrv-net-mlx5e-Split-open-close-ICOSQ-into-stages.patch
d8f823
Patch29:	0030-netdrv-net-mlx5e-Report-and-recover-from-CQE-error-o.patch
d8f823
Patch30:	0031-netdrv-net-mlx5e-Report-and-recover-from-rx-timeout.patch
d8f823
Patch31:	0032-netdrv-net-mlx5e-RX-Handle-CQE-with-error-at-the-ear.patch
d8f823
Patch32:	0033-netdrv-net-mlx5e-Report-and-recover-from-CQE-with-er.patch
d8f823
Patch33:	0034-netdrv-net-mlx5-Improve-functions-documentation.patch
d8f823
Patch34:	0035-include-net-mlx5-Expose-IP-in-IP-capability-bit.patch
d8f823
Patch35:	0036-netdrv-net-mlx5-Add-per-namespace-flow-table-default.patch
d8f823
Patch36:	0037-netdrv-net-mlx5-Create-bypass-and-loopback-flow-stee.patch
d8f823
Patch37:	0038-netdrv-net-mlx5e-Add-tc-flower-tracepoints.patch
d8f823
Patch38:	0039-netdrv-net-mlx5e-Add-trace-point-for-neigh-used-valu.patch
d8f823
Patch39:	0040-netdrv-net-mlx5e-Add-trace-point-for-neigh-update.patch
d8f823
Patch40:	0041-netdrv-net-mlx5-Add-wrappers-for-HyperV-PCIe-operati.patch
d8f823
Patch41:	0042-netdrv-net-mlx5-Fix-return-code-in-case-of-hyperv-wr.patch
d8f823
Patch42:	0043-netdrv-net-mlx5-Set-ODP-capabilities-for-DC-transpor.patch
d8f823
Patch43:	0044-netdrv-net-mlx5e-Change-function-s-position-to-a-mor.patch
d8f823
Patch44:	0045-netdrv-net-mlx5e-Support-RSS-for-IP-in-IP-and-IPv6-t.patch
d8f823
Patch45:	0046-netdrv-net-mlx5e-Improve-stateless-offload-capabilit.patch
d8f823
Patch46:	0047-netdrv-net-mlx5e-Support-TSO-and-TX-checksum-offload.patch
d8f823
Patch47:	0048-netdrv-net-mlx5e-Remove-unlikely-from-WARN-condition.patch
d8f823
Patch48:	0049-netdrv-net-mlx5-Kconfig-Fix-MLX5_CORE-dependency-wit.patch
d8f823
Patch49:	0050-netdrv-net-mlx5e-Use-ipv6_stub-to-avoid-dependency-w.patch
d8f823
Patch50:	0051-netdrv-net-mlx5-Use-PTR_ERR_OR_ZERO-rather-than-its-.patch
d8f823
Patch51:	0052-netdrv-net-mlx5e-kTLS-Remove-unused-function-paramet.patch
d8f823
Patch52:	0053-netdrv-net-mlx5-DR-Remove-useless-set-memory-to-zero.patch
d8f823
Patch53:	0054-netdrv-net-mlx5-DR-Remove-redundant-dev_name-print-f.patch
d8f823
Patch54:	0055-netdrv-drivers-net-Fix-Kconfig-indentation.patch
d8f823
Patch55:	0056-netdrv-net-mlx5e-kTLS-Release-reference-on-DUMPed-fr.patch
d8f823
Patch56:	0057-netdrv-net-mlx5e-kTLS-Size-of-a-Dump-WQE-is-fixed.patch
d8f823
Patch57:	0058-netdrv-net-mlx5e-kTLS-Save-only-the-frag-page-to-rel.patch
d8f823
Patch58:	0059-netdrv-net-mlx5e-kTLS-Save-by-value-copy-of-the-reco.patch
d8f823
Patch59:	0060-netdrv-net-mlx5e-kTLS-Fix-page-refcnt-leak-in-TX-res.patch
d8f823
Patch60:	0061-netdrv-net-mlx5e-kTLS-Fix-missing-SQ-edge-fill.patch
d8f823
Patch61:	0062-netdrv-net-mlx5e-kTLS-Limit-DUMP-wqe-size.patch
d8f823
Patch62:	0063-netdrv-net-mlx5e-kTLS-Remove-unneeded-cipher-type-ch.patch
d8f823
Patch63:	0064-netdrv-net-mlx5e-kTLS-Save-a-copy-of-the-crypto-info.patch
d8f823
Patch64:	0065-netdrv-net-mlx5e-kTLS-Enhance-TX-resync-flow.patch
d8f823
Patch65:	0066-netdrv-net-mlx5e-Remove-incorrect-match-criteria-ass.patch
d8f823
Patch66:	0067-netdrv-mlx5-reject-unsupported-external-timestamp-fl.patch
d8f823
Patch67:	0068-netdrv-net-mlx5e-Fix-ingress-rate-configuration-for-.patch
d8f823
Patch68:	0069-netdrv-net-mlx5e-Add-missing-capability-bit-check-fo.patch
d8f823
Patch69:	0070-include-net-mlx5-Expose-optimal-performance-scatter-.patch
d8f823
Patch70:	0071-netdrv-net-Fix-misspellings-of-configure-and-configu.patch
d8f823
Patch71:	0072-netdrv-net-mlx5-E-Switch-Rename-egress-config-to-gen.patch
d8f823
Patch72:	0073-netdrv-net-mlx5-E-Switch-Rename-ingress-acl-config-i.patch
d8f823
Patch73:	0074-netdrv-net-mlx5-E-switch-Introduce-and-use-vlan-rule.patch
d8f823
Patch74:	0075-netdrv-net-mlx5-Introduce-and-use-mlx5_esw_is_manage.patch
d8f823
Patch75:	0076-netdrv-net-mlx5-Move-metdata-fields-under-offloads-s.patch
d8f823
Patch76:	0077-netdrv-net-mlx5-Move-legacy-drop-counter-and-rule-un.patch
d8f823
Patch77:	0078-netdrv-net-mlx5-Tide-up-state_lock-and-vport-enabled.patch
d8f823
Patch78:	0079-netdrv-net-mlx5-E-switch-Prepare-code-to-handle-vpor.patch
d8f823
Patch79:	0080-netdrv-net-mlx5-E-switch-Legacy-introduce-and-use-pe.patch
d8f823
Patch80:	0081-netdrv-net-mlx5-Move-ACL-drop-counters-life-cycle-cl.patch
d8f823
Patch81:	0082-netdrv-net-mlx5-E-switch-Offloads-introduce-and-use-.patch
d8f823
Patch82:	0083-netdrv-net-mlx5-E-switch-Offloads-shift-ACL-programm.patch
d8f823
Patch83:	0084-netdrv-net-mlx5-Restrict-metadata-disablement-to-off.patch
d8f823
Patch84:	0085-netdrv-net-mlx5-Refactor-ingress-acl-configuration.patch
d8f823
Patch85:	0086-netdrv-net-mlx5-FPGA-support-network-cards-with-stan.patch
d8f823
Patch86:	0087-netdrv-net-mlx5-Remove-unneeded-variable-in-mlx5_unl.patch
d8f823
Patch87:	0088-netdrv-net-mlx5e-Verify-that-rule-has-at-least-one-f.patch
d8f823
Patch88:	0089-netdrv-net-mlx5-Do-not-hold-group-lock-while-allocat.patch
d8f823
Patch89:	0090-netdrv-net-mlx5-Support-lockless-FTE-read-lookups.patch
d8f823
Patch90:	0091-netdrv-net-mlx5e-TX-Dump-WQs-wqe-descriptors-on-CQE-.patch
d8f823
Patch91:	0092-netdrv-net-mlx5-WQ-Move-short-getters-into-header-fi.patch
d8f823
Patch92:	0093-netdrv-net-mlx5e-Bit-sized-fields-rewrite-support.patch
d8f823
Patch93:	0094-netdrv-net-mlx5e-Add-ToS-DSCP-header-rewrite-support.patch
d8f823
Patch94:	0095-netdrv-net-mlx5-rate-limit-alloc_ent-error-messages.patch
d8f823
Patch95:	0096-netdrv-net-mlx5-LAG-Use-port-enumerators.patch
d8f823
Patch96:	0097-netdrv-net-mlx5-fix-kvfree-of-uninitialized-pointer-.patch
d8f823
Patch97:	0098-netdrv-net-mlx5-fix-spelling-mistake-metdata-metadat.patch
d8f823
Patch98:	0099-netdrv-net-mlx5-Dump-of-fw_fatal-use-updated-devlink.patch
d8f823
Patch99:	0100-netdrv-net-mlx5-Simplify-fdb-chain-and-prio-eswitch-.patch
d8f823
Patch100:	0101-netdrv-net-mlx5-Rename-FDB_-tc-related-defines-to-FD.patch
d8f823
Patch101:	0102-netdrv-net-mlx5-Define-fdb-tc-levels-per-prio.patch
d8f823
Patch102:	0103-netdrv-net-mlx5-Accumulate-levels-for-chains-prio-na.patch
d8f823
Patch103:	0104-netdrv-net-mlx5-Refactor-creating-fast-path-prio-cha.patch
d8f823
Patch104:	0105-netdrv-net-mlx5-Add-new-chain-for-netfilter-flow-tab.patch
d8f823
Patch105:	0106-netdrv-net-mlx5-Remove-redundant-NULL-initialization.patch
d8f823
Patch106:	0107-netdrv-net-mlx5-Don-t-write-read-only-fields-in-MODI.patch
d8f823
Patch107:	0108-netdrv-net-mlx5-DR-Refactor-VXLAN-GPE-flex-parser-tu.patch
d8f823
Patch108:	0109-netdrv-net-mlx5-DR-Add-HW-bits-and-definitions-for-G.patch
d8f823
Patch109:	0110-netdrv-net-mlx5-DR-Add-support-for-Geneve-packets-SW.patch
d8f823
Patch110:	0111-netdrv-net-mlx5e-TC-Stub-out-ipv6-tun-create-header-.patch
d8f823
Patch111:	0112-netdrv-net-mlx5e-Remove-redundant-pointer-check.patch
d8f823
Patch112:	0113-netdrv-net-use-rhashtable_lookup-instead-of-rhashtab.patch
d8f823
Patch113:	0114-netdrv-net-mlx5e-Fix-build-error-without-IPV6.patch
d8f823
Patch114:	0115-netdrv-net-mlx5e-E-switch-Fix-Ingress-ACL-groups-in-.patch
d8f823
Patch115:	0116-netdrv-treewide-Use-sizeof_field-macro.patch
d8f823
Patch116:	0117-netdrv-net-mlx5e-Avoid-duplicating-rule-destinations.patch
d8f823
Patch117:	0118-netdrv-net-mlx5e-Always-print-health-reporter-messag.patch
d8f823
Patch118:	0119-netdrv-net-mlx5-Move-devlink-registration-before-int.patch
d8f823
Patch119:	0120-netdrv-Revert-net-mlx5-Support-lockless-FTE-read-loo.patch
d8f823
Patch120:	0121-netdrv-net-mlx5e-Fix-hairpin-RSS-table-size.patch
d8f823
Patch121:	0122-netdrv-net-mlx5-Fix-lowest-FDB-pool-size.patch
d8f823
Patch122:	0123-netdrv-net-mlx5-Update-the-list-of-the-PCI-supported.patch
d8f823
Patch123:	0124-netdrv-net-mlx5-E-Switch-Prevent-ingress-rate-config.patch
d8f823
Patch124:	0125-netdrv-net-mlx5e-kTLS-Fix-corner-case-checks-in-TX-r.patch
d8f823
Patch125:	0126-netdrv-net-mlx5e-kTLS-Remove-redundant-posts-in-TX-r.patch
d8f823
Patch126:	0127-netdrv-net-mlx5e-kTLS-Do-not-send-decrypted-marked-S.patch
d8f823
Patch127:	0128-netdrv-net-mlx5-limit-the-function-in-local-scope.patch
d8f823
Patch128:	0129-netdrv-mlx5-work-around-high-stack-usage-with-gcc.patch
d8f823
Patch129:	0130-netdrv-net-mlx5e-Support-accept-action-on-nic-table.patch
d8f823
Patch130:	0131-netdrv-net-mlx5-Increase-the-max-number-of-channels-.patch
d8f823
Patch131:	0132-netdrv-net-mlx5-Reduce-No-CQ-found-log-level-from-wa.patch
d8f823
Patch132:	0133-netdrv-net-mlx5-Use-async-EQ-setup-cleanup-helpers-f.patch
d8f823
Patch133:	0134-include-net-mlx5-Add-Virtio-Emulation-related-device.patch
d8f823
Patch134:	0135-netdrv-net-mlx5-Expose-vDPA-emulation-device-capabil.patch
d8f823
Patch135:	0136-include-net-mlx5-Add-RoCE-accelerator-counters.patch
d8f823
Patch136:	0137-include-net-mlx5-Expose-relaxed-ordering-bits.patch
d8f823
Patch137:	0138-include-net-mlx5-Add-copy-header-action-struct-layou.patch
d8f823
Patch138:	0139-include-net-mlx5-Add-mlx5_ifc-definitions-for-connec.patch
d8f823
Patch139:	0140-include-net-mlx5e-Expose-FEC-feilds-and-related-capa.patch
d8f823
Patch140:	0141-netdrv-net-mlx5-Refactor-mlx5_create_auto_grouped_fl.patch
d8f823
Patch141:	0142-netdrv-net-mlx5-fs_core-Introduce-unmanaged-flow-tab.patch
d8f823
Patch142:	0143-netdrv-net-mlx5-Add-ignore-level-support-fwd-to-tabl.patch
d8f823
Patch143:	0144-netdrv-net-mlx5-Allow-creating-autogroups-with-reser.patch
d8f823
Patch144:	0145-netdrv-net-mlx5e-Fix-printk-format-warning.patch
d8f823
Patch145:	0146-netdrv-net-mlx5e-Add-mlx5e_flower_parse_meta-support.patch
d8f823
Patch146:	0147-netdrv-net-mlx5-DR-Modify-set-action-limitation-exte.patch
d8f823
Patch147:	0148-netdrv-net-mlx5-DR-Modify-header-copy-support.patch
d8f823
Patch148:	0149-netdrv-net-mlx5-DR-Allow-connecting-flow-table-to-a-.patch
d8f823
Patch149:	0150-netdrv-net-mlx5-IPsec-Fix-esp-modify-function-attrib.patch
d8f823
Patch150:	0151-netdrv-net-mlx5-IPsec-fix-memory-leak-at-mlx5_fpga_i.patch
d8f823
Patch151:	0152-netdrv-net-mlx5e-TX-Error-completion-is-for-last-WQE.patch
d8f823
Patch152:	0153-netdrv-net-mlx5-Deprecate-usage-of-generic-TLS-HW-ca.patch
d8f823
Patch153:	0154-netdrv-net-mlx5-Fix-sleep-while-atomic-in-mlx5_eswit.patch
d8f823
Patch154:	0155-netdrv-net-mlx5e-Reset-RQ-doorbell-counter-before-mo.patch
d8f823
Patch155:	0156-netdrv-net-mlx5e-Fix-crash-in-recovery-flow-without-.patch
d8f823
Patch156:	0157-netdrv-net-mlx5-DR-Fix-postsend-actions-write-length.patch
d8f823
Patch157:	0158-netdrv-net-mlx5e-kTLS-Fix-TCP-seq-off-by-1-issue-in-.patch
d8f823
Patch158:	0159-netdrv-net-mlx5e-kTLS-Fix-wrong-value-in-record-trac.patch
d8f823
Patch159:	0160-netdrv-net-mlx5e-Fix-endianness-handling-in-pedit-ma.patch
d8f823
Patch160:	0161-netdrv-net-mlx5-Clear-LAG-notifier-pointer-after-unr.patch
d8f823
Patch161:	0162-netdrv-net-mlx5_core-Set-IB-capability-mask1-to-fix-.patch
d8f823
Patch162:	0163-netdrv-net-mlx5e-Enhance-ICOSQ-WQE-info-fields.patch
d8f823
Patch163:	0164-netdrv-net-mlx5e-Fix-missing-reset-of-SW-metadata-in.patch
d8f823
Patch164:	0165-netdrv-net-mlx5e-Fix-ICOSQ-recovery-flow-with-Stridi.patch
d8f823
Patch165:	0166-netdrv-net-mlx5e-Do-not-recover-from-a-non-fatal-syn.patch
d8f823
Patch166:	0167-netdrv-net-mlx5e-Define-one-flow-for-TXQ-selection-w.patch
d8f823
Patch167:	0168-netdrv-net-mlx5e-Add-missing-LRO-cap-check.patch
d8f823
Patch168:	0169-netdrv-net-mlx5e-Encapsulate-updating-netdev-queues-.patch
d8f823
Patch169:	0170-netdrv-net-mlx5e-Rename-hw_modify-to-preactivate.patch
d8f823
Patch170:	0171-netdrv-net-mlx5e-Use-preactivate-hook-to-set-the-ind.patch
d8f823
Patch171:	0172-netdrv-net-mlx5e-Fix-configuration-of-XPS-cpumasks-a.patch
d8f823
Patch172:	0173-netdrv-net-mlx5e-Remove-unneeded-netif_set_real_num_.patch
d8f823
Patch173:	0174-netdrv-net-mlx5e-Allow-mlx5e_switch_priv_channels-to.patch
d8f823
Patch174:	0175-netdrv-net-mlx5e-Add-context-to-the-preactivate-hook.patch
d8f823
Patch175:	0176-netdrv-net-mlx5e-Change-inline-mode-correctly-when-c.patch
d8f823
Patch176:	0177-netdrv-net-mlx5e-RX-Use-indirect-calls-wrapper-for-p.patch
d8f823
Patch177:	0178-netdrv-net-mlx5e-RX-Use-indirect-calls-wrapper-for-h.patch
d8f823
Patch178:	0179-netdrv-net-mlx5-sparse-warning-incorrect-type-in-ass.patch
d8f823
Patch179:	0180-netdrv-net-mlx5-sparse-warning-Using-plain-integer-a.patch
d8f823
Patch180:	0181-include-net-mlx5-fix-spelling-mistake-reserverd-rese.patch
d8f823
Patch181:	0182-netdrv-net-mlx5e-Use-netdev_warn-for-errors-for-adde.patch
d8f823
Patch182:	0183-include-net-mlx5-Expose-link-speed-directly.patch
d8f823
Patch183:	0184-netdrv-net-mlx5-Expose-port-speed-when-possible.patch
d8f823
Patch184:	0185-netdrv-net-mlx5-Tidy-up-and-fix-reverse-christmas-or.patch
d8f823
Patch185:	0186-netdrv-net-mlx5-E-Switch-Hold-mutex-when-querying-dr.patch
d8f823
Patch186:	0187-netdrv-net-mlx5-Fix-group-version-management.patch
d8f823
Patch187:	0188-netdrv-net-mlx5e-Don-t-allow-forwarding-between-upli.patch
d8f823
Patch188:	0189-netdrv-net-mlx5-Eswitch-avoid-redundant-mask.patch
d8f823
Patch189:	0190-netdrv-net-mlx5-DR-Change-matcher-priority-parameter.patch
d8f823
Patch190:	0191-netdrv-net-mlx5-DR-Improve-log-messages.patch
d8f823
Patch191:	0192-netdrv-net-mlx5-DR-Remove-unneeded-functions-deceler.patch
d8f823
Patch192:	0193-netdrv-net-mlx5e-Use-netdev_warn-instead-of-pr_err-f.patch
d8f823
Patch193:	0194-netdrv-net-mlx5e-Remove-unused-argument-from-parse_t.patch
d8f823
Patch194:	0195-netdrv-flow_offload-check-for-basic-action-hw-stats-.patch
d8f823
Patch195:	0196-netdrv-net-mlx5-Fix-frequent-ioread-PCI-access-durin.patch
d8f823
Patch196:	0197-netdrv-net-mlx5e-Add-missing-release-firmware-call.patch
d8f823
Patch197:	0198-netdrv-net-mlx5e-Fix-nest_level-for-vlan-pop-action.patch
d8f823
Patch198:	0199-netdrv-net-mlx5e-Fix-pfnum-in-devlink-port-attribute.patch
d8f823
Patch199:	0200-netdrv-net-mlx5-Fix-failing-fw-tracer-allocation-on-.patch
d8f823
Patch200:	0201-netdrv-net-mlx5e-Don-t-trigger-IRQ-multiple-times-on.patch
d8f823
Patch201:	0202-netdrv-net-mlx5e-Get-the-latest-values-from-counters.patch
d8f823
Patch202:	0203-netdrv-net-mlx5-DR-On-creation-set-CQ-s-arm_db-membe.patch
d8f823
Patch203:	0204-netdrv-net-mlx5-Fix-forced-completion-access-non-ini.patch
d8f823
Patch204:	0205-netdrv-net-mlx5-Fix-command-entry-leak-in-Internal-E.patch
d8f823
Patch205:	0206-netdrv-net-mlx5e-Fix-q-counters-on-uplink-represento.patch
d8f823
Patch206:	0207-netdrv-net-mlx5e-en_accel-Add-missing-net-geneve.h-i.patch
d8f823
Patch207:	0208-netdrv-net-mlx5e-Set-of-completion-request-bit-shoul.patch
d8f823
Patch208:	0209-netdrv-mlx5-Update-list-of-unsupported-devices.patch
d8f823
Patch209:	0210-netdrv-mlx5-Remove-the-unsupported-mark-from-Connect.patch
d8f823
Patch210:	0211-netdrv-net-mlx5-TC-Offload-flow-table-rules.patch
d8f823
Patch211:	0212-netdrv-net-mlx5-ft-Use-getter-function-to-get-ft-cha.patch
d8f823
Patch212:	0213-netdrv-net-mlx5-ft-Check-prio-and-chain-sanity-for-f.patch
d8f823
Patch213:	0214-netdrv-net-mlx5-E-Switch-Refactor-chains-and-priorit.patch
d8f823
Patch214:	0215-netdrv-net-mlx5-E-Switch-Increase-number-of-chains-a.patch
d8f823
Patch215:	0216-netdrv-net-mlx5-make-the-symbol-ESW_POOLS-static.patch
d8f823
Patch216:	0217-netdrv-net-mlx5e-Eswitch-Use-per-vport-tables-for-mi.patch
d8f823
Patch217:	0218-netdrv-net-mlx5-E-Switch-Allow-goto-earlier-chain-if.patch
d8f823
Patch218:	0219-netdrv-net-mlx5e-Use-NL_SET_ERR_MSG_MOD-extack-for-e.patch
d8f823
Patch219:	0220-netdrv-net-mlx5e-Reduce-number-of-arguments-in-slow-.patch
d8f823
Patch220:	0221-netdrv-net-mlx5e-Remove-redundant-comment-about-goto.patch
d8f823
Patch221:	0222-netdrv-net-mlx5-Verify-goto-chain-offload-support.patch
d8f823
Patch222:	0223-netdrv-net-mlx5e-Fix-an-IS_ERR-vs-NULL-check.patch
d8f823
Patch223:	0224-netdrv-net-mlx5-Change-the-name-of-steering-mode-par.patch
d8f823
Patch224:	0225-netdrv-net-mlx5e-Add-devlink-fdb_large_groups-parame.patch
d8f823
Patch225:	0226-netdrv-net-mlx5-Introduce-mapping-infra-for-mapping-.patch
d8f823
Patch226:	0227-infiniband-net-mlx5-E-Switch-Move-source-port-on-reg.patch
d8f823
Patch227:	0228-netdrv-net-mlx5-E-Switch-Get-reg_c0-value-on-CQE.patch
d8f823
Patch228:	0229-netdrv-net-mlx5-E-Switch-Mark-miss-packets-with-new-.patch
d8f823
Patch229:	0230-netdrv-net-mlx5e-Rx-Split-rep-rx-mpwqe-handler-from-.patch
d8f823
Patch230:	0231-netdrv-net-mlx5-E-Switch-Restore-chain-id-on-miss.patch
d8f823
Patch231:	0232-netdrv-net-mlx5e-Allow-re-allocating-mod-header-acti.patch
d8f823
Patch232:	0233-netdrv-net-mlx5e-Move-tc-tunnel-parsing-logic-with-t.patch
d8f823
Patch233:	0234-netdrv-net-mlx5e-Disallow-inserting-vxlan-vlan-egres.patch
d8f823
Patch234:	0235-netdrv-net-mlx5e-Support-inner-header-rewrite-with-g.patch
d8f823
Patch235:	0236-netdrv-net-mlx5-E-Switch-Get-reg_c1-value-on-miss.patch
d8f823
Patch236:	0237-netdrv-net-mlx5e-Restore-tunnel-metadata-on-miss.patch
d8f823
Patch237:	0238-netdrv-net-mlx5-E-Switch-Enable-reg-c1-loopback-when.patch
d8f823
Patch238:	0239-netdrv-net-mlx5e-en_rep-Create-uplink-rep-root-table.patch
d8f823
Patch239:	0240-netdrv-net-mlx5-E-Switch-Introduce-global-tables.patch
d8f823
Patch240:	0241-netdrv-net-mlx5-E-Switch-Add-support-for-offloading-.patch
d8f823
Patch241:	0242-netdrv-net-mlx5-E-Switch-Support-getting-chain-mappi.patch
d8f823
Patch242:	0243-netdrv-net-mlx5e-CT-Introduce-connection-tracking.patch
d8f823
Patch243:	0244-netdrv-net-mlx5e-CT-Offload-established-flows.patch
d8f823
Patch244:	0245-netdrv-net-mlx5e-CT-Handle-misses-after-executing-CT.patch
d8f823
Patch245:	0246-netdrv-net-mlx5e-CT-Support-clear-action.patch
d8f823
Patch246:	0247-netdrv-net-mlx5e-CT-Fix-stack-usage-compiler-warning.patch
d8f823
Patch247:	0248-netdrv-net-mlx5e-CT-Use-rhashtable-s-ct-entries-inst.patch
d8f823
Patch248:	0249-netdrv-net-mlx5-CT-Change-idr-to-xarray-to-protect-p.patch
d8f823
Patch249:	0250-netdrv-net-mlx5-E-switch-Fix-mutex-init-order.patch
d8f823
Patch250:	0251-netdrv-net-mlx5-E-Switch-free-flow_group_in-after-cr.patch
d8f823
Patch251:	0252-netdrv-net-mlx5-E-Switch-Enable-restore-table-only-i.patch
d8f823
Patch252:	0253-netdrv-net-mlx5-Add-missing-inline-to-stub-esw_add_r.patch
d8f823
Patch253:	0254-netdrv-net-mlx5-E-Switch-Fix-using-fwd-and-modify-wh.patch
d8f823
Patch254:	0255-netdrv-net-mlx5e-Fix-rejecting-all-egress-rules-not-.patch
d8f823
Patch255:	0256-netdrv-net-mlx5-E-switch-Fix-printing-wrong-error-va.patch
d8f823
Patch256:	0257-netdrv-net-mlx5-E-Switch-Use-correct-type-for-chain-.patch
d8f823
Patch257:	0258-netdrv-net-mlx5e-CT-Avoid-false-warning-about-rule-m.patch
d8f823
Patch258:	0259-netdrv-net-mlx5e-Fix-actions_match_supported-return.patch
d8f823
Patch259:	0260-netdrv-net-mlx5e-CT-Fix-insert-rules-when-TC_CT-conf.patch
d8f823
Patch260:	0261-netdrv-net-mlx5e-CT-remove-set-but-not-used-variable.patch
d8f823
Patch261:	0262-netdrv-net-mlx5e-Fix-missing-pedit-action-after-ct-c.patch
d8f823
Patch262:	0263-netdrv-net-mlx5e-CT-Fix-offload-with-CT-action-after.patch
d8f823
Patch263:	0264-netdrv-net-mlx5-E-switch-Annotate-termtbl_mutex-mute.patch
d8f823
Patch264:	0265-netdrv-net-mlx5-E-switch-Annotate-esw-state_lock-mut.patch
d8f823
Patch265:	0266-netdrv-net-mlx5-Avoid-deriving-mlx5_core_dev-second-.patch
d8f823
Patch266:	0267-netdrv-net-mlx5-Simplify-mlx5_register_device-to-ret.patch
d8f823
Patch267:	0268-netdrv-net-mlx5-Simplify-mlx5_unload_one-and-its-cal.patch
d8f823
Patch268:	0269-netdrv-net-mlx5-Split-eswitch-mode-check-to-differen.patch
d8f823
Patch269:	0270-netdrv-net-mlx5-E-switch-Extend-eswitch-enable-to-ha.patch
d8f823
Patch270:	0271-netdrv-net-mlx5-E-switch-Protect-eswitch-mode-change.patch
d8f823
Patch271:	0272-netdrv-net-mlx5e-Rename-representor-get-devlink-port.patch
d8f823
Patch272:	0273-netdrv-net-mlx5e-Add-support-for-devlink-port-in-non.patch
d8f823
Patch273:	0274-netdrv-net-mlx5e-Use-devlink-virtual-flavour-for-VF-.patch
d8f823
Patch274:	0275-netdrv-net-mlx5e-Fix-devlink-port-register-sequence.patch
d8f823
Patch275:	0276-netdrv-net-mlx5e-Fix-devlink-port-netdev-unregistrat.patch
d8f823
Patch276:	0277-netdrv-net-mlx5-Fix-crash-upon-suspend-resume.patch
d8f823
Patch277:	0278-netdrv-net-mlx5-Add-command-entry-handling-completio.patch
d8f823
Patch278:	0279-netdrv-net-mlx5-Fix-a-race-when-moving-command-inter.patch
d8f823
Patch279:	0280-netdrv-net-mlx5-Avoid-processing-commands-before-cmd.patch
d8f823
Patch280:	0281-netdrv-net-mlx5e-Fix-allowed-tc-redirect-merged-eswi.patch
d8f823
Patch281:	0282-netdrv-net-mlx5e-kTLS-Destroy-key-object-after-destr.patch
d8f823
Patch282:	0283-netdrv-net-mlx5e-Fix-inner-tirs-handling.patch
d8f823
Patch283:	0284-netdrv-net-mlx5-Fix-memory-leak-in-mlx5_events_init.patch
d8f823
Patch284:	0285-netdrv-net-mlx5-Fix-cleaning-unmanaged-flow-tables.patch
d8f823
Patch285:	0286-netdrv-net-mlx5-Don-t-maintain-a-case-of-del_sw_func.patch
d8f823
Patch286:	0287-netdrv-net-mlx5-Annotate-mutex-destroy-for-root-ns.patch
d8f823
Patch287:	0288-netdrv-net-mlx5e-Update-netdev-txq-on-completions-du.patch
d8f823
Patch288:	0289-netdrv-net-mlx5e-CT-Correctly-get-flow-rule.patch
d8f823
Patch289:	0290-netdrv-net-mlx5-Fix-error-flow-in-case-of-function_s.patch
d8f823
Patch290:	0291-netdrv-net-mlx5e-IPoIB-Enable-loopback-packets-for-I.patch
d8f823
Patch291:	0292-netdrv-net-mlx5e-IPoIB-Drop-multicast-packets-that-t.patch
d8f823
Patch292:	0293-netdrv-net-mlx5-DR-Fix-incorrect-type-in-argument.patch
d8f823
Patch293:	0294-netdrv-net-mlx5-DR-Fix-cast-to-restricted-__be32.patch
d8f823
Patch294:	0295-netdrv-net-mlx5-DR-Fix-incorrect-type-in-return-expr.patch
d8f823
Patch295:	0296-netdrv-net-mlx5-Accel-fpga-tls-fix-cast-to-__be64-an.patch
d8f823
Patch296:	0297-netdrv-net-mlx5e-Allow-partial-data-mask-for-tunnel-.patch
d8f823
Patch297:	0298-netdrv-net-mlx5e-en_tc-Fix-incorrect-type-in-initial.patch
d8f823
Patch298:	0299-netdrv-net-mlx5e-en_tc-Fix-cast-to-restricted-__be32.patch
d8f823
Patch299:	0300-netdrv-net-sched-expose-HW-stats-types-per-action-us.patch
d8f823
Patch300:	0301-netdrv-net-mlx5e-Fix-stats-update-for-matchall-class.patch
d8f823
Patch301:	0302-netdrv-net-mlx5e-Properly-set-default-values-when-di.patch
d8f823
Patch302:	0303-netdrv-net-mlx5e-Fix-MLX5_TC_CT-dependencies.patch
d8f823
Patch303:	0304-netdrv-net-mlx5e-replace-EINVAL-in-mlx5e_flower_pars.patch
d8f823
Patch304:	0305-netdrv-net-mlx5e-Remove-warning-devices-are-not-on-s.patch
d8f823
Patch305:	0306-include-net-mlx5-HW-bit-for-goto-chain-offload-suppo.patch
d8f823
Patch306:	0307-include-netfilter-add-include-guard-to-xt_connlabel..patch
d8f823
Patch307:	0308-include-netfilter-fix-include-guards.patch
d8f823
Patch308:	0310-include-net-mlx5-IPSec-Fix-incorrect-type-for-spi.patch
d8f823
Patch309:	0313-netdrv-net-mlx5e-Disable-devlink-port-support-for-no.patch
d8f823
Patch310:	9001-Bump-driver-version.patch
d8f823
Patch311:	9002-Add-mlx_backport_compat-h.patch
d8f823
Patch312:	9003-Add-xsk_umem_adjust_offset.patch
d8f823
Patch313:	9005-reporter_rx-strip-extack-parameter.patch
d8f823
Patch314:	9006-Provide-DEVLINK_PORT_FLAVOUR_VIRTUAL-stub-value.patch
d8f823
Patch315:	9007-Provide-TC_SETUP_FT-definition.patch
d8f823
Patch316:	9008-Add-flow_action_basic_hw_stats_types_check
d8f823
Patch317:	9009-add-NUM_FLOW_ACTIONS.patch
d8f823
d8f823
%define findpat %( echo "%""P" )
d8f823
%define __find_requires /usr/lib/rpm/redhat/find-requires.ksyms
d8f823
%define __find_provides /usr/lib/rpm/redhat/find-provides.ksyms %{kmod_name} %{?epoch:%{epoch}:}%{version}-%{release}
d8f823
%define sbindir %( if [ -d "/sbin" -a \! -h "/sbin" ]; then echo "/sbin"; else echo %{_sbindir}; fi )
d8f823
%define dup_state_dir %{_localstatedir}/lib/rpm-state/kmod-dups
d8f823
%define kver_state_dir %{dup_state_dir}/kver
d8f823
%define kver_state_file %{kver_state_dir}/%{kmod_kernel_version}.%(arch)
d8f823
%define dup_module_list %{dup_state_dir}/rpm-kmod-%{kmod_name}-modules
d8f823
d8f823
Name:		kmod-redhat-mlx5_core
d8f823
Version:	%{kmod_driver_version}
d8f823
Release:	%{kmod_rpm_release}%{?dist}
d8f823
%if "%{kmod_driver_epoch}" != ""
d8f823
Epoch:		%{kmod_driver_epoch}
d8f823
%endif
d8f823
Summary:	mlx5_core kernel module for Driver Update Program
d8f823
Group:		System/Kernel
d8f823
License:	GPLv2
d8f823
URL:		https://www.kernel.org/
d8f823
BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
d8f823
BuildRequires:	%kernel_devel_pkg = %kmod_kernel_version
d8f823
%if "%{kmod_dist_build_deps}" != ""
d8f823
BuildRequires:	%{kmod_dist_build_deps}
d8f823
%endif
d8f823
ExclusiveArch:	x86_64
d8f823
%global kernel_source() /usr/src/kernels/%{kmod_kernel_version}.$(arch)
d8f823
d8f823
%global _use_internal_dependency_generator 0
d8f823
%if "%{?kmod_kernel_version_min}" != ""
d8f823
Provides:	%kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu}
d8f823
%else
d8f823
Provides:	%kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu}
d8f823
%endif
d8f823
Provides:	kmod-%{kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}
d8f823
Requires(post):	%{sbindir}/weak-modules
d8f823
Requires(postun):	%{sbindir}/weak-modules
d8f823
Requires:	kernel >= 4.18.0-193.el8
d8f823
d8f823
Requires:	kernel < 4.18.0-194.el8
d8f823
%if 0
d8f823
Requires: firmware(%{kmod_name}) = ENTER_FIRMWARE_VERSION
d8f823
%endif
d8f823
%if "%{kmod_build_dependencies}" != ""
d8f823
BuildRequires:  %{kmod_build_dependencies}
d8f823
%endif
d8f823
%if "%{kmod_dependencies}" != ""
d8f823
Requires:       %{kmod_dependencies}
d8f823
%endif
d8f823
# if there are multiple kmods for the same driver from different vendors,
d8f823
# they should conflict with each other.
d8f823
Conflicts:	kmod-%{kmod_name}
d8f823
d8f823
%description
d8f823
mlx5_core kernel module for Driver Update Program
d8f823
d8f823
%if 0
d8f823
d8f823
%package -n kmod-redhat-mlx5_core-firmware
d8f823
Version:	ENTER_FIRMWARE_VERSION
d8f823
Summary:	mlx5_core firmware for Driver Update Program
d8f823
Provides:	firmware(%{kmod_name}) = ENTER_FIRMWARE_VERSION
d8f823
%if "%{kmod_kernel_version_min}" != ""
d8f823
Provides:	%kernel_modules_pkg >= %{kmod_kernel_version_min}.%{_target_cpu}
d8f823
%else
d8f823
Provides:	%kernel_modules_pkg = %{kmod_kernel_version_dep}.%{_target_cpu}
d8f823
%endif
d8f823
%description -n  kmod-redhat-mlx5_core-firmware
d8f823
mlx5_core firmware for Driver Update Program
d8f823
d8f823
d8f823
%files -n kmod-redhat-mlx5_core-firmware
d8f823
%defattr(644,root,root,755)
d8f823
%{FIRMWARE_FILES}
d8f823
d8f823
%endif
d8f823
d8f823
# Development package
d8f823
%if 0%{kmod_devel_package}
d8f823
%package -n kmod-redhat-mlx5_core-devel
d8f823
Version:	%{kmod_driver_version}
d8f823
Requires:	kernel >= 4.18.0-193.el8
d8f823
d8f823
Requires:	kernel < 4.18.0-194.el8
d8f823
Summary:	mlx5_core development files for Driver Update Program
d8f823
d8f823
%description -n  kmod-redhat-mlx5_core-devel
d8f823
mlx5_core development files for Driver Update Program
d8f823
d8f823
d8f823
%files -n kmod-redhat-mlx5_core-devel
d8f823
%defattr(644,root,root,755)
d8f823
/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/
d8f823
%endif
d8f823
d8f823
%post
d8f823
modules=( $(find /lib/modules/%{kmod_kernel_version}.%(arch)/%{kmod_install_path} | grep '\.ko$') )
d8f823
printf '%s\n' "${modules[@]}" | %{sbindir}/weak-modules --add-modules --no-initramfs
d8f823
d8f823
mkdir -p "%{kver_state_dir}"
d8f823
touch "%{kver_state_file}"
d8f823
d8f823
exit 0
d8f823
d8f823
%posttrans
d8f823
# We have to re-implement part of weak-modules here because it doesn't allow
d8f823
# calling initramfs regeneration separately
d8f823
if [ -f "%{kver_state_file}" ]; then
d8f823
	kver_base="%{kmod_kernel_version_dep}"
d8f823
	kvers=$(ls -d "/lib/modules/${kver_base%%.*}"*)
d8f823
d8f823
	for k_dir in $kvers; do
d8f823
		k="${k_dir#/lib/modules/}"
d8f823
d8f823
		tmp_initramfs="/boot/initramfs-$k.tmp"
d8f823
		dst_initramfs="/boot/initramfs-$k.img"
d8f823
d8f823
		# The same check as in weak-modules: we assume that the kernel present
d8f823
		# if the symvers file exists.
d8f823
		if [ -e "/boot/symvers-$k.gz" ]; then
d8f823
			/usr/bin/dracut -f "$tmp_initramfs" "$k" || exit 1
d8f823
			cmp -s "$tmp_initramfs" "$dst_initramfs"
d8f823
			if [ "$?" = 1 ]; then
d8f823
				mv "$tmp_initramfs" "$dst_initramfs"
d8f823
			else
d8f823
				rm -f "$tmp_initramfs"
d8f823
			fi
d8f823
		fi
d8f823
	done
d8f823
d8f823
	rm -f "%{kver_state_file}"
d8f823
	rmdir "%{kver_state_dir}" 2> /dev/null
d8f823
fi
d8f823
d8f823
rmdir "%{dup_state_dir}" 2> /dev/null
d8f823
d8f823
exit 0
d8f823
d8f823
%preun
d8f823
if rpm -q --filetriggers kmod 2> /dev/null| grep -q "Trigger for weak-modules call on kmod removal"; then
d8f823
	mkdir -p "%{kver_state_dir}"
d8f823
	touch "%{kver_state_file}"
d8f823
fi
d8f823
d8f823
mkdir -p "%{dup_state_dir}"
d8f823
rpm -ql kmod-redhat-mlx5_core-%{kmod_driver_version}-%{kmod_rpm_release}%{?dist}.$(arch) | \
d8f823
	grep '\.ko$' > "%{dup_module_list}"
d8f823
d8f823
%postun
d8f823
if rpm -q --filetriggers kmod 2> /dev/null| grep -q "Trigger for weak-modules call on kmod removal"; then
d8f823
	initramfs_opt="--no-initramfs"
d8f823
else
d8f823
	initramfs_opt=""
d8f823
fi
d8f823
d8f823
modules=( $(cat "%{dup_module_list}") )
d8f823
rm -f "%{dup_module_list}"
d8f823
printf '%s\n' "${modules[@]}" | %{sbindir}/weak-modules --remove-modules $initramfs_opt
d8f823
d8f823
rmdir "%{dup_state_dir}" 2> /dev/null
d8f823
d8f823
exit 0
d8f823
d8f823
%files
d8f823
%defattr(644,root,root,755)
d8f823
/lib/modules/%{kmod_kernel_version}.%(arch)
d8f823
/etc/depmod.d/%{kmod_name}.conf
d8f823
%doc /usr/share/doc/%{kmod_rpm_name}/greylist.txt
d8f823
d8f823
d8f823
d8f823
%prep
d8f823
%setup -n %{kmod_name}-%{kmod_vendor}-%{kmod_driver_version}
d8f823
d8f823
%patch0 -p1
d8f823
%patch1 -p1
d8f823
%patch2 -p1
d8f823
%patch3 -p1
d8f823
%patch4 -p1
d8f823
%patch5 -p1
d8f823
%patch6 -p1
d8f823
%patch7 -p1
d8f823
%patch8 -p1
d8f823
%patch9 -p1
d8f823
%patch10 -p1
d8f823
%patch11 -p1
d8f823
%patch12 -p1
d8f823
%patch13 -p1
d8f823
%patch14 -p1
d8f823
%patch15 -p1
d8f823
%patch16 -p1
d8f823
%patch17 -p1
d8f823
%patch18 -p1
d8f823
%patch19 -p1
d8f823
%patch20 -p1
d8f823
%patch21 -p1
d8f823
%patch22 -p1
d8f823
%patch23 -p1
d8f823
%patch24 -p1
d8f823
%patch25 -p1
d8f823
%patch26 -p1
d8f823
%patch27 -p1
d8f823
%patch28 -p1
d8f823
%patch29 -p1
d8f823
%patch30 -p1
d8f823
%patch31 -p1
d8f823
%patch32 -p1
d8f823
%patch33 -p1
d8f823
%patch34 -p1
d8f823
%patch35 -p1
d8f823
%patch36 -p1
d8f823
%patch37 -p1
d8f823
%patch38 -p1
d8f823
%patch39 -p1
d8f823
%patch40 -p1
d8f823
%patch41 -p1
d8f823
%patch42 -p1
d8f823
%patch43 -p1
d8f823
%patch44 -p1
d8f823
%patch45 -p1
d8f823
%patch46 -p1
d8f823
%patch47 -p1
d8f823
%patch48 -p1
d8f823
%patch49 -p1
d8f823
%patch50 -p1
d8f823
%patch51 -p1
d8f823
%patch52 -p1
d8f823
%patch53 -p1
d8f823
%patch54 -p1
d8f823
%patch55 -p1
d8f823
%patch56 -p1
d8f823
%patch57 -p1
d8f823
%patch58 -p1
d8f823
%patch59 -p1
d8f823
%patch60 -p1
d8f823
%patch61 -p1
d8f823
%patch62 -p1
d8f823
%patch63 -p1
d8f823
%patch64 -p1
d8f823
%patch65 -p1
d8f823
%patch66 -p1
d8f823
%patch67 -p1
d8f823
%patch68 -p1
d8f823
%patch69 -p1
d8f823
%patch70 -p1
d8f823
%patch71 -p1
d8f823
%patch72 -p1
d8f823
%patch73 -p1
d8f823
%patch74 -p1
d8f823
%patch75 -p1
d8f823
%patch76 -p1
d8f823
%patch77 -p1
d8f823
%patch78 -p1
d8f823
%patch79 -p1
d8f823
%patch80 -p1
d8f823
%patch81 -p1
d8f823
%patch82 -p1
d8f823
%patch83 -p1
d8f823
%patch84 -p1
d8f823
%patch85 -p1
d8f823
%patch86 -p1
d8f823
%patch87 -p1
d8f823
%patch88 -p1
d8f823
%patch89 -p1
d8f823
%patch90 -p1
d8f823
%patch91 -p1
d8f823
%patch92 -p1
d8f823
%patch93 -p1
d8f823
%patch94 -p1
d8f823
%patch95 -p1
d8f823
%patch96 -p1
d8f823
%patch97 -p1
d8f823
%patch98 -p1
d8f823
%patch99 -p1
d8f823
%patch100 -p1
d8f823
%patch101 -p1
d8f823
%patch102 -p1
d8f823
%patch103 -p1
d8f823
%patch104 -p1
d8f823
%patch105 -p1
d8f823
%patch106 -p1
d8f823
%patch107 -p1
d8f823
%patch108 -p1
d8f823
%patch109 -p1
d8f823
%patch110 -p1
d8f823
%patch111 -p1
d8f823
%patch112 -p1
d8f823
%patch113 -p1
d8f823
%patch114 -p1
d8f823
%patch115 -p1
d8f823
%patch116 -p1
d8f823
%patch117 -p1
d8f823
%patch118 -p1
d8f823
%patch119 -p1
d8f823
%patch120 -p1
d8f823
%patch121 -p1
d8f823
%patch122 -p1
d8f823
%patch123 -p1
d8f823
%patch124 -p1
d8f823
%patch125 -p1
d8f823
%patch126 -p1
d8f823
%patch127 -p1
d8f823
%patch128 -p1
d8f823
%patch129 -p1
d8f823
%patch130 -p1
d8f823
%patch131 -p1
d8f823
%patch132 -p1
d8f823
%patch133 -p1
d8f823
%patch134 -p1
d8f823
%patch135 -p1
d8f823
%patch136 -p1
d8f823
%patch137 -p1
d8f823
%patch138 -p1
d8f823
%patch139 -p1
d8f823
%patch140 -p1
d8f823
%patch141 -p1
d8f823
%patch142 -p1
d8f823
%patch143 -p1
d8f823
%patch144 -p1
d8f823
%patch145 -p1
d8f823
%patch146 -p1
d8f823
%patch147 -p1
d8f823
%patch148 -p1
d8f823
%patch149 -p1
d8f823
%patch150 -p1
d8f823
%patch151 -p1
d8f823
%patch152 -p1
d8f823
%patch153 -p1
d8f823
%patch154 -p1
d8f823
%patch155 -p1
d8f823
%patch156 -p1
d8f823
%patch157 -p1
d8f823
%patch158 -p1
d8f823
%patch159 -p1
d8f823
%patch160 -p1
d8f823
%patch161 -p1
d8f823
%patch162 -p1
d8f823
%patch163 -p1
d8f823
%patch164 -p1
d8f823
%patch165 -p1
d8f823
%patch166 -p1
d8f823
%patch167 -p1
d8f823
%patch168 -p1
d8f823
%patch169 -p1
d8f823
%patch170 -p1
d8f823
%patch171 -p1
d8f823
%patch172 -p1
d8f823
%patch173 -p1
d8f823
%patch174 -p1
d8f823
%patch175 -p1
d8f823
%patch176 -p1
d8f823
%patch177 -p1
d8f823
%patch178 -p1
d8f823
%patch179 -p1
d8f823
%patch180 -p1
d8f823
%patch181 -p1
d8f823
%patch182 -p1
d8f823
%patch183 -p1
d8f823
%patch184 -p1
d8f823
%patch185 -p1
d8f823
%patch186 -p1
d8f823
%patch187 -p1
d8f823
%patch188 -p1
d8f823
%patch189 -p1
d8f823
%patch190 -p1
d8f823
%patch191 -p1
d8f823
%patch192 -p1
d8f823
%patch193 -p1
d8f823
%patch194 -p1
d8f823
%patch195 -p1
d8f823
%patch196 -p1
d8f823
%patch197 -p1
d8f823
%patch198 -p1
d8f823
%patch199 -p1
d8f823
%patch200 -p1
d8f823
%patch201 -p1
d8f823
%patch202 -p1
d8f823
%patch203 -p1
d8f823
%patch204 -p1
d8f823
%patch205 -p1
d8f823
%patch206 -p1
d8f823
%patch207 -p1
d8f823
%patch208 -p1
d8f823
%patch209 -p1
d8f823
%patch210 -p1
d8f823
%patch211 -p1
d8f823
%patch212 -p1
d8f823
%patch213 -p1
d8f823
%patch214 -p1
d8f823
%patch215 -p1
d8f823
%patch216 -p1
d8f823
%patch217 -p1
d8f823
%patch218 -p1
d8f823
%patch219 -p1
d8f823
%patch220 -p1
d8f823
%patch221 -p1
d8f823
%patch222 -p1
d8f823
%patch223 -p1
d8f823
%patch224 -p1
d8f823
%patch225 -p1
d8f823
%patch226 -p1
d8f823
%patch227 -p1
d8f823
%patch228 -p1
d8f823
%patch229 -p1
d8f823
%patch230 -p1
d8f823
%patch231 -p1
d8f823
%patch232 -p1
d8f823
%patch233 -p1
d8f823
%patch234 -p1
d8f823
%patch235 -p1
d8f823
%patch236 -p1
d8f823
%patch237 -p1
d8f823
%patch238 -p1
d8f823
%patch239 -p1
d8f823
%patch240 -p1
d8f823
%patch241 -p1
d8f823
%patch242 -p1
d8f823
%patch243 -p1
d8f823
%patch244 -p1
d8f823
%patch245 -p1
d8f823
%patch246 -p1
d8f823
%patch247 -p1
d8f823
%patch248 -p1
d8f823
%patch249 -p1
d8f823
%patch250 -p1
d8f823
%patch251 -p1
d8f823
%patch252 -p1
d8f823
%patch253 -p1
d8f823
%patch254 -p1
d8f823
%patch255 -p1
d8f823
%patch256 -p1
d8f823
%patch257 -p1
d8f823
%patch258 -p1
d8f823
%patch259 -p1
d8f823
%patch260 -p1
d8f823
%patch261 -p1
d8f823
%patch262 -p1
d8f823
%patch263 -p1
d8f823
%patch264 -p1
d8f823
%patch265 -p1
d8f823
%patch266 -p1
d8f823
%patch267 -p1
d8f823
%patch268 -p1
d8f823
%patch269 -p1
d8f823
%patch270 -p1
d8f823
%patch271 -p1
d8f823
%patch272 -p1
d8f823
%patch273 -p1
d8f823
%patch274 -p1
d8f823
%patch275 -p1
d8f823
%patch276 -p1
d8f823
%patch277 -p1
d8f823
%patch278 -p1
d8f823
%patch279 -p1
d8f823
%patch280 -p1
d8f823
%patch281 -p1
d8f823
%patch282 -p1
d8f823
%patch283 -p1
d8f823
%patch284 -p1
d8f823
%patch285 -p1
d8f823
%patch286 -p1
d8f823
%patch287 -p1
d8f823
%patch288 -p1
d8f823
%patch289 -p1
d8f823
%patch290 -p1
d8f823
%patch291 -p1
d8f823
%patch292 -p1
d8f823
%patch293 -p1
d8f823
%patch294 -p1
d8f823
%patch295 -p1
d8f823
%patch296 -p1
d8f823
%patch297 -p1
d8f823
%patch298 -p1
d8f823
%patch299 -p1
d8f823
%patch300 -p1
d8f823
%patch301 -p1
d8f823
%patch302 -p1
d8f823
%patch303 -p1
d8f823
%patch304 -p1
d8f823
%patch305 -p1
d8f823
%patch306 -p1
d8f823
%patch307 -p1
d8f823
%patch308 -p1
d8f823
%patch309 -p1
d8f823
%patch310 -p1
d8f823
%patch311 -p1
d8f823
%patch312 -p1
d8f823
%patch313 -p1
d8f823
%patch314 -p1
d8f823
%patch315 -p1
d8f823
%patch316 -p1
d8f823
%patch317 -p1
d8f823
set -- *
d8f823
mkdir source
d8f823
mv "$@" source/
d8f823
mkdir obj
d8f823
d8f823
%build
d8f823
rm -rf obj
d8f823
cp -r source obj
d8f823
d8f823
PWD_PATH="$PWD"
d8f823
%if "%{workaround_no_pwd_rel_path}" != "1"
d8f823
PWD_PATH=$(realpath --relative-to="%{kernel_source}" . 2>/dev/null || echo "$PWD")
d8f823
%endif
d8f823
%{make_build} -C %{kernel_source} V=1 M="$PWD_PATH/obj/%{kmod_kbuild_dir}" \
d8f823
	NOSTDINC_FLAGS="-I$PWD_PATH/obj/include -I$PWD_PATH/obj/include/uapi %{nil}" \
d8f823
	EXTRA_CFLAGS="%{nil}" \
d8f823
	%{nil}
d8f823
# mark modules executable so that strip-to-file can strip them
d8f823
find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' +
d8f823
d8f823
whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}"
d8f823
for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do
d8f823
	# update depmod.conf
d8f823
	module_weak_path=$(echo "$modules" | sed 's/[\/]*[^\/]*$//')
d8f823
	if [ -z "$module_weak_path" ]; then
d8f823
		module_weak_path=%{name}
d8f823
	else
d8f823
		module_weak_path=%{name}/$module_weak_path
d8f823
	fi
d8f823
	echo "override $(echo $modules | sed 's/.*\///')" \
d8f823
	     "$(echo "%{kmod_kernel_version_dep}" |
d8f823
	        sed 's/\.[^\.]*$//;
d8f823
		     s/\([.+?^$\/\\|()\[]\|\]\)/\\\0/g').*" \
d8f823
		     "weak-updates/$module_weak_path" >> source/depmod.conf
d8f823
d8f823
	# update greylist
d8f823
	nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' |  sed 's/^\.//' | sort -u | while read -r symbol; do
d8f823
		grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist
d8f823
	done
d8f823
done
d8f823
sort -u source/greylist | uniq > source/greylist.txt
d8f823
d8f823
%install
d8f823
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
d8f823
export INSTALL_MOD_DIR=%{kmod_install_path}
d8f823
PWD_PATH="$PWD"
d8f823
%if "%{workaround_no_pwd_rel_path}" != "1"
d8f823
PWD_PATH=$(realpath --relative-to="%{kernel_source}" . 2>/dev/null || echo "$PWD")
d8f823
%endif
d8f823
make -C %{kernel_source} modules_install \
d8f823
	M=$PWD_PATH/obj/%{kmod_kbuild_dir}
d8f823
# Cleanup unnecessary kernel-generated module dependency files.
d8f823
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
d8f823
d8f823
install -m 644 -D source/depmod.conf $RPM_BUILD_ROOT/etc/depmod.d/%{kmod_name}.conf
d8f823
install -m 644 -D source/greylist.txt $RPM_BUILD_ROOT/usr/share/doc/%{kmod_rpm_name}/greylist.txt
d8f823
%if 0
d8f823
%{FIRMWARE_FILES_INSTALL}
d8f823
%endif
d8f823
%if 0%{kmod_devel_package}
d8f823
install -m 644 -D $PWD/obj/%{kmod_kbuild_dir}/Module.symvers $RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/Module.symvers
d8f823
d8f823
if [ -n "%{kmod_devel_src_paths}" ]; then
d8f823
	for i in %{kmod_devel_src_paths}; do
d8f823
		mkdir -p "$RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/$(dirname "$i")"
d8f823
		cp -rv "$PWD/source/$i" \
d8f823
			"$RPM_BUILD_ROOT/lib/modules/%{kmod_rpm_name}-%{kmod_driver_version}/build/$i"
d8f823
	done
d8f823
fi
d8f823
%endif
d8f823
d8f823
d8f823
d8f823
%clean
d8f823
rm -rf $RPM_BUILD_ROOT
d8f823
d8f823
%changelog
d8f823
* Wed Oct 21 2020 Eugene Syromiatnikov <esyr@redhat.com> 5.0_0_dup8.2-2
d8f823
- Bump release due to "Package build kmod-redhat-mlx5_core-5.0_0_dup8.2-1.el8_2
d8f823
  kept gated because not onboarded to gating".
d8f823
d8f823
* Wed Oct 21 2020 Eugene Syromiatnikov <esyr@redhat.com> 5.0_0_dup8.2-1
d8f823
- 86de78c2e6f431762836a4ea5891f891bc0fdcb4
d8f823
- mlx5_core kernel module for Driver Update Program
d8f823
- Resolves: #bz1889733