commit 1c161b57162b39ee1664651045f6274fd2a9d926 Author: Sofia Boldyreva Date: Fri Jan 24 16:14:06 2025 +0100 Initial commit diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..8d39f3e --- /dev/null +++ b/config.yaml @@ -0,0 +1,194 @@ +actions: + + - add_files: + - type: "source" + name: "almalinuxsecurebootca0.cer" + number: 10 + - type: "source" + name: "almalinuxdup1.x509" + number: 100 + - type: "source" + name: "almalinuxkpatch1.x509" + number: 101 + - type: "patch" + name: "0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch" + number: 2001 + - type: "patch" + name: "0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch" + number: 2002 + - type: "patch" + name: "0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch" + number: 2003 + - type: "patch" + name: "0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch" + number: 2004 + - type: "patch" + name: "0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch" + number: 2005 + - type: "patch" + name: "0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch" + number: 2006 + - type: "patch" + name: "0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch" + number: 2007 + - type: "patch" + name: "0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch" + number: 2008 + + - replace: + - target: "kernel-rt*.config" + find: | + # CONFIG_BE2NET_BE2 is not set + # CONFIG_BE2NET_BE3 is not set + replace: | + CONFIG_BE2NET_BE2=y + CONFIG_BE2NET_BE3=y + count: 1 + - target: "kernel-rt*.config" + find: "# CONFIG_MLX4_CORE_GEN2 is not set" + replace: "CONFIG_MLX4_CORE_GEN2=y" + count: 1 + - target: "x509.genkey" + find: | + O = Red Hat + CN = Red Hat Enterprise Linux kernel signing key + emailAddress = secalert@redhat.com + replace: | + O = AlmaLinux + CN = AlmaLinux kernel signing key + emailAddress = security@almalinux.org + count: 1 + - target: "spec" + find: "Source10: almalinuxsecurebootca0.cer" + replace: | + Source10: almalinuxsecurebootca0.cer + Source11: almalinuxsecurebootca0.cer + count: 1 + - target: "spec" + find: | + %ifarch x86_64 aarch64 + %define secureboot_ca_0 %{SOURCE10} + %define secureboot_key_0 %{SOURCE13} + %define pesign_name_0 redhatsecureboot501 + %endif + replace: | + %define secureboot_ca_0 %{SOURCE10} + %define secureboot_ca_1 %{SOURCE11} + %define secureboot_ca_2 %{SOURCE11} + + %define secureboot_key_0 %{SOURCE10} + %define pesign_name_0 almalinuxsecurebootca0 + + %ifarch x86_64 aarch64 + %define secureboot_key_1 %{SOURCE11} + %define pesign_name_1 almalinuxsecurebootca0 + count: 1 + - target: "spec" + find: | + This is the package which provides the Linux %{name} for Red Hat Enterprise + Linux. It is based on upstream Linux at version %{version} and maintains kABI + replace: | + This is the package which provides the Linux %{name} for AlmaLinux. + It is based on upstream Linux at version %{version} and maintains kABI + count: 1 + - target: "spec" + find: "updates for supported hardware in Red Hat Enterprise Linux, enhancements for" + replace: "updates for supported hardware in AlmaLinux, enhancements for" + count: 1 + - target: "spec" + find: "Summary: The Red Hat Enterprise Linux kernel ABI symbol stablelists" + replace: "Summary: The AlmaLinux kernel ABI symbol stablelists" + count: 1 + - target: "spec" + find: | + The kABI package contains information pertaining to the Red Hat Enterprise + Linux kernel ABI, including lists of kernel symbols that are needed by + replace: | + The kABI package contains information pertaining to the AlmaLinux + kernel ABI, including lists of kernel symbols that are needed by + count: 1 + - target: "spec" + find: | + The package contains data describing the current ABI of the Red Hat Enterprise + Linux kernel, suitable for the kabi-dw tool. + replace: | + The package contains data describing the current ABI of the AlmaLinux + kernel, suitable for the kabi-dw tool. + count: 1 + - target: "spec" + find: "This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\\" + replace: "This package provides kernel modules for the %{?2:%{2} }kernel package for AlmaLinux internal usage.\\" + count: 1 + - target: "spec" + find: | + Group: System Environment/Kernel\ + Provides: %{name}-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ + Provides: installonlypkg(kernel)\ + replace: | + Group: System Environment/Kernel\ + Provides: %{name}-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ + Provides: installonlypkg(kernel)\ + %if "%{?1}" == ""\ + Provides: almalinux(kernel-sig-key) = 202303\ + Conflicts: shim-ia32 <= 15.6-1.el8.alma\ + Conflicts: shim-x64 <= 15.6-1.el8.alma\ + %endif\ + count: 1 + - target: "spec" + find: " # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel" + replace: " # AlmaLinux UEFI Secure Boot CA cert, which can be used to authenticate the kernel" + count: 1 + + - delete_line: + - target: "spec" + lines: + - | + Source10: redhatsecurebootca3.cer + Source11: centossecurebootca2.cer + Source12: centossecureboot201.cer + Source13: redhatsecureboot501.cer + Source14: redhatsecureboot302.cer + Source15: redhatsecureboot303.cer + Source16: redhatsecurebootca7.cer + %if 0%{?centos} + %define secureboot_ca_0 %{SOURCE11} + %define secureboot_key_0 %{SOURCE12} + %define pesign_name_0 centossecureboot201 + %else + - | + %ifarch s390x + %define secureboot_ca_0 %{SOURCE10} + %define secureboot_key_0 %{SOURCE14} + %define pesign_name_0 redhatsecureboot302 + %endif + - | + %ifarch ppc64le + %define secureboot_ca_0 %{SOURCE16} + %define secureboot_key_0 %{SOURCE15} + %define pesign_name_0 redhatsecureboot701 + %endif + - | + Source100: rheldup3.x509 + Source101: rhelkpatch1.x509 + + - modify_release: + - suffix: ".alma.1" + enabled: true + + - changelog_entry: + - name: "Andrei Lukoshko" + email: "alukoshko@almalinux.org" + line: + - "hpsa: bring back deprecated PCI ids #CFHack #CFHack2024" + - "mptsas: bring back deprecated PCI ids #CFHack #CFHack2024" + - "megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024" + - "qla2xxx: bring back deprecated PCI ids #CFHack #CFHack2024" + - "qla4xxx: bring back deprecated PCI ids" + - "lpfc: bring back deprecated PCI ids" + - "be2iscsi: bring back deprecated PCI ids" + - "kernel/rh_messages.h: enable all disabled pci devices by moving to unmaintained" + - name: "Eduard Abdullin" + email: "eabdullin@almalinux.org" + line: + - "Use AlmaLinux OS secure boot cert" + - "Debrand for AlmaLinux OS" \ No newline at end of file diff --git a/files/0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch b/files/0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch new file mode 100644 index 0000000..4e0b597 --- /dev/null +++ b/files/0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch @@ -0,0 +1,45 @@ +From b69db7bed679288a9107d652fd39076dc4dea85c Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 20:50:39 +0000 +Subject: [PATCH 1/5] Enable all disabled pci devices by moving to unmaintained + list + +--- + kernel/rh_messages.h | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h +index b7c3be8aa..28b0f3cad 100644 +--- a/kernel/rh_messages.h ++++ b/kernel/rh_messages.h +@@ -149,6 +149,14 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = { + }; + + static const struct pci_device_id rh_disabled_pci_devices[] = { ++ {0} /* Terminating entry */ ++}; ++ ++static const struct pci_device_id rh_unmaintained_pci_devices[] = { ++ { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID }, ++ { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID }, ++ { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID }, ++ { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID }, + { 0x1011, 0x0046, 0x103c, 0x10c2 }, + { 0x1011, 0x0046, 0x9005, 0x0364 }, + { 0x1011, 0x0046, 0x9005, 0x0365 }, +@@ -301,12 +309,4 @@ static const struct pci_device_id rh_disabled_pci_devices[] = { + {0} /* Terminating entry */ + }; + +-static const struct pci_device_id rh_unmaintained_pci_devices[] = { +- { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID }, +- { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID }, +- { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID }, +- { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID }, +- {0} /* Terminating entry */ +-}; +- + #endif /* __RH_MESSAGES_H */ +-- +2.27.0 + diff --git a/files/0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch b/files/0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch new file mode 100644 index 0000000..148d3c4 --- /dev/null +++ b/files/0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch @@ -0,0 +1,41 @@ +From 50d7888356a1ea1418f15ac75b25457b6d7b3dd8 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 20:55:37 +0000 +Subject: [PATCH 2/5] Bring back deprecated pci ids to megaraid_sas driver + +--- + drivers/scsi/megaraid/megaraid_sas_base.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c +index 19a62e595..4ecd40872 100644 +--- a/drivers/scsi/megaraid/megaraid_sas_base.c ++++ b/drivers/scsi/megaraid/megaraid_sas_base.c +@@ -140,12 +140,24 @@ megasas_set_ld_removed_by_fw(struct megasas_instance *instance); + */ + static struct pci_device_id megasas_pci_table[] = { + ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)}, ++ /* xscale IOP */ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078R)}, ++ /* ppc IOP */ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078DE)}, ++ /* ppc IOP */ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078GEN2)}, ++ /* gen2*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0079GEN2)}, + /* gen2*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0073SKINNY)}, + /* skinny*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0071SKINNY)}, + /* skinny*/ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VERDE_ZCR)}, ++ /* xscale IOP, vega */ ++ {PCI_DEVICE(PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DELL_PERC5)}, ++ /* xscale IOP */ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_FUSION)}, + /* Fusion */ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_PLASMA)}, +-- +2.27.0 + diff --git a/files/0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch b/files/0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch new file mode 100644 index 0000000..b8b9d50 --- /dev/null +++ b/files/0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch @@ -0,0 +1,65 @@ +From 8a5b922edcc3b2973395d4d5407b143ae1d87552 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 20:59:22 +0000 +Subject: [PATCH 3/5] Bring back deprecated pci ids to mptsas-mptspi driver + +--- + drivers/message/fusion/mptsas.c | 12 +++++++++++- + drivers/message/fusion/mptspi.c | 10 +++++----- + 2 files changed, 16 insertions(+), 6 deletions(-) + +diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c +index 652fed3f8..4c73bf444 100644 +--- a/drivers/message/fusion/mptsas.c ++++ b/drivers/message/fusion/mptsas.c +@@ -5353,8 +5353,18 @@ static void mptsas_remove(struct pci_dev *pdev) + } + + static struct pci_device_id mptsas_pci_table[] = { ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064, ++ PCI_ANY_ID, PCI_ANY_ID }, + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068, +- PCI_VENDOR_ID_VMWARE, PCI_ANY_ID }, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064E, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068E, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1078, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068_820XELP, ++ PCI_ANY_ID, PCI_ANY_ID }, + {0} /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(pci, mptsas_pci_table); +diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c +index 08acc09f7..9a336a161 100644 +--- a/drivers/message/fusion/mptspi.c ++++ b/drivers/message/fusion/mptspi.c +@@ -1245,7 +1245,11 @@ static struct spi_function_template mptspi_transport_functions = { + + static struct pci_device_id mptspi_pci_table[] = { + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030, +- PCI_VENDOR_ID_VMWARE, PCI_ANY_ID }, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_ATTO, MPI_MANUFACTPAGE_DEVID_53C1030, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1035, ++ PCI_ANY_ID, PCI_ANY_ID }, + {0} /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(pci, mptspi_pci_table); +@@ -1536,10 +1540,6 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) + 0, 0, 0, 0, 5); + + scsi_scan_host(sh); +- +- add_taint(TAINT_SUPPORT_REMOVED, LOCKDEP_STILL_OK); +- pr_warn("MPTSPI MODULE IS NOT SUPPORTED\n"); +- + return 0; + + out_mptspi_probe: +-- +2.27.0 + diff --git a/files/0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch b/files/0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch new file mode 100644 index 0000000..96e97d5 --- /dev/null +++ b/files/0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch @@ -0,0 +1,39 @@ +From 01c67e991c0d49e797b412d6d6f4d7a4669ec926 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 21:01:23 +0000 +Subject: [PATCH 4/5] Bring back deprecated pci ids to hpsa driver + +--- + drivers/scsi/hpsa.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c +index 544f1ab02..2fa774488 100644 +--- a/drivers/scsi/hpsa.c ++++ b/drivers/scsi/hpsa.c +@@ -91,6 +91,11 @@ MODULE_PARM_DESC(hpsa_simple_mode, + + /* define the PCI info for the cards we can control */ + static const struct pci_device_id hpsa_pci_device_id[] = { ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3223}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3234}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3235}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3237}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x323D}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3241}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3243}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245}, +@@ -144,6 +149,10 @@ static const struct pci_device_id hpsa_pci_device_id[] = { + {PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x007D}, + {PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x0088}, + {PCI_VENDOR_ID_HP, 0x333f, 0x103c, 0x333f}, ++ {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, ++ PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, ++ {PCI_VENDOR_ID_COMPAQ, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, ++ PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, + {0,} + }; + +-- +2.27.0 + diff --git a/files/0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch b/files/0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch new file mode 100644 index 0000000..da58f42 --- /dev/null +++ b/files/0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch @@ -0,0 +1,176 @@ +From c74bb37d786dd12419fca217b53f33ca177fe96d Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 21:07:42 +0000 +Subject: [PATCH 5/5] Bring back deprecated pci ids to qla2xxx driver + +--- + drivers/scsi/qla2xxx/qla_os.c | 120 +++++++++++++++++++++++++++++++++- + 1 file changed, 119 insertions(+), 1 deletion(-) + +diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c +index 93dd9c332..8d46bbf22 100644 +--- a/drivers/scsi/qla2xxx/qla_os.c ++++ b/drivers/scsi/qla2xxx/qla_os.c +@@ -2636,6 +2636,73 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) + { + ha->device_type = DT_EXTENDED_IDS; + switch (ha->pdev->device) { ++ case PCI_DEVICE_ID_QLOGIC_ISP2100: ++ ha->isp_type |= DT_ISP2100; ++ ha->device_type &= ~DT_EXTENDED_IDS; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2100; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2200: ++ ha->isp_type |= DT_ISP2200; ++ ha->device_type &= ~DT_EXTENDED_IDS; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2100; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2300: ++ ha->isp_type |= DT_ISP2300; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2312: ++ ha->isp_type |= DT_ISP2312; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2322: ++ ha->isp_type |= DT_ISP2322; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ if (ha->pdev->subsystem_vendor == 0x1028 && ++ ha->pdev->subsystem_device == 0x0170) ++ ha->device_type |= DT_OEM_001; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP6312: ++ ha->isp_type |= DT_ISP6312; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP6322: ++ ha->isp_type |= DT_ISP6322; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2422: ++ ha->isp_type |= DT_ISP2422; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2432: ++ ha->isp_type |= DT_ISP2432; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8432: ++ ha->isp_type |= DT_ISP8432; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP5422: ++ ha->isp_type |= DT_ISP5422; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP5432: ++ ha->isp_type |= DT_ISP5432; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; + case PCI_DEVICE_ID_QLOGIC_ISP2532: + ha->isp_type |= DT_ISP2532; + ha->device_type |= DT_ZIO_SUPPORTED; +@@ -2643,6 +2710,29 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) + ha->device_type |= DT_IIDMA; + ha->fw_srisc_address = RISC_START_ADDRESS_2400; + break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8001: ++ ha->isp_type |= DT_ISP8001; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8021: ++ ha->isp_type |= DT_ISP8021; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ /* Initialize 82XX ISP flags */ ++ qla82xx_init_flags(ha); ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8044: ++ ha->isp_type |= DT_ISP8044; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ /* Initialize 82XX ISP flags */ ++ qla82xx_init_flags(ha); ++ break; + case PCI_DEVICE_ID_QLOGIC_ISP2031: + ha->isp_type |= DT_ISP2031; + ha->device_type |= DT_ZIO_SUPPORTED; +@@ -2659,6 +2749,9 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) + ha->device_type |= DT_T10_PI; + ha->fw_srisc_address = RISC_START_ADDRESS_2400; + break; ++ case PCI_DEVICE_ID_QLOGIC_ISPF001: ++ ha->isp_type |= DT_ISPFX00; ++ break; + case PCI_DEVICE_ID_QLOGIC_ISP2071: + ha->isp_type |= DT_ISP2071; + ha->device_type |= DT_ZIO_SUPPORTED; +@@ -2802,9 +2895,18 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) + + bars = pci_select_bars(pdev, IORESOURCE_MEM | IORESOURCE_IO); + sht = &qla2xxx_driver_template; +- if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532 || ++ if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8432 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5422 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5432 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8001 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8021 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2031 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8031 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISPF001 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8044 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2071 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2271 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2261 || +@@ -7997,9 +8099,25 @@ static const struct pci_error_handlers qla2xxx_err_handler = { + }; + + static struct pci_device_id qla2xxx_pci_tbl[] = { ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2312) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2322) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6312) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6322) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2422) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8432) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2031) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8001) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8021) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8031) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2071) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) }, +-- +2.27.0 + diff --git a/files/0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch b/files/0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch new file mode 100644 index 0000000..26f68c7 --- /dev/null +++ b/files/0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch @@ -0,0 +1,408 @@ +From 1642dcf67a557b42609a3756e2be7537762c38ea Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Tue, 9 Apr 2024 21:02:31 +0000 +Subject: [PATCH] Bring back deprecated pci ids to lpfc driver + +--- + drivers/scsi/lpfc/lpfc_attr.c | 6 ++ + drivers/scsi/lpfc/lpfc_els.c | 9 +++ + drivers/scsi/lpfc/lpfc_hw.h | 39 +++++++++- + drivers/scsi/lpfc/lpfc_ids.h | 62 ++++++++++++++++ + drivers/scsi/lpfc/lpfc_init.c | 136 +++++++++++++++++++++++++++++++++- + 5 files changed, 249 insertions(+), 3 deletions(-) + +diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c +index 8b15088a1..385ade242 100644 +--- a/drivers/scsi/lpfc/lpfc_attr.c ++++ b/drivers/scsi/lpfc/lpfc_attr.c +@@ -7493,6 +7493,12 @@ lpfc_get_hba_function_mode(struct lpfc_hba *phba) + switch (phba->pcidev->device) { + case PCI_DEVICE_ID_SKYHAWK: + case PCI_DEVICE_ID_SKYHAWK_VF: ++ case PCI_DEVICE_ID_LANCER_FCOE: ++ case PCI_DEVICE_ID_LANCER_FCOE_VF: ++ case PCI_DEVICE_ID_ZEPHYR_DCSP: ++ case PCI_DEVICE_ID_HORNET: ++ case PCI_DEVICE_ID_TIGERSHARK: ++ case PCI_DEVICE_ID_TOMCAT: + phba->hba_flag |= HBA_FCOE_MODE; + break; + default: +diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c +index 89d9f7fdb..700fe69a4 100644 +--- a/drivers/scsi/lpfc/lpfc_els.c ++++ b/drivers/scsi/lpfc/lpfc_els.c +@@ -4608,6 +4608,15 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, + case IOSTAT_LOCAL_REJECT: + switch ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK)) { + case IOERR_LOOP_OPEN_FAILURE: ++ if (cmd == ELS_CMD_FLOGI) { ++ if (PCI_DEVICE_ID_HORNET == ++ phba->pcidev->device) { ++ phba->fc_topology = LPFC_TOPOLOGY_LOOP; ++ phba->pport->fc_myDID = 0; ++ phba->alpa_map[0] = 0; ++ phba->alpa_map[1] = 0; ++ } ++ } + if (cmd == ELS_CMD_PLOGI && cmdiocb->retry == 0) + delay = 1000; + retry = 1; +diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h +index 474c594f8..240b688e1 100644 +--- a/drivers/scsi/lpfc/lpfc_hw.h ++++ b/drivers/scsi/lpfc/lpfc_hw.h +@@ -1713,25 +1713,55 @@ struct lpfc_fdmi_reg_portattr { + + /* Start FireFly Register definitions */ + #define PCI_VENDOR_ID_EMULEX 0x10df ++#define PCI_DEVICE_ID_FIREFLY 0x1ae5 ++#define PCI_DEVICE_ID_PROTEUS_VF 0xe100 ++#define PCI_DEVICE_ID_BALIUS 0xe131 ++#define PCI_DEVICE_ID_PROTEUS_PF 0xe180 + #define PCI_DEVICE_ID_LANCER_FC 0xe200 ++#define PCI_DEVICE_ID_LANCER_FC_VF 0xe208 + #define PCI_DEVICE_ID_LANCER_FCOE 0xe260 ++#define PCI_DEVICE_ID_LANCER_FCOE_VF 0xe268 + #define PCI_DEVICE_ID_LANCER_G6_FC 0xe300 + #define PCI_DEVICE_ID_LANCER_G7_FC 0xf400 + #define PCI_DEVICE_ID_LANCER_G7P_FC 0xf500 + #define PCI_DEVICE_ID_SAT_SMB 0xf011 + #define PCI_DEVICE_ID_SAT_MID 0xf015 ++#define PCI_DEVICE_ID_RFLY 0xf095 ++#define PCI_DEVICE_ID_PFLY 0xf098 ++#define PCI_DEVICE_ID_LP101 0xf0a1 ++#define PCI_DEVICE_ID_TFLY 0xf0a5 ++#define PCI_DEVICE_ID_BSMB 0xf0d1 + #define PCI_DEVICE_ID_BMID 0xf0d5 + #define PCI_DEVICE_ID_ZSMB 0xf0e1 + #define PCI_DEVICE_ID_ZMID 0xf0e5 ++#define PCI_DEVICE_ID_NEPTUNE 0xf0f5 ++#define PCI_DEVICE_ID_NEPTUNE_SCSP 0xf0f6 ++#define PCI_DEVICE_ID_NEPTUNE_DCSP 0xf0f7 + #define PCI_DEVICE_ID_SAT 0xf100 + #define PCI_DEVICE_ID_SAT_SCSP 0xf111 + #define PCI_DEVICE_ID_SAT_DCSP 0xf112 + #define PCI_DEVICE_ID_FALCON 0xf180 ++#define PCI_DEVICE_ID_SUPERFLY 0xf700 ++#define PCI_DEVICE_ID_DRAGONFLY 0xf800 ++#define PCI_DEVICE_ID_CENTAUR 0xf900 ++#define PCI_DEVICE_ID_PEGASUS 0xf980 ++#define PCI_DEVICE_ID_THOR 0xfa00 ++#define PCI_DEVICE_ID_VIPER 0xfb00 ++#define PCI_DEVICE_ID_LP10000S 0xfc00 ++#define PCI_DEVICE_ID_LP11000S 0xfc10 ++#define PCI_DEVICE_ID_LPE11000S 0xfc20 + #define PCI_DEVICE_ID_SAT_S 0xfc40 ++#define PCI_DEVICE_ID_PROTEUS_S 0xfc50 ++#define PCI_DEVICE_ID_HELIOS 0xfd00 ++#define PCI_DEVICE_ID_HELIOS_SCSP 0xfd11 ++#define PCI_DEVICE_ID_HELIOS_DCSP 0xfd12 + #define PCI_DEVICE_ID_ZEPHYR 0xfe00 ++#define PCI_DEVICE_ID_HORNET 0xfe05 + #define PCI_DEVICE_ID_ZEPHYR_SCSP 0xfe11 + #define PCI_DEVICE_ID_ZEPHYR_DCSP 0xfe12 + #define PCI_VENDOR_ID_SERVERENGINE 0x19a2 ++#define PCI_DEVICE_ID_TIGERSHARK 0x0704 ++#define PCI_DEVICE_ID_TOMCAT 0x0714 + #define PCI_DEVICE_ID_SKYHAWK 0x0724 + #define PCI_DEVICE_ID_SKYHAWK_VF 0x072c + +@@ -4365,11 +4395,16 @@ struct lpfc_sli2_slim { + static inline int + lpfc_is_LC_HBA(unsigned short device) + { +- if ((device == PCI_DEVICE_ID_BMID) || ++ if ((device == PCI_DEVICE_ID_TFLY) || ++ (device == PCI_DEVICE_ID_PFLY) || ++ (device == PCI_DEVICE_ID_LP101) || ++ (device == PCI_DEVICE_ID_BMID) || ++ (device == PCI_DEVICE_ID_BSMB) || + (device == PCI_DEVICE_ID_ZMID) || + (device == PCI_DEVICE_ID_ZSMB) || + (device == PCI_DEVICE_ID_SAT_MID) || +- (device == PCI_DEVICE_ID_SAT_SMB)) ++ (device == PCI_DEVICE_ID_SAT_SMB) || ++ (device == PCI_DEVICE_ID_RFLY)) + return 1; + else + return 0; +diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h +index a77e0fac0..4e9b02a78 100644 +--- a/drivers/scsi/lpfc/lpfc_ids.h ++++ b/drivers/scsi/lpfc/lpfc_ids.h +@@ -24,10 +24,44 @@ + #include + + const struct pci_device_id lpfc_id_table[] = { ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_THOR, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PEGASUS, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_CENTAUR, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_DRAGONFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SUPERFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_RFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_SCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_DCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_SCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HORNET, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP, + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP, +@@ -36,6 +70,16 @@ const struct pci_device_id lpfc_id_table[] = { + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP10000S, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP11000S, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT, + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID, +@@ -48,10 +92,28 @@ const struct pci_device_id lpfc_id_table[] = { + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_S, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TIGERSHARK, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC, + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC, +diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c +index 82d25ea51..f4f49aa2a 100644 +--- a/drivers/scsi/lpfc/lpfc_init.c ++++ b/drivers/scsi/lpfc/lpfc_init.c +@@ -2482,9 +2482,83 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp) + vp = &phba->vpd; + + switch (dev_id) { ++ case PCI_DEVICE_ID_FIREFLY: ++ m = (typeof(m)){"LP6000", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_SUPERFLY: ++ if (vp->rev.biuRev >= 1 && vp->rev.biuRev <= 3) ++ m = (typeof(m)){"LP7000", "PCI", ""}; ++ else ++ m = (typeof(m)){"LP7000E", "PCI", ""}; ++ m.function = "Obsolete, Unsupported Fibre Channel Adapter"; ++ break; ++ case PCI_DEVICE_ID_DRAGONFLY: ++ m = (typeof(m)){"LP8000", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_CENTAUR: ++ if (FC_JEDEC_ID(vp->rev.biuRev) == CENTAUR_2G_JEDEC_ID) ++ m = (typeof(m)){"LP9002", "PCI", ""}; ++ else ++ m = (typeof(m)){"LP9000", "PCI", ""}; ++ m.function = "Obsolete, Unsupported Fibre Channel Adapter"; ++ break; ++ case PCI_DEVICE_ID_RFLY: ++ m = (typeof(m)){"LP952", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PEGASUS: ++ m = (typeof(m)){"LP9802", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_THOR: ++ m = (typeof(m)){"LP10000", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_VIPER: ++ m = (typeof(m)){"LPX1000", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PFLY: ++ m = (typeof(m)){"LP982", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_TFLY: ++ m = (typeof(m)){"LP1050", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_HELIOS: ++ m = (typeof(m)){"LP11000", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_HELIOS_SCSP: ++ m = (typeof(m)){"LP11000-SP", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_HELIOS_DCSP: ++ m = (typeof(m)){"LP11002-SP", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_NEPTUNE: ++ m = (typeof(m)){"LPe1000", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_NEPTUNE_SCSP: ++ m = (typeof(m)){"LPe1000-SP", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_NEPTUNE_DCSP: ++ m = (typeof(m)){"LPe1002-SP", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_BMID: + m = (typeof(m)){"LP1150", "PCI-X2", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_BSMB: ++ m = (typeof(m)){"LP111", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_ZEPHYR: + m = (typeof(m)){"LPe11000", "PCIe", "Fibre Channel Adapter"}; + break; +@@ -2501,6 +2575,22 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp) + case PCI_DEVICE_ID_ZSMB: + m = (typeof(m)){"LPe111", "PCIe", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_LP101: ++ m = (typeof(m)){"LP101", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_LP10000S: ++ m = (typeof(m)){"LP10000-S", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_LP11000S: ++ m = (typeof(m)){"LP11000-S", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_LPE11000S: ++ m = (typeof(m)){"LPe11000-S", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_SAT: + m = (typeof(m)){"LPe12000", "PCIe", "Fibre Channel Adapter"}; + break; +@@ -2519,17 +2609,54 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp) + case PCI_DEVICE_ID_SAT_S: + m = (typeof(m)){"LPe12000-S", "PCIe", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_HORNET: ++ m = (typeof(m)){"LP21000", "PCIe", ++ "Obsolete, Unsupported FCoE Adapter"}; ++ GE = 1; ++ break; ++ case PCI_DEVICE_ID_PROTEUS_VF: ++ m = (typeof(m)){"LPev12000", "PCIe IOV", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PROTEUS_PF: ++ m = (typeof(m)){"LPev12000", "PCIe IOV", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PROTEUS_S: ++ m = (typeof(m)){"LPemv12002-S", "PCIe IOV", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_TIGERSHARK: ++ oneConnect = 1; ++ m = (typeof(m)){"OCe10100", "PCIe", "FCoE"}; ++ break; ++ case PCI_DEVICE_ID_TOMCAT: ++ oneConnect = 1; ++ m = (typeof(m)){"OCe11100", "PCIe", "FCoE"}; ++ break; + case PCI_DEVICE_ID_FALCON: + m = (typeof(m)){"LPSe12002-ML1-E", "PCIe", + "EmulexSecure Fibre"}; + break; ++ case PCI_DEVICE_ID_BALIUS: ++ m = (typeof(m)){"LPVe12002", "PCIe Shared I/O", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_LANCER_FC: + m = (typeof(m)){"LPe16000", "PCIe", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_LANCER_FC_VF: ++ m = (typeof(m)){"LPe16000", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_LANCER_FCOE: ++ oneConnect = 1; ++ m = (typeof(m)){"OCe15100", "PCIe", "FCoE"}; ++ break; ++ case PCI_DEVICE_ID_LANCER_FCOE_VF: + oneConnect = 1; + m = (typeof(m)){"OCe15100", "PCIe", +- "Obsolete, Unsupported FCoE Adapter"}; ++ "Obsolete, Unsupported FCoE"}; + break; + case PCI_DEVICE_ID_LANCER_G6_FC: + m = (typeof(m)){"LPe32000", "PCIe", "Fibre Channel Adapter"}; +@@ -7619,6 +7746,13 @@ lpfc_sli_driver_resource_setup(struct lpfc_hba *phba) + if (rc) + return -ENODEV; + ++ if (phba->pcidev->device == PCI_DEVICE_ID_HORNET) { ++ phba->menlo_flag |= HBA_MENLO_SUPPORT; ++ /* check for menlo minimum sg count */ ++ if (phba->cfg_sg_seg_cnt < LPFC_DEFAULT_MENLO_SG_SEG_CNT) ++ phba->cfg_sg_seg_cnt = LPFC_DEFAULT_MENLO_SG_SEG_CNT; ++ } ++ + if (!phba->sli.sli3_ring) + phba->sli.sli3_ring = kcalloc(LPFC_SLI3_MAX_RING, + sizeof(struct lpfc_sli_ring), +-- +2.27.0 + diff --git a/files/0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch b/files/0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch new file mode 100644 index 0000000..219c160 --- /dev/null +++ b/files/0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch @@ -0,0 +1,41 @@ +From c706b20bc89820ccc3c34e566d709f3f55c46624 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Tue, 9 Apr 2024 21:04:46 +0000 +Subject: [PATCH] Bring back deprecated pci ids to qla4xxx driver + +--- + drivers/scsi/qla4xxx/ql4_os.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c +index b609f0c34..edf148fc7 100644 +--- a/drivers/scsi/qla4xxx/ql4_os.c ++++ b/drivers/scsi/qla4xxx/ql4_os.c +@@ -9855,6 +9855,24 @@ static struct pci_device_id qla4xxx_pci_tbl[] = { + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + }, ++ { ++ .vendor = PCI_VENDOR_ID_QLOGIC, ++ .device = PCI_DEVICE_ID_QLOGIC_ISP8022, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ }, ++ { ++ .vendor = PCI_VENDOR_ID_QLOGIC, ++ .device = PCI_DEVICE_ID_QLOGIC_ISP8324, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ }, ++ { ++ .vendor = PCI_VENDOR_ID_QLOGIC, ++ .device = PCI_DEVICE_ID_QLOGIC_ISP8042, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ }, + {0, 0}, + }; + MODULE_DEVICE_TABLE(pci, qla4xxx_pci_tbl); +-- +2.27.0 + diff --git a/files/0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch b/files/0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch new file mode 100644 index 0000000..b3a1e15 --- /dev/null +++ b/files/0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch @@ -0,0 +1,28 @@ +From 46c5a63208e3eb337da2ca8b1456a50707655e24 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Tue, 9 Apr 2024 21:07:06 +0000 +Subject: [PATCH] Bring back deprecated pci ids to be2iscsi driver + +--- + drivers/scsi/be2iscsi/be_main.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c +index 885c351fb..2d04e67e7 100644 +--- a/drivers/scsi/be2iscsi/be_main.c ++++ b/drivers/scsi/be2iscsi/be_main.c +@@ -375,6 +375,11 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc) + + /*------------------- PCI Driver operations and data ----------------- */ + static const struct pci_device_id beiscsi_pci_id_table[] = { ++ { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) }, ++ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) }, ++ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) }, ++ { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) }, ++ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) }, + { PCI_DEVICE(ELX_VENDOR_ID, OC_SKH_ID1) }, + { 0 } + }; +-- +2.27.0 + diff --git a/files/almalinuxdup1.x509 b/files/almalinuxdup1.x509 new file mode 100644 index 0000000..2972014 Binary files /dev/null and b/files/almalinuxdup1.x509 differ diff --git a/files/almalinuxkpatch1.x509 b/files/almalinuxkpatch1.x509 new file mode 100644 index 0000000..1292610 Binary files /dev/null and b/files/almalinuxkpatch1.x509 differ diff --git a/files/almalinuxsecurebootca0.cer b/files/almalinuxsecurebootca0.cer new file mode 100644 index 0000000..6a4e99b Binary files /dev/null and b/files/almalinuxsecurebootca0.cer differ