DASD I/O interrupt subclass usage
Input/output (I/O) interrupt subclasses 3, 4, 5, and 6 that are used by DASD are assigned differently based on whether the device is an online file, general file, general data set, or HyperPAV alias.
Online files
Interrupt subclasses are assigned to a module file status table (MFST) entry when the z/TPF system restarts. The symbolic device address (SDA) for the DASD device that is associated with the MFST entry uses the interrupt subclass that is assigned to the MFST entry. Interrupt subclasses are assigned on a round-robin basis that starts with the first primary module. A primary module and associated duplicate module use the same interrupt subclass. The interrupt subclass round robin starts at subclass 3 for each device type (DEVA, DEVB, DEVC, and DEVD).
General files and general data sets
General files and general data sets use interrupt subclasses similarly to the way online files use interrupt subclasses. The interrupt subclass is assigned to an MFST entry when the z/TPF system restarts. The SDA for the general file or general data set uses the interrupt subclass that is assigned to the MFST entry that the DASD module uses.
HyperPAV alias
A HyperPAV alias uses interrupt subclasses differently from online files, general files, and general data sets. One HyperPAV alias SDA can be used for several different base SDAs. The interrupt subclass for the alias is determined by the SDA of the alias instead of the MFST entry. The interrupt subclass is equal to the SDA modulus four plus the first subclass value, which is three, or the interrupt subclass is (SDA%4) + 3.
Example
The following tables provide examples of using the interrupt subclasses.
| Primary/duplicate | Relative module | Symbolic module | Duplicate symbolic module | SDA | Interrupt subclass |
|---|---|---|---|---|---|
| Primary | 0 | 047 | 048 | 8400 | 3 |
| Duplicate | 1 | 048 | 047 | 7400 | 3 |
| Primary | 2 | 049 | 04A | 8401 | 4 |
| Duplicate | 3 | 04A | 049 | 7401 | 4 |
| Primary | 4 | 04B | 04C | 8402 | 5 |
| Duplicate | 5 | 04C | 04B | 7402 | 5 |
| Primary | 6 | 04D | 04E | 8403 | 6 |
| Duplicate | 7 | 04E | 04D | 7403 | 6 |
| Primary | 8 | 04F | 050 | 8404 | 3 |
| Duplicate | 9 | 050 | 04F | 7404 | 3 |
| Primary/duplicate | Relative module | Symbolic module | Duplicate symbolic module | SDA | Interrupt subclass |
|---|---|---|---|---|---|
| Primary | 0 | 047 | 04F | 8500 | 3 |
| Primary | 1 | 048 | 050 | 8501 | 4 |
| Primary | 2 | 049 | 051 | 8502 | 5 |
| Primary | 3 | 04A | 052 | 8503 | 6 |
| Primary | 4 | 04B | 053 | 8504 | 3 |
| Primary | 5 | 04C | 054 | 8505 | 4 |
| Primary | 6 | 04D | 055 | 8506 | 5 |
| Primary | 7 | 04E | 056 | 8507 | 6 |