ALTERA_AVGEN(4)

πŸ“¦ version 14.5, in freebsd 14.5

🌸 NAME 🌸

okay so this is altera_avgen(4), straight outta the Kernel Interfaces Manual, and bestie it is literally the driver for generic Altera Avalon-bus-attached, memory-mapped devices. no cap. πŸ’…


✨ SYNOPSIS ✨

device altera_avgen

In /boot/device.hints:

hint.altera_avgen.0.at="nexus0"
hint.altera_avgen.0.maddr=0x7f00a000
hint.altera_avgen.0.msize=20
hint.altera_avgen.0.width=4
hint.altera_avgen.0.fileio="rw"
hint.altera_avgen.0.devname="berirom"

πŸ’… DESCRIPTION πŸ’…

The altera_avgen device driver provides generic support for memory-mapped devices on the Altera Avalon bus. device.hints entries configure the address, size, I/O disposition, and /dev device node name that will be used. πŸŽ€

The open(2), read(2), write(2), and mmap(2) system calls (and variations) may be used on altera_avgen device nodes, subject to constraints imposed using device.hints entries. Although reading and writing mapped memory is supported, altera_avgen does not currently support directing device interrupts to userspace. iykyk β€” it's memory-mapped I/O only, bestie. 😭

πŸŽ€ device.hints sub-fields πŸŽ€

A number of device.hints sub-fields are available to configure altera_avgen device instances:

  • maddr β€” base physical address of the memory region to export; must be aligned to width
  • msize β€” length of the memory region export; must be aligned to width
  • width β€” Granularity at which read(2) and write(2) operations will be performed. Larger requests will be broken down into width-sized operations; smaller requests will be rejected. I/O operations must be aligned to width.
  • fileio β€” allowed file descriptor operations; r authorizes read(2); w authorizes write(2).
  • mmapio β€” allowed mmap(2) permissions; w authorizes PROT_WRITE; r authorizes PROT_READ; x authorizes PROT_EXEC.
  • devname β€” specifies a device name relative to /dev.
  • devunit β€” specifies a device unit number; no unit number is used if this is unspecified.

πŸ”₯ SEE ALSO πŸ”₯


🌈 HISTORY 🌈

The altera_avgen device driver first appeared in FreeBSD 10.0. iconic behavior, honestly. ⭐


πŸ‘‘ AUTHORS πŸ‘‘

The altera_avgen device driver and this manual page were developed by SRI International and the University of Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) (β€œCTSRD”), as part of the DARPA CRASH research programme. This device driver was written by Robert N. M. Watson. 🫢


πŸ’€ BUGS πŸ’€

altera_avgen is intended to support the writing of userspace device drivers; however, it does not permit directing interrupts to userspace, only memory-mapped I/O. πŸ™ˆ
altera_avgen supports only a nexus bus attachment, which is appropriate for system-on-chip busses such as Altera's Avalon bus. If the target device is off of another bus type, then additional bus attachments will be required. πŸ’€

mwah πŸ’‹ β€” this page is from Debian, dated August 18, 2012, and it's the ALTERA_AVGEN(4) man page. byeeee 🫢✨

πŸ“¦ where this page comes from
  • freebsd 14.5: base 14.5
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms