|
| enum class | ccw_commands : u8 {
write = 0b00000001
, read = 0b00000010
, read_backward = 0b00001100
, control = 0b00000011
,
sense = 0b00000100
, sense_id = 0b11100100
, tic = 0b00001000
, transport = 0b01000000
} |
| enum class | crw_erc : u8 {
event_info_pending = 0b000000
, available = 0b000001
, initialized = 0b000010
, temporary_error = 0b000011
,
installed_param_init = 0b000100
, terminal = 0b000101
, perma_err_fac_not_init = 0b000110
, perma_err_fac_init = 0b000111
,
installed_param_modified = 0b001000
, installed_param_restored = 0b001010
} |
| enum class | crw_rsc : u8 {
monitoring_facility = 0b0010
, subchannel = 0b0011
, channel_path = 0b0100
, config_alert_facility = 0b1001
,
channel_subsystem = 0b1011
} |
| enum class | esw0_sequence_code : u8 {
nz_command_byte = 0b001
, accepted_no_transfer = 0b010
, polling_state = 0b011
, ccw_transmit_error = 0b100
,
unpredictable_transfer = 0b101
} |
| enum class | esw0_storage_access_code : u8 { unknown = 0b00
, read = 0b01
, write = 0b10
, read_backward = 0b11
} |
| enum class | esw0_termination_code : u8 { halt_sgn = 0b00
, normal_termination = 0b01
, clear_sgn = 0b10
} |
| enum class | irb_ecw_information : u8 { unpredictable = 0
, concurrent_sense = 1
, model_dependent = 2
} |
| enum class | pmcw_limit_mode : u8 { no_limit_checking = 0b00
, address_eq_greater_current = 0b01
, address_less_current = 0b10
} |
|
|
using | arch::s390x::io::ccw0 |
| | Format-0 Channel Command Word (CCW0).
|
|
using | arch::s390x::io::ccw1 |
| | Format-1 CCW: 8 bytes, big-endian, used with Format-1 ORB.
|
|
using | arch::s390x::io::ccw_common |
| | Format-1/0 Channel Command Word.
|
|
using | arch::s390x::io::ccw_flags |
|
using | arch::s390x::io::crw |
|
using | arch::s390x::io::emw |
| | Extended Measurement Word.
|
|
using | arch::s390x::io::erw |
| | Extended Report Word.
|
|
using | arch::s390x::io::esw0 |
| | Extended Status Word Format 0.
|
|
using | arch::s390x::io::esw1 |
| | Extended Status Word Format 1.
|
|
using | arch::s390x::io::esw2 |
| | Extended Status Word Format 2.
|
|
using | arch::s390x::io::esw3 = esw1 |
| | Extended Status Word Format 3.
|
|
using | arch::s390x::io::esw_common |
| | Format-0/1/2/3 Extended Status Word.
|
|
using | arch::s390x::io::iiw |
|
using | arch::s390x::io::io_interruption_code |
|
using | arch::s390x::io::irb |
| | Interruption Response Block.
|
|
using | arch::s390x::io::orb |
| | Operation Request Block. (Command/Transport).
|
|
using | arch::s390x::io::pmcw |
| | Path Management Control Word — subchannel configuration.
|
|
using | arch::s390x::io::schib |
| | Subchannel Information Block.
|
|
using | arch::s390x::io::scsw |
| | Subchannel Status Word — packed status from TSCH.
|
|
using | arch::s390x::io::subchannel_id |
| | Subchannel Identifier Record.
|
|
using | arch::s390x::io::tcw |
|
|
u8 | _reserved {0} |
| | Reserved (0xFF when valid).
|
|
constexpr u8 | arch::s390x::io::ACTL_CLEAR_PEND = 0x08 |
| | Clear pending (PoP bit 23).
|
|
constexpr u8 | arch::s390x::io::ACTL_DEV_ACTIVE = 0x02 |
| | Device active (PoP bit 25).
|
|
constexpr u8 | arch::s390x::io::ACTL_HALT_PEND = 0x10 |
| | Halt pending (PoP bit 22).
|
|
constexpr u8 | arch::s390x::io::ACTL_RESUME_PEND = 0x40 |
| | Resume pending (PoP bit 20).
|
|
constexpr u8 | arch::s390x::io::ACTL_SCH_ACTIVE = 0x04 |
| | Subchannel active (PoP bit 24).
|
|
constexpr u8 | arch::s390x::io::ACTL_START_PEND = 0x20 |
| | Start pending (PoP bit 21).
|
|
constexpr u8 | arch::s390x::io::ACTL_SUSPENDED = 0x01 |
| | Suspended (PoP bit 26).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_CC = 0x40 |
| | Command chaining (PoP bit 9).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_CD = 0x80 |
| | Chain data (PoP bit 8).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_IDA = 0x04 |
| | Indirect data addressing (PoP bit 13).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_MIDA = 0x01 |
| | Modified IDA (PoP bit 15).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_PCI = 0x08 |
| | Program-controlled interruption (PoP bit 12).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_SKIP = 0x10 |
| | Skip data transfer (PoP bit 11).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_SLI = 0x20 |
| | Suppress length indication (PoP bit 10).
|
|
constexpr u8 | arch::s390x::io::CCW_FLAG_SUSPEND = 0x02 |
| | Suspend channel program (PoP bit 14).
|
|
u8 | cu_model {0} |
| | Control unit model.
|
|
u16 | cu_type {0} |
| | Control unit type.
|
|
u8 | dev_model {0} |
| | Device model.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_ATTN = 0x80 |
| | Attention.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_BUSY = 0x10 |
| | Busy.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_CE = 0x08 |
| | Channel end.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_CUE = 0x20 |
| | Control unit end.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_DE = 0x04 |
| | Device end.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_MOD = 0x40 |
| | Status modifier.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_UC = 0x02 |
| | Unit check.
|
|
constexpr u8 | arch::s390x::io::DEV_STAT_UX = 0x01 |
| | Unit exception.
|
|
u16 | dev_type {0} |
| | Device type.
|
|
constexpr u8 | arch::s390x::io::FCTL_CLEAR = 0x1 |
| | Clear function (PoP bit 19).
|
|
constexpr u8 | arch::s390x::io::FCTL_HALT = 0x2 |
| | Halt function (PoP bit 18).
|
|
constexpr u8 | arch::s390x::io::FCTL_START = 0x4 |
| | Start function (PoP bit 17).
|
|
constexpr u16 | arch::s390x::io::MAX_SCHID = 0xFFFF |
| | Maximum valid subchannel number (0-based).
|
|
constexpr u32 | arch::s390x::io::MAX_SUBCHANNELS = 65536 |
| | Maximum number of subchannels in the subchannel number space.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_CC = 0x01 |
| | Chaining check.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_CHC = 0x04 |
| | Channel control check.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_CHD = 0x08 |
| | Channel data check.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_ICC = 0x02 |
| | Interface control check.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_INCL = 0x40 |
| | Incorrect length.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_PCI = 0x80 |
| | Program-controlled interruption.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_PROG = 0x20 |
| | Program check.
|
|
constexpr u8 | arch::s390x::io::SCH_STAT_PROT = 0x10 |
| | Protection check.
|
|
constexpr u8 | arch::s390x::io::STCTL_ALERT = 0x10 |
| | Alert status (PoP bit 27).
|
|
constexpr u8 | arch::s390x::io::STCTL_INTERMEDIATE = 0x08 |
| | Intermediate status (PoP bit 28).
|
|
constexpr u8 | arch::s390x::io::STCTL_PRIMARY = 0x04 |
| | Primary status (PoP bit 29).
|
|
constexpr u8 | arch::s390x::io::STCTL_SECONDARY = 0x02 |
| | Secondary status (PoP bit 30).
|
|
constexpr u8 | arch::s390x::io::STCTL_STATUS_PEND = 0x01 |
| | Status pending (PoP bit 31).
|