From c957c68b61154a7f70ea3d015e610745582811a6 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Mon, 6 Oct 2025 14:05:27 +0200 Subject: [PATCH] [DO NOT MERGE] Test for kernel drivers --- .github/workflows/test_usb_kernel_modules.yml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/test_usb_kernel_modules.yml diff --git a/.github/workflows/test_usb_kernel_modules.yml b/.github/workflows/test_usb_kernel_modules.yml new file mode 100644 index 0000000000000..891c3f532ec50 --- /dev/null +++ b/.github/workflows/test_usb_kernel_modules.yml @@ -0,0 +1,47 @@ +--- +#------------------------------------------------------------------------------ +# QEMU OpenTitan CI +# +# Copyright (c) 2023-2025 Rivos, Inc. +# SPDX-License-Identifier: Apache License 2.0 +#------------------------------------------------------------------------------ + +name: Test kernel modules +on: + - pull_request + - workflow_dispatch +jobs: + test-usb: + runs-on: ubuntu-24.04 + steps: + - name: Print kernel config + run: | + cat /boot/config-`uname -r` + - name: Install deps + run: | + sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources + sudo apt-get update + sudo apt-get install -y linux-headers-generic + mkdir linux + cd linux + apt-get source linux-image-unsigned-$(uname -r) + - name: Build and load dummy_hcd module + run: | + cd linux + cp $(ls | grep linux- | head -n1)/drivers/usb/gadget/udc/dummy_hcd.c dummy_hcd.c + cat >Makefile <<'EOF' + obj-m := dummy_hcd.o + KDIR := /lib/modules/$(shell uname -r)/build + PWD := $(shell pwd) + + default: + $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) modules + + clean: + $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) clean + EOF + cat Makefile + make + sudo modprobe udc_core + sudo insmod dummy_hcd.ko +