uio_read.sh 523 B

123456789101112131415161718
  1. #!/bin/sh
  2. # https://github.com/cirosantilli/linux-kernel-module-cheat#uio
  3. set -e
  4. modprobe uio_pci_generic
  5. # pci_min device
  6. echo '1234 11e9' > /sys/bus/pci/drivers/uio_pci_generic/new_id
  7. /uio_read.out &
  8. # Helper to observe interrupts.
  9. insmod /irq.ko
  10. base="$(setpci -d 1234:11e9 BASE_ADDRESS_0)"
  11. # Start generating interrupt.
  12. devmem "0x${base}" w 0x12345678
  13. # Stop generating interrupt.
  14. devmem "0x$(($base + 4))" w 0x12345678
  15. devmem "0x${base}" w 0x12345678
  16. devmem "0x$(($base + 4))" w 0x12345678
  17. modprobe -r uio_pci_generic