---
name: "altera_avgen"
section: "4freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/altera_avgen"
---

# altera\_avgen(4freebsd)

driver for generic Altera Avalon-bus-attached, memory-mapped devices

## NAME

**altera\_avgen** – driver for generic Altera Avalon-bus-attached, memory-mapped devices

## 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)](/open/2.md), [read(2)](/read/2.md), [write(2)](/write/2.md), and [mmap(2)](/mmap/2.md) 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.

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)](/read/2.md) and [write(2)](/write/2.md) 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)](/read/2.md); w authorizes [write(2)](/write/2.md).

- mmapio

  allowed [mmap(2)](/mmap/2.md) 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

[mmap(2)](/mmap/2.md), [open(2)](/open/2.md), [read(2)](/read/2.md), [write(2)](/write/2.md)

## HISTORY

The **altera\_avgen** device driver first appeared in FreeBSD 10.0.

## 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.
