Add riscv64 support

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov 2024-03-20 12:12:47 +02:00
parent 18e40bfa26
commit 1a87cc8e08
Signed by: davidlt
GPG Key ID: 7A5F42FAF91FACC3
6 changed files with 16609 additions and 6 deletions

0
Module.kabi_dup_riscv64 Normal file
View File

0
Module.kabi_riscv64 Normal file
View File

14
filter-riscv64.sh.fedora Normal file
View File

@ -0,0 +1,14 @@
#! /bin/bash
# This is the riscv64 override file for the core/drivers package split. The
# module directories listed here and in the generic list in filter-modules.sh
# will be moved to the resulting kernel-modules package for this arch.
# Anything not listed in those files will be in the kernel-core package.
#
# Please review the default list in filter-modules.sh before making
# modifications to the overrides below. If something should be removed across
# all arches, remove it in the default instead of per-arch.
driverdirs="atm auxdisplay bcma bluetooth firewire fpga infiniband leds media memstick message mtd nfc ntb pcmcia power ssb soundwire staging tty uio w1"
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl nct6775 hid-playstation hid-nintendo asus_wmi_sensors asus_wmi_ec_sensors mlx5-vfio-pci video int3406_thermal nvmem_u-boot-env intel-m10-bmc-pmci intel-m10-bmc-hwmon ptp_dfl_tod pds_vdpa pds-vfio-pci usb_f_midi2 cs42l43-sdw"

File diff suppressed because it is too large Load Diff

8271
kernel-riscv64-fedora.config Normal file

File diff suppressed because it is too large Load Diff

View File

@ -169,7 +169,7 @@ Summary: The Linux kernel
# This is needed to do merge window version magic
%define patchlevel 8
# This allows pkg_release to have configurable %%{?dist} tag
%define specrelease 300%{?buildid}%{?dist}
%define specrelease 300%{?buildid}.0.riscv64%{?dist}
# This defines the kabi tarball version
%define kabiversion 6.8.1
@ -544,6 +544,13 @@ Summary: The Linux kernel
%define kernel_image arch/arm64/boot/vmlinuz.efi
%endif
%ifarch riscv64
%define asmarch riscv
%define hdrarch riscv
%define make_target vmlinuz.efi
%define kernel_image arch/riscv/boot/vmlinuz.efi
%endif
# Should make listnewconfig fail if there's config options
# printed out?
%if %{nopatches}
@ -583,7 +590,7 @@ Summary: The Linux kernel
# Architectures we build tools/cpupower on
%if 0%{?fedora}
%define cpupowerarchs %{ix86} x86_64 ppc64le aarch64
%define cpupowerarchs %{ix86} x86_64 ppc64le aarch64 riscv64
%else
%define cpupowerarchs i686 x86_64 ppc64le aarch64
%endif
@ -907,12 +914,15 @@ Source58: %{name}-s390x-fedora.config
Source59: %{name}-s390x-debug-fedora.config
Source60: %{name}-x86_64-fedora.config
Source61: %{name}-x86_64-debug-fedora.config
Source700: %{name}-riscv64-fedora.config
Source701: %{name}-riscv64-debug-fedora.config
Source62: filter-x86_64.sh.fedora
Source63: filter-aarch64.sh.fedora
Source64: filter-ppc64le.sh.fedora
Source65: filter-s390x.sh.fedora
Source66: filter-modules.sh.fedora
Source702: filter-riscv64.sh.fedora
%endif
Source70: partial-kgcov-snip.config
@ -943,11 +953,13 @@ Source201: Module.kabi_aarch64
Source202: Module.kabi_ppc64le
Source203: Module.kabi_s390x
Source204: Module.kabi_x86_64
Source205: Module.kabi_riscv64
Source210: Module.kabi_dup_aarch64
Source211: Module.kabi_dup_ppc64le
Source212: Module.kabi_dup_s390x
Source213: Module.kabi_dup_x86_64
Source214: Module.kabi_dup_riscv64
Source300: kernel-abi-stablelists-%{kabiversion}.tar.xz
Source301: kernel-kabi-dw-%{kabiversion}.tar.xz
@ -1875,6 +1887,7 @@ GetArch()
*aarch64*) echo "aarch64" ;;
*ppc64le*) echo "ppc64le" ;;
*s390x*) echo "s390x" ;;
*riscv64*) echo "riscv64" ;;
*x86_64*) echo "x86_64" ;;
# no arch, apply everywhere
*) echo "" ;;
@ -2114,7 +2127,7 @@ BuildKernel() {
mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
%endif
%ifarch aarch64
%ifarch aarch64 riscv64
%{log_msg "Build dtb kernel"}
%{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
%{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
@ -3101,7 +3114,7 @@ find $RPM_BUILD_ROOT/usr/include \
%endif
%if %{with_cross_headers}
HDR_ARCH_LIST='arm64 powerpc s390 x86'
HDR_ARCH_LIST='arm64 powerpc s390 x86 riscv64'
mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers
for arch in $HDR_ARCH_LIST; do
@ -3611,7 +3624,7 @@ fi\
%endif
%if %{with_kabidw_base}
%ifarch x86_64 s390x ppc64 ppc64le aarch64
%ifarch x86_64 s390x ppc64 ppc64le aarch64 riscv64
%files kernel-kabidw-base-internal
%defattr(-,root,root)
/kabidw-base/%{_target_cpu}/*
@ -3818,7 +3831,7 @@ fi\
%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
%ifarch aarch64\
%ifarch aarch64 riscv64\
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
%endif\
@ -3962,6 +3975,9 @@ fi\
#
#
%changelog
* Wed Mar 20 2024 David Abdurachmanov <davidlt@rivosinc.com> [6.8.1-0.0.riscv64]
- Add riscv64
* Wed Mar 20 2024 Augusto Caringi <acaringi@redhat.com> [6.8.1-0]
- redhat/configs: Enable CONFIG_MITIGATION_RFDS (Augusto Caringi)
- fedora: Enable MCP9600 (Peter Robinson)