Lines Matching +full:data +full:- +full:channel
1 Booting from real channel-attached devices on s390x
5 -----------------
15 2. Execute the Read IPL ccw at ``0x00``, thereby reading IPL1 data into ``0x00``.
16 IPL1 data is 24 bytes in length and consists of the following pieces of
18 IPL ccw it read the 24-bytes of IPL1 to be read into memory starting at
21 the original READ IPL ccw. The read ccw will read the IPL2 data into memory
22 and the TIC (Transfer In Channel) will transfer control to the channel
23 program contained in the IPL2 data. The TIC channel command is the
24 equivalent of a branch/jump/goto instruction for channel programs.
29 The TIC ccw instruction at the end of the IPL1 channel program will begin
30 the execution of the IPL2 channel program. IPL2 is stage-2 of the boot
31 process and will contain a larger channel program than IPL1. The point of
36 operating system is entirely responsible for loading any more data it might
39 NOTE: The IPL2 channel program might read data into memory
40 location ``0x0`` thereby overwriting the IPL1 psw and channel program. This is ok
41 as long as the data placed in location ``0x0`` contains a psw whose instruction
54 In a non-virtualized environment this process, handled entirely by the hardware,
58 off the reading of IPL1 data. Since the channel program from IPL1 will be
59 written immediately after the special "Read IPL" ccw, the IPL1 channel program
61 on). The TIC at the end of the IPL1 channel program will cause the IPL2 channel
66 ----------------------------------------------
72 2. Execute channel program at ``0x0``.
75 However, our emulation of the machine's channel program logic within the kernel
77 non-prefetch of ccw data.
79 When we start a channel program we pass the channel subsystem parameters via an
81 bit is on then the vfio-ccw kernel driver is allowed to read the entire channel
83 channel commands that read additional channel commands will not work as expected
85 the kernel's channel subsystem memory. The kernel vfio-ccw driver currently
86 requires this bit to be on for all channel programs. This is a problem because
88 immediately to the IPL1 channel program that was read by "Read IPL".
91 IPL1 channel program from transferring control to the IPL2 channel program.
94 transfers control to another channel program segment immediately after reading
98 --------------
107 So now IPL1's psw is at ``0x0`` and IPL1's channel program is at ``0x08``.
109 3. Write a custom channel program that will seek to the IPL2 record and then
113 both IPL1 and IPL2 as part of the same channel program we must manually set
116 4. Grab the target address of the TIC instruction from the IPL1 channel program.
117 This address is where the IPL2 channel program starts.
121 5. Execute the IPL2 channel program at the address obtained in step #4.
123 Because this channel program can be dynamic, we must use a special algorithm
128 channel program (starting from the TIC) and all needed data to be refetched
130 channel program from executing properly.