This document, the "TOPS-20 KLIPA Driver Functional Specification," describes PHYKLP.MAC, the TOPS-20 port driver for the IPA-20 (KLIPA) device. Published in December 1983, it serves as the lowest level of software support for the CI-20 (likely a CI Bus).
Key Responsibilities and Interactions:
PHYKLP.MAC is a passive service, primarily responding to requests from the higher-level SCAMPI.MAC protocol module. It's responsible for maintaining port-to-port virtual circuits between the local and remote systems on the CI, and providing an interface to CI services for these higher-level protocols.Port Control Block (PCB) in the KL's memory. PHYKLP performs essential initialization steps like creating and initializing the PCB, loading the KLIPA microcode, and starting the device. Error information is reported via CSR bits, the response queue, and PCB error words.PHYKLP handles channel initialization (KLPINI), once-a-second device polling (KLPCHK) to detect new on-line nodes and establish virtual circuits using a three-way handshake, and interrupt service (KLPINT).PHYKLP provides services for SCAMPI to implement the Systems Communications Architecture (SCA) protocol, supporting three types of data transmissions: messages (guaranteed delivery), datagrams (delivery not guaranteed), and named buffers. PHYKLP maintains port-to-port virtual circuits, manages buffer transfers, and informs SCAMPI of critical events (e.g., nodes coming/going online, virtual circuit status changes, transfer completions, errors) via callbacks. SCAMPI is responsible for providing necessary buffers.Channel Data Blocks (CDBs), Port Control Blocks (PCBs), and System Blocks (SBs) to manage device and node-specific information, queue states, and communication parameters.CSR bits, examining PCB error words, and checking status fields in response queue entries. PHYKLP generates system error entries and console messages, and can trigger the reloading of KLIPA microcode if necessary.KLIPA Initialization, the Once-a-Second Poller (for device health checks and network discovery), and KLIPA Interrupt Service (for handling incoming data and various error conditions).PHYKLP is validated through Design Validation Testing (DVT) (fault insertion), the SCSTST test system (for SCAMPI and driver features), and the PAGES program (for continuous disk I/O verification).Site structure and layout ©2025 Majenko Technologies