IOASIC(4)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸ’… ioasic(4) β€” the baseboard IO control ASIC for DEC TURBOchannel systems ✨

okay so before we even get into it: this is ioasic, bestie, and it's a driver manual page from the Kernel Interfaces Manual. buckle up πŸŽ€


✨ NAME ✨

ioasic β€” the baseboard IO control ASIC for DEC TURBOchannel systems. that's the whole vibe. iconic honestly πŸ‘‘


🌸 SYNOPSIS 🌸

ioasic0 at tc? slot ? offset ?

that's it. that's the line. she's giving minimal and mysterious πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the ioasic driver is literally out here providing support for the DEC proprietary IOCTL ASIC, which lives on all DEC TURBOchannel machines with MIPS processors (that's the DECstation 5000 series β€” with the one exception of the 5000/200, we'll get to her 🫢) and Alpha processors (the 3000-series). no cap.

on these machines (and yes, including the 5000/200, stay with me), every single baseboard device should be configured as a child of the ioasic device. it's giving main character energy β€” everybody's parent is ioasic 😭

so what does the ioasic actually do? she provides hardware DMA channels and interrupt support for a whole little friend group of baseboard devices, and the roster is:

  • one asc SCSI device, with a scatter/gather DMA channel ✨
  • an mc146818-compatible mcclock πŸ•°οΈ
  • an Am7930 audio device, bba 🎡
  • one or two zs two-port serial devices 🐍
  • and an AMD 7990 LANCE le Ethernet interface 🌐

the ioasic is also used for the floppy-disc drive and the audio/ISDN hardware on the Personal DECstation and on audio-equipped TURBOchannel Alphas β€” and here's the tea πŸ”₯: in those cases the ioasic hardware provides a scatter-gather DMA channel between the 16-bit device and the 32-bit tc DMA address space. we love a bridge queen 🫢

and why do we care about scatter-gather DMA? because support for it eliminates the need for additional copying. zero extra copying. we stan efficiency πŸ’–. also, a baseboard asc SCSI adaptor attached to an ioasic will give you slightly better performance than its tc counterpart. slightly! she's faster, periodt ⭐


πŸŽ€ SEE ALSO πŸŽ€

go read those too, bestie, iykyk πŸ’œ


🌈 HISTORY 🌈

the ioasic driver first appeared in NetBSD 1.1, and it was derived from DECstation boot-time configuration code in 4.4BSD. a whole origin story. we love a legacy πŸ‘‘


πŸ’€ BUGS πŸ’€

okay so here's the messy part, and i need you to pay attention πŸ™ˆ:

the DECstation 5000/200 does not actually have an IOASIC chip. like, physically. it's not there. BUT β€” for consistency β€” it must be configured as if it did. yes, really. don't ask, just configure it that way. it's giving "fake it till you make it" and honestly? respect πŸ’…


that's the whole page, bestie 🫢 β€” brought to you by Debian, dated September 12, 2007. go forth and configure your baseboard devices as children of ioasic, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from