Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ afpacode(8R) — AOS 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

AFPACODE(8R)  —  

NAME

afpacode − load, test, and bring online the Advanced Floating Point Accelerator

SYNOPSIS

afpacode [−ucode filename] [−afpamem filename] [−rc] [−offset value] [−interactive] [−dontstart] [−verbose] [−dontloaducode] [−noucode] [−query] [−debug]

DESCRIPTION

Afpacode is used to load microcode into the Advanced Floating Point Accelerator (AFPA).  Until the operational microcode is loaded, the AFPA is considered offline by the system.  After the AFPA has been loaded (and the load verified by reading back the contents of the microcode store), the AFPA is enabled (by disabling control store accesses), and (after a test) is brought online to the system. 

The microcode description file is nominally standard input but may be specified with the −ucode flag.  This file contains the actual contents to be loaded into the control store, plus the number of register sets which must be reserved (by the operating system) for use by the microcode, plus the initial contents of (some of) the (reserved) register sets.  The format of the microcode description file is described below in the section MICROCODE DESCRIPTION FILE. 

−ucode filename
Specifies a file which contains the microcode description file.  The default is standard input.

−afpamem filename
Specifies the special memory file into which the microcode will be loaded (and read back from).  If not specified, this defaults to /dev/afpamem. 

−rc This flag, typically used to inform afpacode that it is being driven from /etc/rc.local, changes the message output of afpacode.  Systems with no AFPA installed will see no messages from afpacode; systems in which the AFPA (through whatever mechanism) has already been loaded will see no messages from afpacode; and afpacode will print a message indicating that it is loading the AFPA in the case that the AFPA is on the system and in need of being loaded. 

−offset value
Specify an offset into the control store to start the load at.  This is used only for debugging the AFPA.

−interactive
After parsing the microcode description file (unless the −noucode option is specified), enter an interactive debugging mode.  The commands available in this mode are listed and described in the section “INTERACTIVE MODE” below. 

−dontstart
Don’t attempt to bring the AFPA online.  Don’t disable control store accesses.  Additionally, don’t complain if the supplied microcode is not the correct length for the AFPA.

−verbose
Produce more information about what afpacode is doing, and a longer run of messages when failures occur.

−dontloaducode
Don’t actually load the microcode into the AFPA.

−noucode
Do not attempt to parse the microcode description file. This should be used with the -interactive option, and then only if it is desired to test the AFPA code without loading the operational microcode. 

−query
The only actions of afpacode are to parse the arguments, query the system to find out what hardware is on the system, and to print out the state of the AFPA hardware.

−debug
Enable certain debugging capabilities.  These are for debugging some of the parsing functions of afpacode.

INTERACTIVE MODE

Interactive mode is entered when the user has entered the −interactive option.  Interactive mode is used to try to determine a failure mode in the AFPA control store.  The commands in interactive mode are:

pattern pattern
Specify a pattern to be used for writing (and checking) the control store.  The available patterns are:

onesAll bits turned on.
 zeroesAll bits turned off.
 55Alternating bits.
 aaAlternating bits.
 addressEach location written with its address.
 randomEach location has a random value.
 ucodeUse the contents of the microcode array Parsed
from the microcode description file.

length
How many microcode words to write, read, or check. Note that a microcode word is 64 bits of data.

offset
Where in the control store to begin writing, reading, or checking.

write Write the pattern space into the control store.  This uses the current values of length and offset. 

read Read from the control store into the check array.  This uses the current values of length and offset. 

check
Check the check array against the pattern space.  This uses the current values of length and offset. 

wrc Does a write, followed by a read, followed by a check.  This uses the current values of length and offset. 

help

? Print out some help information. 

print Print out the contents of the of the check array.  This uses the current values of length and offset. 

quit Terminate afpacode. 

MICROCODE DESCRIPTION FILE

Comments are indicated by a hash mark (#).  They continue to the end of the current line.  There are three statements recognized: reserved, registerset, and microcode:

reserved
Informs the system of how many register sets in the AFPA are to be reserved for use by the AFPA microcode.

registerset
Gives the initial contents of a specific register set (more than one registerset statement may be specified). 

microcode
Gives the contents of the control store.

The format of the statement is as follows:

reserved = number;
 registerset[which] = {’00000000’XB, ... };
    "which" must be in the range [0-31].  There must be 64 values
    defined for each register set.
 microcode = {’39800240010000A0’XC, ... };
There must be 4096 values defined for the control store.

EXAMPLE

/usr/ibm/afpacode -ucode /usr/ibm/lib/afpa.ucode -rc

NOTE

Afpacode is not supported on the IBM 6152 Academic System. 

PRPQs 5799-WZQ/5799-PFF: IBM/4.3  —  Dec 1987

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026