x86: 64: add additional SAS / HBA card support
authorZoltan HERPAI <wigyori@uid0.hu>
Fri, 31 Jan 2025 14:03:16 +0000 (15:03 +0100)
committerZoltan HERPAI <wigyori@uid0.hu>
Sun, 16 Feb 2025 21:20:27 +0000 (22:20 +0100)
Certain users would like to use OpenWrt on their brand servers, where
the rootdisk/array usually resides on disks behind a RAID card.

Support is added for:

 - hpsa (HP Smartarray)
 - ips (IBM ServeRAID)
 - megaraid (SAS / some legacy cards)
 - mpi3mr (SAS24G cards)
 - mpt3sas (SAS cards)

Kernel sizes compared:

Current:
6099968 Jan 30 18:13 openwrt-x86-64-generic-kernel.bin

New:
6358016 Jan 31 15:19 openwrt-x86-64-generic-kernel.bin

The 260kByte increase on an x86_64 box - which usually have 512Mb RAM or much
more - is close to negligible, while it adds support for a significant portion
of these servers / HBAs. This change should be limited to the 64-bit
subtarget only. No commandline tool will be added this time, as:
a) these can be configured via their BIOS at boot-time,
b) licensing for those needs to be thoroughly reviewed.

Link: https://github.com/openwrt/openwrt/issues/17772
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
target/linux/x86/64/config-6.6

index 1d08d31daa03d881295283d222614c1c1f8bf325..fdb11285bb4d9abd62ed1e4718eef5b5815503ce 100644 (file)
@@ -321,6 +321,7 @@ CONFIG_IOMMU_SUPPORT=y
 CONFIG_IOSF_MBI=y
 # CONFIG_IOSF_MBI_DEBUG is not set
 CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_IRQ_POLL=y
 CONFIG_IRQ_REMAP=y
 # CONFIG_ISCSI_IBFT is not set
 CONFIG_ISO9660_FS=y
@@ -338,6 +339,8 @@ CONFIG_LPC_ICH=y
 CONFIG_LPC_SCH=y
 CONFIG_MAILBOX=y
 # CONFIG_MAXSMP is not set
+CONFIG_MEGARAID_LEGACY=y
+CONFIG_MEGARAID_SAS=y
 CONFIG_MEMORY_BALLOON=y
 CONFIG_MEMREGION=y
 # CONFIG_MERAKI_MX100 is not set
@@ -447,6 +450,7 @@ CONFIG_PTP_1588_CLOCK_VMW=y
 CONFIG_PVH=y
 CONFIG_QUEUED_RWLOCKS=y
 CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_RAID_ATTRS=y
 CONFIG_RAS=y
 CONFIG_RELAY=y
 CONFIG_RELOCATABLE=y
@@ -461,6 +465,12 @@ CONFIG_SATA_AHCI=y
 CONFIG_SCHED_MC=y
 CONFIG_SCHED_MC_PRIO=y
 CONFIG_SCHED_SMT=y
+CONFIG_SCSI_HPSA=y
+CONFIG_SCSI_IPS=y
+CONFIG_SCSI_MPI3MR=y
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS=y
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
 CONFIG_SCSI_SAS_ATTRS=y
 CONFIG_SCSI_VIRTIO=y
 # CONFIG_SEL3350_PLATFORM is not set