Build for QEMU and VisionFive2 RISC-V platforms 44/293344/1
authorŁukasz Stelmach <l.stelmach@samsung.com>
Tue, 23 May 2023 19:32:49 +0000 (21:32 +0200)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Wed, 24 May 2023 21:20:51 +0000 (23:20 +0200)
Change-Id: I8b5f94f888e734ab6d1046a24696ac085c4b9fad
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
packaging/linux-tizen-modules.spec

index a15f167b6491acfb10e1a704cc3dea2d6bc93e01..c4fff330d7e489ffae5403deeb761f8bef6b31e7 100644 (file)
@@ -3,9 +3,13 @@
 
 %ifarch aarch64
 %define buildarch arm64
-%else
+%endif
+%ifarch %{arm}
 %define buildarch arm
 %endif
+%ifarch riscv64
+%define buildarch riscv
+%endif
 
 Name:           linux-tizen-modules
 Version:        7.5.0
@@ -15,19 +19,26 @@ Source0:        %{name}-%{version}.tar.xz
 Source1:        %{name}.manifest
 Summary:        Tizen-specific kernel modules
 Group:          System/Kernel
-ExclusiveArch:  %{arm} aarch64
+ExclusiveArch:  %{arm} aarch64 riscv64
 BuildRequires:  kmod
 BuildRequires:  linux-tizen-modules-source
-BuildRequires:  %{buildarch}-rpi4-linux-kernel-devel
-BuildRequires:  %{buildarch}-rpi4-rt-linux-kernel-devel
 %ifarch aarch64
 BuildRequires:  kernel-devel-exynos9110-tw3
+BuildRequires:  %{buildarch}-rpi4-linux-kernel-devel
+BuildRequires:  %{buildarch}-rpi4-rt-linux-kernel-devel
 %endif
-%ifnarch aarch64
+%ifarch %{arm}
 BuildRequires:  kernel-devel-3.10-sc7730
+BuildRequires:  %{buildarch}-rpi4-linux-kernel-devel
+BuildRequires:  %{buildarch}-rpi4-rt-linux-kernel-devel
+%endif
+%ifarch riscv64
+BuildRequires: riscv-qemu-linux-kernel-devel
+BuildRequires: riscv-visionfive2-linux-kernel-devel
 %endif
 %description
 
+%ifarch %{arm} aarch64
 %package        rpi4
 Summary:        Tizen modules for RaspberryPI 4
 AutoReqProv:    no
@@ -49,6 +60,7 @@ Requires(post): findutils
 Requires(post): kmod-compat
 Provides:       stability-monitor-kernel-module
 %description    rpi4-rt
+%endif
 
 %ifarch aarch64
 %package        tw3
@@ -58,7 +70,7 @@ Provides:       stability-monitor-kernel-module
 %description    tw3
 %endif
 
-%ifnarch aarch64
+%ifarch %{arm}
 %package        tm1
 Summary:        Tizen modules for TM1
 Requires:       linux-3.10-sc7730_tizen_tm1
@@ -70,6 +82,28 @@ Requires(post): kmod-compat
 %description    tm1
 %endif
 
+%ifarch riscv64
+%package        rv64qemu
+Summary:        Tizen modules for TM1
+Requires:       %{buildarch}-qemu-linux-kernel-modules
+AutoReqProv:    no
+Requires(post): bash
+Requires(post): coreutils
+Requires(post): findutils
+Requires(post): kmod-compat
+%description    rv64qemu
+
+%package        visionfive2
+Summary:        Tizen modules for TM1
+Requires:       %{buildarch}-visionfive2-linux-kernel-modules
+AutoReqProv:    no
+Requires(post): bash
+Requires(post): coreutils
+Requires(post): findutils
+Requires(post): kmod-compat
+%description    visionfive2
+%endif
+
 %prep
 %setup -q
 cp %{SOURCE1} ./%{name}.manifest
@@ -91,6 +125,7 @@ export BUILD_proc_tsm=m
 export BUILD_kdbus=m
 export BUILD_zlogger=m
 
+%ifarch %{arm} aarch64
 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4
 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4
 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4 INSTALL_MOD_STRIP=1
@@ -98,6 +133,7 @@ make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{build
 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt
 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt
 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt INSTALL_MOD_STRIP=1
+%endif
 
 export BUILD_kdbus=n
 
@@ -109,12 +145,22 @@ make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tw3 INS
 
 export BUILD_proc_tsm=n
 
-%ifnarch aarch64
+%ifarch %{arm}
 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1
 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1
 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1 INSTALL_MOD_STRIP=1
 %endif
 
+%ifarch riscv64
+make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-riscv-qemu
+make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-riscv-qemu
+make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-riscv-qemu INSTALL_MOD_STRIP=1
+
+make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-riscv-visionfive2
+make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-riscv-visionfive2
+make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-riscv-visionfive2 INSTALL_MOD_STRIP=1
+%endif
+
 %install
 mkdir -p %{buildroot}/%{KMOD_PATH}
 
@@ -122,12 +168,14 @@ pushd lib/modules
 find -name "*.ko" -exec cp -a --parents {} %{buildroot}/%{KMOD_PATH}/ \;
 popd
 
+%ifarch %{arm} aarch64
 # module load config
 mkdir -p %{buildroot}/%{KMOD_PATH}/modprobe.d
 install -m 644 conf/tizen-modprobe-rpi4.conf %{buildroot}/%{KMOD_PATH}/modprobe.d
 
 mkdir -p %{buildroot}/%{KMOD_PATH}/modules-load.d
 install -m 644 conf/tizen-modules-rpi4.conf %{buildroot}/%{KMOD_PATH}/modules-load.d
+%endif
 
 %ifarch aarch64
 mkdir -p %{buildroot}/aarch64/modules
@@ -140,7 +188,7 @@ mkdir -p %{buildroot}/aarch64/modules/modules-load.d
 install -m 644 conf/tizen-modules-tw3.conf %{buildroot}/aarch64/modules/modules-load.d
 %endif
 
-%ifnarch aarch64
+%ifarch %{arm}
 mkdir -p %{buildroot}/%{KMOD_PATH_TM1}/modules-load.d
 install -m 644 conf/tizen-modules-tm1.conf %{buildroot}/%{KMOD_PATH_TM1}/modules-load.d
 mv -v %{buildroot}/%{KMOD_PATH}/*3.10* %{buildroot}/%{KMOD_PATH_TM1}
@@ -150,6 +198,7 @@ mv -v %{buildroot}/%{KMOD_PATH}/*3.10* %{buildroot}/%{KMOD_PATH_TM1}
 rm -rf %{buildroot}
 rm -rf %{_builddir}/%{name}-%{version}/lib
 
+%ifarch %{arm} aarch64
 %post rpi4
 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`))
 /sbin/depmod -a $RELEASEVERSION
@@ -157,8 +206,9 @@ RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`))
 %post rpi4-rt
 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`))
 /sbin/depmod -a $RELEASEVERSION
+%endif
 
-%ifnarch aarch64
+%ifarch %{arm}
 %post tm1
 KMOD_PATH_TM1=%{KMOD_PATH_TM1}
 KMOD_BASEPATH=${KMOD_PATH_TM1%%%{KMOD_PATH}}
@@ -166,6 +216,7 @@ RELEASEVERSION=$(basename $(dirname `find $KMOD_PATH_TM1 -name extra | head -1`)
 /sbin/depmod -b ${KMOD_BASEPATH} -a $RELEASEVERSION
 %endif
 
+%ifarch %{arm} aarch64
 %files rpi4
 %manifest %{name}.manifest
 %license COPYING
@@ -199,6 +250,7 @@ RELEASEVERSION=$(basename $(dirname `find $KMOD_PATH_TM1 -name extra | head -1`)
 %endif
 %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi4.conf
 %{KMOD_PATH}/modules-load.d/tizen-modules-rpi4.conf
+%endif
 
 %ifarch aarch64
 %files tw3
@@ -211,7 +263,7 @@ RELEASEVERSION=$(basename $(dirname `find $KMOD_PATH_TM1 -name extra | head -1`)
 /aarch64/modules/modules-load.d/tizen-modules-tw3.conf
 %endif
 
-%ifnarch aarch64
+%ifarch %{arm}
 %files tm1
 %manifest %{name}.manifest
 %license COPYING
@@ -219,3 +271,17 @@ RELEASEVERSION=$(basename $(dirname `find $KMOD_PATH_TM1 -name extra | head -1`)
 %{KMOD_PATH_TM1}/*3.10*/extra/zlogger/zlogger.ko
 %{KMOD_PATH_TM1}/modules-load.d/tizen-modules-tm1.conf
 %endif
+
+%ifarch riscv64
+%files rv64qemu
+%manifest %{name}.manifest
+%license COPYING
+%{KMOD_PATH}/*-riscv-qemu/extra/logger.ko
+%{KMOD_PATH}/*-riscv-qemu/extra/zlogger/zlogger.ko
+
+%files visionfive2
+%manifest %{name}.manifest
+%license COPYING
+%{KMOD_PATH}/*-riscv-visionfive2/extra/logger.ko
+%{KMOD_PATH}/*-riscv-visionfive2/extra/zlogger/zlogger.ko
+%endif