mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-25 19:21:35 +01:00
Motivation: userland is getting several new subdirectories, it would be too insane to just dump all of that in the guest root filesystem. To alleviate the cd pain, .profile puts user inside /lkmc by default.
18 lines
523 B
Bash
Executable File
18 lines
523 B
Bash
Executable File
#!/bin/sh
|
|
# https://github.com/cirosantilli/linux-kernel-module-cheat#uio
|
|
set -e
|
|
modprobe uio_pci_generic
|
|
# pci_min device
|
|
echo '1234 11e9' > /sys/bus/pci/drivers/uio_pci_generic/new_id
|
|
./uio_read.out &
|
|
# Helper to observe interrupts.
|
|
insmod irq.ko
|
|
base="$(setpci -d 1234:11e9 BASE_ADDRESS_0)"
|
|
# Start generating interrupt.
|
|
devmem "0x${base}" w 0x12345678
|
|
# Stop generating interrupt.
|
|
devmem "0x$(($base + 4))" w 0x12345678
|
|
devmem "0x${base}" w 0x12345678
|
|
devmem "0x$(($base + 4))" w 0x12345678
|
|
modprobe -r uio_pci_generic
|