cp: make con_printf non-fatal no-op
[hvf.git] / loader / eckd.s
blobef36a6b340d29680671a64a78235ead9632ce4c4
1 # During the system IPL, 24 bytes are read from the device.
3 # NOTE: zArch IPLs in ESA/390 mode.
6 .org 0
7 .globl START
8 START:
11 # Bytes 0-7 contain PSW to be loaded after IO operation completes
13 .byte 0x00
14 # bits value name desc
15 # 0 0 <zero>
16 # 1 0 PER Mask (R) disabled
17 # 2-4 0 <zero>
18 # 5 0 DAT Mode (T) disabled
19 # 6 0 I/O Mask (IO) disabled
20 # 7 0 External Mask (EX) disabled
22 .byte 0x08
23 # bits value name desc
24 # 8-11 0 Key
25 # 12 1 <one>
26 # 13 0 Machine-Check Mask (M) disabled
27 # 14 0 Wait State (W) executing
28 # 15 0 Problem State (P) supervisor state
30 .byte 0x00
31 # bits value name desc
32 # 16-17 0 Address-Space Control (AS) disabled
33 # 18-19 0 Condition Code (CC)
34 # 20-23 0 Program Mask exceptions disabled
36 .byte 0x00
37 # bits value name desc
38 # 24-30 0 <zero>
39 # 31 0 Extended Addressing (EA) ! 64 mode
41 .byte 0x80 # bits 32-39
42 .byte 0x80 # bits 40-47
43 .byte 0x00 # bits 48-55
44 .byte 0x00 # bits 56-63
45 # bits value name desc
46 # 32 1 Basic Addressing (BA) BA = 31, !BA = 24
47 # 33-63 addr Instruction Address Address to exec
50 # The remaining 16 bytes should contain CCW to read data from device
53 # CCW format-0:
54 # bits name
55 # 0-7 Cmd Code
56 # 8-31 Data Address
57 # 32 Chain-Data (CD)
58 # 33 Chain-Command (CC)
59 # 34 Sup.-Len.-Inditcation (SLI)
60 # 35 Skip (SKP)
61 # 36 Prog.-Contr.-Inter. (PCI)
62 # 37 Indir.-Data-Addr. (IDA)
63 # 38 Suspend (S)
64 # 39 Modified I.D.A. (MIDA)
65 # 40-47 <ignored>
66 # 48-63 number of bytes to read
69 # CCW 1 (bytes 8-15): format-0
71 # READ DATA 4 kB to 0x800000
72 .byte 0x86, 0x80, 0x00, 0x00
73 .byte 0x00, 0x00, 0x10, 0x00
76 # CCW 2 (bytes 16-23): format-0
78 # invalid (unused)
79 .byte 0x00, 0x00, 0x00, 0x00
80 .byte 0x00, 0x00, 0x00, 0x00