New pages
From TechPubs Wiki
9 January 2026
- 05:1605:16, 9 January 2026 Kernel: STREAMS (hist | edit) [3,892 bytes] Raion (talk | contribs) (Created page with "The IRIX STREAMS framework provides a modular, message-passing I/O subsystem for character devices, terminals, network protocols, and pseudo-devices. It uses queues (read/write pairs per module/driver), message blocks (mblk_t/dblk_t), and buffers for data transfer. The implementation is highly optimized for performance with: Per-CPU free lists (NUMA-aware) for message blocks, data blocks, and buffers of various sizes. Cache coloring and alignment support. Zone-based...") Tag: Visual edit
4 January 2026
- 03:5203:52, 4 January 2026 Kernel: Signal Infrastructure (hist | edit) [4,275 bytes] Raion (talk | contribs) (Created page with "== Overview == The IRIX kernel signal infrastructure provides a comprehensive, POSIX-compliant signal delivery system with extensions for real-time, debugging, and multi-threaded processes. Signals are managed at both process (sigvec_t in proc_t) and thread (ut_sig, ut_sighold in uthread_t) levels, allowing per-thread signal masks and delivery while maintaining process-wide consistency. Key features: Queued signals (sigqueue_t) for POSIX sigqueue and siginfo delivery. P...")
- 03:4803:48, 4 January 2026 Kernel: Process/Time Management Syscalls (hist | edit) [4,194 bytes] Raion (talk | contribs) (Created page with "== Overview == IRIX has many syscalls grouped by core process identity, time management, scheduling control, profiling, and signal-related system calls in the IRIX kernel. These calls operate on vproc_t (virtual process) structures, which encapsulate state shared across threads (uthreads) in multi-threaded processes. Key areas: Time retrieval/setting UID/GID manipulation (System V and BSD semantics) Process group/session control Nice value and real-time priority adjustm...")
- 03:4203:42, 4 January 2026 Kernel: Virtual Paging (hist | edit) [4,388 bytes] Raion (talk | contribs) (Created page with "== Overview == The IRIX kernel virtual memory subsystem manages physical page allocation, deallocation, and mapping for kernel use. It features a sophisticated free page list organized by cache color buckets with separate queues for clean/stale and associated/unassociated pages, support for large pages (contiguous allocation and coalescing), NUMA-aware node-specific freelists, cache coloring and VCE avoidance, and optimizations for direct-mapped (K0/K1) vs K2 addresses....")
- 03:3903:39, 4 January 2026 Kernel: Process Scheduler (hist | edit) [4,206 bytes] Raion (talk | contribs) (Created page with "== Overview == The IRIX process scheduler is accessed primarily through the schedctl(2) system call, which provides a rich set of scheduling controls reflecting IRIX's historical focus on real-time, multiprocessor, and high-performance computing workloads. It supports: Real-time fixed-priority scheduling (non-degrading) Traditional UNIX nice-value adjustments (timeshare) Process group and user-wide nice operations (BSD compatibility) CPU affinity control Scheduling mode...")
- 03:2803:28, 4 January 2026 Kernel: pfile (hist | edit) [4,538 bytes] Raion (talk | contribs) (Created page with "== Overview == The pfile (physical file) object in the IRIX kernel represents per-open-file state beyond the vnode (file system-independent) and vfile (open file description) layers. It primarily manages the current file offset (pf_offset) and associated synchronization (pf_offlock). In single-cell (non-distributed) configurations, the pfile layer directly handles offset and flag operations. In distributed (multi-cell) environments using Cellular IRIX features, higher la...")
- 03:2703:27, 4 January 2026 Kernel: vfile (hist | edit) [5,424 bytes] Raion (talk | contribs) (Created page with "== Overview == The vfile (virtual file) object in the IRIX kernel represents an open file description — the kernel-side structure that corresponds to an open file shared across processes (via fork, dup, etc.). It holds per-open state such as reference count, open flags, credentials, associated vnode or vsocket, and a behavior chain head for stacked behaviors (notably the pfile behavior for offset management). The vfile layer sits between the per-process file descriptor...") Tag: Visual edit: Switched
- 03:2303:23, 4 January 2026 Kernel: Mutex (hist | edit) [3,867 bytes] Raion (talk | contribs) (Created page with "== Overview == The IRIX kernel mutex implementation provides basic mutual exclusion primitives with priority inheritance to mitigate priority inversion, atomic owner tracking via compare-and-swap, optional metering/statistics, and integration with the broader ksync (kernel synchronization) framework that includes sv_t (synchronization variables) for semaphores, condition variables, and other waitable objects. The design uses a single-word owner field (m_bits) combining o...") Tag: Visual edit: Switched
30 December 2025
- 19:0919:09, 30 December 2025 Libc: malloc (hist | edit) [6,174 bytes] Raion (talk | contribs) (Created page with "The IRIX libc malloc family (malloc, free, realloc, etc.) implements a classic System V-style dynamic memory allocator using a splay tree for managing free blocks of varying sizes, separate linked lists for small blocks, aggressive coalescing, and delayed freeing to preserve freed block contents across calls. It obtains more memory via sbrk (or equivalent GETCORE), aligns allocations to word boundaries, and handles non-contiguous arenas when necessary. This decompiled im...") Tag: Visual edit
- 18:4118:41, 30 December 2025 Libc: doscan (hist | edit) [5,586 bytes] Raion (talk | contribs) (Created page with "The _doscan function is the core implementation of formatted input in IRIX libc, serving as the internal routine for the entire scanf family (scanf, fscanf, sscanf, vscanf, etc.). It parses the format string, reads from a FILE * stream (or string via dummy stream for sscanf), matches input against specifiers, skips whitespace as required, and stores converted values via va_list. This decompiled version shows MIPS-specific handling (e.g., conditional long double support i...") Tag: Visual edit: Switched
- 18:4018:40, 30 December 2025 Libc: doprnt (hist | edit) [11,481 bytes] Raion (talk | contribs) (Initial Commit) Tag: Visual edit
- 02:2402:24, 30 December 2025 Kernel: Introduction (hist | edit) [4,006 bytes] Raion (talk | contribs) (Created page with "== Introduction == The ''Kernel:'' namespace serves as a comprehensive, community-driven repository for detailed technical documentation of the IRIX kernel, derived from reverse engineering efforts on IRIX 6.5 binaries. This initiative focuses on analyzing, decompiling, and annotating kernel object files to produce high-level, functional descriptions of subsystems, data structures, and behaviors. The documentation is intended to preserve and disseminate deep technic...") Tag: Visual edit: Switched originally created as "Kernel:Introduction"
- 02:1402:14, 30 December 2025 Kernel:Virtual Memory (hist | edit) [7,866 bytes] Raion (talk | contribs) (Initial Commit) Tag: Visual edit: Switched
- 01:5901:59, 30 December 2025 Kernel: ELF Loader (hist | edit) [7,248 bytes] Raion (talk | contribs) (Created page with "{{KernelNav}} == Overview == The IRIX kernel's ELF loader manages the execution of ELF-format binaries on MIPS-based systems, accommodating 32-bit and 64-bit architectures along with multiple ABIs. It performs tasks such as validating file headers, preparing the user stack and arguments, mapping memory segments, handling dynamic linking, and applying hardware-specific adjustments. Integration with kernel components like address space handling, virtual memory allocation...") Tag: Visual edit: Switched
29 December 2025
- 20:5320:53, 29 December 2025 Kernel: malloc (hist | edit) [6,007 bytes] Raion (talk | contribs) (Initial) Tag: Visual edit: Switched originally created as "Kernel:malloc"
- 20:4920:49, 29 December 2025 Kernel:Kernel Timers (hist | edit) [5,474 bytes] Raion (talk | contribs) (Initial) Tag: Visual edit: Switched
28 December 2025
- 03:2503:25, 28 December 2025 SGIfetch (hist | edit) [107 bytes] Raion (talk | contribs) (Created page with "'''sgifetch''' is a neofetch-like tool that displays system information for SGI MIPS hardware running IRIX.") Tag: Visual edit
27 December 2025
- 05:0405:04, 27 December 2025 Kernel: vnode and vfs (hist | edit) [8,784 bytes] Raion (talk | contribs) (Created page with "IRIX’s VFS (Virtual File System) and vnode architecture is conceptually similar to many UNIX-derived systems (BSD, System V, Solaris), but with some IRIX-specific behavior layering and STREAMS integration. The vnode system provides a uniform abstraction for all filesystem objects, enabling the kernel to operate generically on files, directories, FIFOs, and devices without knowing the underlying filesystem implementation. === 1. Vnode: Abstract File Object === * Purpo...") Tag: Visual edit
- 05:0305:03, 27 December 2025 Kernel: vnode Operations (hist | edit) [6,236 bytes] Raion (talk | contribs) (Created page with "Summary of known vfs operations and vnode operations. === 1. VFS Operations (<code>vfsops_t</code>) === These are operations on the '''filesystem as a whole''': {| class="wikitable" !Operation !Purpose / Semantics !Typical FS Relevance |- |<code>mount</code> |Mount the filesystem; initialize structures, link root vnode. |All FS |- |<code>umount</code> |Unmount; flush buffers, release resources. |All FS |- |<code>sync</code> |Flush all dirty buf...") Tag: Visual edit
- 04:3104:31, 27 December 2025 Kernel: Poll and Select (hist | edit) [6,846 bytes] Raion (talk | contribs) (Created page with "This section describes the behavior of IRIX’s 6.5 Kernel <code>poll(2)</code> and <code>select(2)</code> system calls as observed from kernel behavior and historical design goals. It intentionally avoids implementation details and code structure, focusing instead on externally visible semantics, internal contracts, and compatibility considerations. == 1. Design philosophy == IRIX treats <code>poll(2)</code> as the fundamental readiness-notificat...") Tag: Visual edit
26 December 2025
- 01:3901:39, 26 December 2025 FAT32 (hist | edit) [3,268 bytes] Raion (talk | contribs) (Created page with "'''FAT32''' is a variant of the File Allocation Table filesystem used by Windows 95 OSR2 through Windows ME as the primary filesystem. As of 2025 a project by Techomancer AKA 0xDEADBEEF on the IRIXNet forums provides kernel native FAT32 filesystem support for IRIX 6.5 via a kernel filesystem driver. It allows IRIX systems to read and write FAT32-formatted media, making it possible to exchange data with modern removable storage and non-IRIX systems without intermediat...") Tag: Visual edit: Switched
24 December 2025
- 07:2407:24, 24 December 2025 Historical Nekoware (hist | edit) [743 bytes] Raion (talk | contribs) (Created page with "This page documents the historical '''Nekoware''' project prior to 2018. Nekoware grew out of admin of Nekochan.net, "nekonoko", attempting to port software during and after Freeware was no longer updated. The current Nekoware distribution is based on, but incompatible with, the build criteria and standards partially established. == Differences from Modern Nekoware == Of note, the following major differences are to be observed: # Old nekoware was built w...") Tag: Visual edit
18 December 2025
- 04:2004:20, 18 December 2025 Smbfs (hist | edit) [439 bytes] Raion (talk | contribs) (Created page with "'''smbfs''' or '''Samba''' is a protocol for sharing files similar to NFS, or sshfs. It is historically associated with Microsoft due to its formation on DOS and Netware systems. == Support on IRIX == IRIX never has properly supported smbfs in any practical manner from the kernel. Old Nekoware ports of the userspace tools exist as well as Sharity and Kerberos modules. It should be considered '''deprecated''' for most use cases.") Tag: Visual edit
2 December 2025
- 20:3320:33, 2 December 2025 Kindler IR specification (hist | edit) [15,099 bytes] Raion (talk | contribs) (Created page with "'''This page is a draft by Raion.''' Version: 1.0 Date: 2025-12-02 Status: Draft — targeted for Kindler 1.0 release == Purpose == This document defines the Kindler Intermediate Representation (IR) 1.0: a stable, deterministic, and minimal model used by Kindler and its tooling to describe projects, targets, and build artifacts for C and C++ (initial release). The IR is the canonical in-memory model used by Kindler’s parsers, validators, toolchain modules, and exp...") Tag: Visual edit
29 November 2025
- 08:0408:04, 29 November 2025 Nekoware SDK (hist | edit) [4,738 bytes] Raion (talk | contribs) (Created page with "The '''Nekoware SDK''' is a bootstrap kit for the Nekoware environment. It addresses several limitations of building software on IRIX and provides a foundation for independent development. == '''Purpose''' == * Provides a set of tools for building Nekoware without relying on the limited native IRIX environment. * Avoids circular dependencies, allowing Nekoware to be built mostly without depending on itself. * Includes an independent test harness for GCC. == ''...") Tag: Visual edit: Switched
23 November 2025
- 21:1121:11, 23 November 2025 Nvme (hist | edit) [1,231 bytes] Raion (talk | contribs) (Created page with "'''NVME storage''' also known as '''M.2''' storage is supported on IRIX as of November 2025. Community member Dominbear/techomancer contributed the code to his [https://github.com/techomancer/irixnvme GitHub]. == Supported Systems == Any system with PCI bridging is supported. This includes the: * O2 * Origin 3000 * Origin 300 * Origin 350/Onyx4/Tezro * Octane (with PCI X-Talk or PCI Card Cage) * Origin 2000/Onyx2 == Building == Assu...") Tag: Visual edit: Switched
17 November 2025
- 04:2604:26, 17 November 2025 Dbx (hist | edit) [2,454 bytes] Raion (talk | contribs) (Created page with "'''dbx''' is the IRIX debugger used for IRIS Development Option and MIPSPro based binaries. It is the primary system debugger, available in the "ProDev Workshop" CDs. == Cheat Sheet == For those unfamiliar, this section explains how to load and use it. === Getting Started === % dbx [program] – Launch dbx with a program. % dbx [program] program.core – Load a core dump. % dbx -I [path] – Add search path for source files. === Running Programs === run [ar...") Tag: Visual edit
14 November 2025
- 05:4205:42, 14 November 2025 Swipe (hist | edit) [649 bytes] Raion (talk | contribs) (Created page with "'''swipe''' is a multi-protocol IRIX-compatible downloader built by User:Raion with BSD, IRIX and other systems in mind. == Design Details == swipe is similar to curl and wget. It aims to simplify downloading singular files. It cannot mass-download from ftp or other protocols. It supports: * HTTP/HTTPS * Gemini * FTP * Gopher Currently advanced features like proxy support, certificate checking and IPv6 are missing. It's a narrow-scope project. For anything adva...") Tag: Visual edit: Switched
- 05:0505:05, 14 November 2025 ZuluSCSI (hist | edit) [1,552 bytes] Raion (talk | contribs) (Created page with "The ZuluSCSI is a family of SD based emulators designed for narrow and ultrawide low-voltage differential SCSI buses. They aim to provide low-power, higher reliability alternatives to aging SCSI drives in consumer and workstation hardware == Architecture == The ZuluSCSI ffirmware looks for file names which adhere to a simple but powerful naming convention, and presents them as the drives to the SCSI host. Each image file represents a SCSI drive. ZuluSCSI is designed to...") Tag: Visual edit
21 October 2025
- 06:0006:00, 21 October 2025 Nekoware Package FAQ (hist | edit) [1,442 bytes] Raion (talk | contribs) (Created page with "Here's some frequently asked questions about the Nekoware package suite, such as recommendations for various applications. This guide is '''2025-Q4''' compliant. == Frequently Asked Questions == === Why don't you have GNU Bash? === We didn't include bash or nano for this release because it would complicate build dependencies. We did not intend to inconvenience users. We recommend either neko_mksh or the native tcsh shell for users. See IRIX Setup 101 for shell pro...") Tag: Visual edit
- 04:1204:12, 21 October 2025 /var/inst documentation (hist | edit) [5,299 bytes] Raion (talk | contribs) (initial commit) Tag: Visual edit
12 October 2025
- 15:5415:54, 12 October 2025 Inst file formats (hist | edit) [3,286 bytes] Raion (talk | contribs) (Created page with "This is a page documenting various parts of the IRIX 6.5 inst file formats. The goal here is to build a formal specification through reading and analyzing files. We do not intend to use disassembly or other methods to RE these formats if possible. == <code>/var/inst</code> — per-product record file format == === Overview === A product record file stores metadata for a single installed product. It contains: * A fixed ASCII signature and version * One or more TLV...") Tag: Visual edit
9 October 2025
- 03:5003:50, 9 October 2025 Installing Nekoware (hist | edit) [1,025 bytes] Raion (talk | contribs) (Created page with "Installing Nekoware is easy but requires knowledge of IRIX's inst system.") Tag: Visual edit
- 02:0002:00, 9 October 2025 Nekoware Packaging Guide (hist | edit) [10,425 bytes] Raion (talk | contribs) (Created page with " This article provides a basic introduction to packaging software for distribution through the Nekoware software archive. Nekoware's standards are reflected in the way we wrote this article. ==Required Equipment== ===Compilers=== For C-based, normal everyday programs we highly recommend using MIPSPro for compilation. If using C++, the type of C++ and complexity of the program will determine if fixing it for MIPSPro outweighs the work necessary to compiler. W...") Tag: Visual edit
4 October 2025
- 05:2805:28, 4 October 2025 Silicon Graphics (hist | edit) [4,011 bytes] Raion (talk | contribs) (Created page with "'''Silicon Graphics, Inc.''' (stylized as '''SiliconGraphics''' before 1999, later rebranded '''SGI''', historically known as '''Silicon Graphics Computer Systems''' or '''SGCS''') was the American high-performance computing manufacturer responsible for producing IRIX, NUMALink, and all SGI hardware. On April 1, 2009, SGI filed for Chapter 11 bankruptcy protection and announced that it would sell substantially all of its assets t...") Tag: Visual edit
29 September 2025
- 04:0704:07, 29 September 2025 CD Installation of IRIX (hist | edit) [3,916 bytes] Raion (talk | contribs) (Created page with "'''Note that CD Installation of IRIX requires good condition CDs, ideally originals, a CD drive in good mechanical condition, and if using burned CDs, a DAO (disc-at-once) CD burning program like ImgBurn or CDBurnerXP. For this reason, and the onerous task of disc swapping, we advise using a network install method.''' IRIX can be installed via a local CD drive. This tutorial covers IRIX 6.5.22, but other versions are broadly similar. == Required CDs == To successfully...") Tag: Visual edit: Switched
27 September 2025
- 03:0503:05, 27 September 2025 4D1-2.x (hist | edit) [235 bytes] Raion (talk | contribs) (Created page with "4D1-2.x was the public initial release family of the 4D1 systems before they were officially called IRIX. It uses MEX similar to the earlier GL2-3.x product. == Known information == Scant information of this release is known.") Tag: Visual edit
- 03:0003:00, 27 September 2025 Flexlm (hist | edit) [846 bytes] Raion (talk | contribs) (Created page with "Flex License Manager is a form of DRM used on IRIX and other UNIX systems to lock out features and programs and authenticate them in a centralized form. == Purpose == As prefaced, this is an early form of software DRM. The license files are a plaintext file containing all centralized flexlm license keys. It contains the registrant, serial info, expiration date etc. == License Locations == * <code>/var/flexlm/license.dat</code> Primary for most software. * <code>/etc/...") Tag: Visual edit: Switched
- 02:5402:54, 27 September 2025 L1 Controller (hist | edit) [1,035 bytes] Raion (talk | contribs) (Created page with "All of the systems based on the Origin 3000 and Chimera architecture (Fuel, Origin 3000, Onyx4, Origin/Onyx 3x0, Tezro) include a low-level hardware monitor, power management and startup/shutdown system called the L1 controller. This system does many things that earlier systems either lacked the capability of doing, or had a separate system that performed those functions, including holding serial numbers and configuring NUMA access. == Power commands == To start an...") Tag: Visual edit: Switched
- 02:4002:40, 27 September 2025 XSGI (hist | edit) [1,074 bytes] Raion (talk | contribs) (Created page with "'''Xsgi''' is the IRIX 4.0 and up specific X11 implementation built to replace 4Sight. It implements X11R6 standards but is highly tailored to be specific to the SGI hardware context. == Early History == Work began around 1989 when SGI hired Tom Paquin from IBM to integrate X with SGI’s IRIS GL stack. At the time, SGI was using a NeWS-based GUI for 4D1 called 4Sight. NeWS was falling out of fashion in the late 1980s and early 1990s due to its heavyweight Post...") Tag: Visual edit: Switched
- 02:1102:11, 27 September 2025 Indigo 2 Power Supply Information (hist | edit) [6,458 bytes] Raion (talk | contribs) (Created page with "The '''SGI Indigo 2 power supply''' is a common failure point of this system with issues often traced to aging passives and semiconductor circuitry. This page serves to catalog the information originally aggregated by Elf on SGUG but later removed (and restored against his will). He has granted an exclusive license for TechPubs to use and publish his information. == Pinout (Non-IMPACT) == The Indigo 2 power supply used in non-IMPACT systems is a multi-board switch-...") Tag: Visual edit
- 01:5601:56, 27 September 2025 O2 Power Supply Information (hist | edit) [3,878 bytes] Raion (talk | contribs) (Created page with "This page serves to catalog the SGI O2 power supply information originally gathered by Elf of SGUG. Due to him deleting that post, and giving TechPubs an explicit license to use his information, we are rehosting them here in the wiki. Here is the power supply pinout from the O2 front plane perspective, looking from the back into the recessed cubby hole for the PSU: Power is supplied over a 24 pin Molex Mini-Fit BMI connector. This is like the Mini-Fit Jr. commonly...") Tag: Visual edit