Chris Johns commented on a discussion: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1243#note_150982 This is device driver. It happens to need drivers for specific hardware to work. This is similer to PCIe drivers are needed to make the PCI driver frame work work. It has been implemented as a framework to ease usability. The module could be renamed to be `dev/io` and it can form a slightly more generic interface if IO peek and poke is added. FreeBSD has a similar approach with [man io](https://man.freebsd.org/cgi/man.cgi?query=io&apropos=0&sektion=0&manpath=FreeBSD+15.0-RELEASE+and+Ports.quarterly&format=html) and it's implementation is in [sys/dev/io/iodev.c](https://github.com/freebsd/freebsd-src/blob/main/sys/dev/io/iodev.c). We do not need the interface to manage privileged access as FreeBSD does however it does provide us with the ability to manage abstractions where the IO area an application needs to access can and does vary. To date in RTEMS we have relied on hardware and BSPs returning the same address and us dealing with that be using defines in BSPs or applications. That is a hack and a bad one. This API is not for `mmap`. You can use `mmap` to get access to IO regions but that is your choice in your application. Support to use `mmap` to something we felt provided an easier interface for those coming to RTEMS from Unix. It does not little more. ## Use cases 1. PCIe where we can have devices on a bus on difference BSPs presenting different IO addresses. This driver presents the same device nodes and a consistent interface to an application can find the IO space and use it. 2. VME bus for A16, A24 and A32 space. EPICS needs access to these address spaces to read and write to slave boards. Each board has a different address in memory for these IO spaces. If we provide an IO driver we can provide a consistent interface EPICS can use with out the need for conditional builds against specific hardware. Andrew Johnson recently asked if we support anything that can do this. -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1243#note_150982 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
