/openbmc/linux/drivers/s390/char/ |
H A D | tape.h | 309 return ccw + 1; in tape_ccw_cc() 316 ccw->flags = 0; in tape_ccw_end() 319 return ccw + 1; in tape_ccw_end() 326 ccw->flags = 0; in tape_ccw_cmd() 327 ccw->count = 0; in tape_ccw_cmd() 328 ccw->cda = (__u32)(addr_t) &ccw->cmd_code; in tape_ccw_cmd() 339 ccw->cda = (__u32)(addr_t) &ccw->cmd_code; in tape_ccw_repeat() 340 ccw++; in tape_ccw_repeat() 342 return ccw; in tape_ccw_repeat() 351 return ccw++; in tape_ccw_cc_idal() [all …]
|
H A D | tape_std.c | 278 ccw = tape_ccw_repeat(ccw, FORSPACEFILE, mt_count); in tape_std_mtfsf() 279 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtfsf() 303 ccw = tape_ccw_repeat(ccw, FORSPACEBLOCK, mt_count); in tape_std_mtfsr() 304 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtfsr() 336 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtbsr() 365 ccw = tape_ccw_repeat(ccw, WRITETAPEMARK, mt_count); in tape_std_mtweof() 366 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtweof() 391 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtbsfm() 416 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtbsf() 446 ccw = tape_ccw_repeat(ccw, FORSPACEFILE, mt_count); in tape_std_mtfsfm() [all …]
|
H A D | raw3270.c | 164 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_alloc() 187 rq->ccw.cmd_code = 0; in raw3270_request_reset() 188 rq->ccw.count = 0; in raw3270_request_reset() 190 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_reset() 202 rq->ccw.cmd_code = cmd; in raw3270_request_set_cmd() 214 rq->ccw.count += size; in raw3270_request_add_data() 224 rq->ccw.cda = __pa(data); in raw3270_request_set_data() 225 rq->ccw.count = size; in raw3270_request_set_data() 234 rq->ccw.cda = __pa(ib->data); in raw3270_request_set_idal() 235 rq->ccw.count = ib->size; in raw3270_request_set_idal() [all …]
|
H A D | con3215.c | 147 struct ccw1 *ccw; in raw3215_mk_read_req() local 159 ccw = req->ccws; in raw3215_mk_read_req() 162 ccw->count = 160; in raw3215_mk_read_req() 175 struct ccw1 *ccw; in raw3215_mk_write_req() local 192 ccw = req->ccws; in raw3215_mk_write_req() 226 ccw->count = count; in raw3215_mk_write_req() 229 ccw++; in raw3215_mk_write_req() 236 if (ccw > req->ccws) in raw3215_mk_write_req() 239 ccw->flags = 0; in raw3215_mk_write_req() 240 ccw->cda = 0; in raw3215_mk_write_req() [all …]
|
/openbmc/linux/drivers/s390/virtio/ |
H A D | virtio_ccw.c | 490 if (!ccw) in virtio_ccw_del_vqs() 498 ccw_device_dma_free(vcdev->cdev, ccw, sizeof(*ccw)); in virtio_ccw_del_vqs() 666 if (!ccw) in virtio_ccw_find_vqs() 742 if (!ccw) in virtio_ccw_reset() 766 if (!ccw) in virtio_ccw_get_features() 829 if (!ccw) in virtio_ccw_finalize_features() 883 if (!ccw) in virtio_ccw_get_config() 923 if (!ccw) in virtio_ccw_set_config() 960 if (!ccw) in virtio_ccw_get_status() 987 if (!ccw) in virtio_ccw_set_status() [all …]
|
/openbmc/qemu/hw/s390x/ |
H A D | meson.build | 5 'ccw-device.c', 10 's390-ccw.c', 32 s390x_ss.add(when: 'CONFIG_TERMINAL3270', if_true: files('3270-ccw.c')) 36 virtio_ss.add(files('virtio-ccw.c')) 38 virtio_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-ccw-blk.c')) 41 virtio_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-ccw-net.c')) 42 virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-ccw-rng.c')) 46 virtio_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-ccw-9p.c')) 48 virtio_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi-ccw.c')) 58 if_true: [files('virtio-ccw-gpu.c'), pixman]) [all …]
|
H A D | virtio-ccw.c | 288 if (!ccw.cda) { in virtio_ccw_handle_set_vq() 337 check_len = !((ccw.flags & CCW_FLAG_SLI) && !(ccw.flags & CCW_FLAG_DC)); in virtio_ccw_cb() 375 if (!ccw.cda) { in virtio_ccw_cb() 422 if (!ccw.cda) { in virtio_ccw_cb() 467 if (!ccw.cda) { in virtio_ccw_cb() 485 if (!ccw.cda) { in virtio_ccw_cb() 506 if (!ccw.cda) { in virtio_ccw_cb() 526 if (!ccw.cda) { in virtio_ccw_cb() 572 if (!ccw.cda) { in virtio_ccw_cb() 596 if (!ccw.cda) { in virtio_ccw_cb() [all …]
|
H A D | 3270-ccw.c | 22 static int handle_payload_3270_read(EmulatedCcw3270Device *dev, CCW1 *ccw) in handle_payload_3270_read() argument 28 if (!ccw->cda) { in handle_payload_3270_read() 36 ccw_dev->sch->curr_status.scsw.count = ccw->count - len; in handle_payload_3270_read() 42 static int handle_payload_3270_write(EmulatedCcw3270Device *dev, CCW1 *ccw) in handle_payload_3270_write() argument 48 if (!ccw->cda) { in handle_payload_3270_write() 52 len = ck->write_payload_3270(dev, ccw->cmd_code); in handle_payload_3270_write() 58 ccw_dev->sch->curr_status.scsw.count = ccw->count - len; in handle_payload_3270_write() 62 static int emulated_ccw_3270_cb(SubchDev *sch, CCW1 ccw) in emulated_ccw_3270_cb() argument 67 switch (ccw.cmd_code) { in emulated_ccw_3270_cb() 72 rc = handle_payload_3270_write(dev, &ccw); in emulated_ccw_3270_cb() [all …]
|
/openbmc/linux/drivers/s390/block/ |
H A D | dasd_fba.c | 84 ccw->flags = 0; in define_extent() 85 ccw->count = 16; in define_extent() 104 ccw->flags = 0; in locate_record() 105 ccw->count = 8; in locate_record() 254 ccw->count = 0; in ccw_write_no_data() 521 ccw++; in dasd_fba_build_cp_regular() 538 ccw++; in dasd_fba_build_cp_regular() 582 ccw++; in dasd_fba_free_cp() 584 ccw++; in dasd_fba_free_cp() 590 ccw++; in dasd_fba_free_cp() [all …]
|
H A D | dasd_eckd.c | 1558 ccw++; in dasd_eckd_read_features() 1627 ccw++; in dasd_eckd_read_vol_info() 1811 ccw++; in dasd_eckd_read_ext_pool_info() 2269 ccw++; in dasd_eckd_analysis_ccw() 2654 ccw++; in dasd_eckd_build_check() 4912 ccw++; in dasd_eckd_free_cp() 5318 ccw++; in dasd_eckd_performance() 5467 ccw++; in dasd_symm_io() 5947 ccw++; in dasd_eckd_read_message_buffer() 6035 ccw++; in dasd_eckd_query_host_access() [all …]
|
H A D | dasd_3990_erp.c | 201 struct ccw1 *ccw; in dasd_3990_erp_DCTL() local 222 ccw->count = 4; in dasd_3990_erp_DCTL() 1710 ccw->count = 16; in dasd_3990_erp_action_1B_32() 1714 ccw++; in dasd_3990_erp_action_1B_32() 1718 ccw->count = 16; in dasd_3990_erp_action_1B_32() 1722 ccw++; in dasd_3990_erp_action_1B_32() 1724 ccw->cda = cpa; in dasd_3990_erp_action_1B_32() 1769 struct ccw1 *ccw; in dasd_3990_update_1B() local 1851 ccw->cda = cpa; in dasd_3990_update_1B() 2374 struct ccw1 *ccw; in dasd_3990_erp_add_erp() local [all …]
|
/openbmc/linux/drivers/s390/cio/ |
H A D | vfio_ccw_cp.c | 264 if (ccw->count == 0) in ccw_does_data_transfer() 268 if (ccw_is_noop(ccw)) in ccw_does_data_transfer() 280 if (ccw_is_read(ccw) || ccw_is_read_backward(ccw)) in ccw_does_data_transfer() 356 if (ccw_is_tic(ccw)) in ccwchain_cda_free() 391 if (!ccw_is_chain(ccw) && !is_tic_within_range(ccw, iova, cnt)) in ccwchain_calc_length() 394 ccw++; in ccwchain_calc_length() 569 if (ccw->count) in ccw_count_idaws() 570 bytes = ccw->count; in ccw_count_idaws() 586 iova = ccw->cda; in ccw_count_idaws() 668 ccw->cda = 0; in ccwchain_fetch_ccw() [all …]
|
/openbmc/linux/drivers/dma/ |
H A D | mxs-dma.c | 404 if (!mxs_chan->ccw) { in mxs_dma_alloc_chan_resources() 506 ccw = &mxs_chan->ccw[idx - 1]; in mxs_dma_prep_slave_sg() 507 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; in mxs_dma_prep_slave_sg() 516 ccw = &mxs_chan->ccw[idx++]; in mxs_dma_prep_slave_sg() 522 ccw->bits = 0; in mxs_dma_prep_slave_sg() 541 ccw = &mxs_chan->ccw[idx++]; in mxs_dma_prep_slave_sg() 543 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; in mxs_dma_prep_slave_sg() 547 ccw->bits = 0; in mxs_dma_prep_slave_sg() 605 struct mxs_dma_ccw *ccw = &mxs_chan->ccw[i]; in mxs_dma_prep_dma_cyclic() local 610 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * (i + 1); in mxs_dma_prep_dma_cyclic() [all …]
|
/openbmc/linux/arch/s390/include/asm/ |
H A D | idals.h | 88 if (ccw->flags & CCW_FLAG_IDA) in set_normalized_cda() 97 ccw->flags |= CCW_FLAG_IDA; in set_normalized_cda() 100 ccw->cda = (__u32)(unsigned long) vaddr; in set_normalized_cda() 108 clear_normalized_cda(struct ccw1 * ccw) in clear_normalized_cda() argument 110 if (ccw->flags & CCW_FLAG_IDA) { in clear_normalized_cda() 112 ccw->flags &= ~CCW_FLAG_IDA; in clear_normalized_cda() 114 ccw->cda = 0; in clear_normalized_cda() 196 ccw->cda = (u32)(addr_t) ib->data; in idal_buffer_set_cda() 197 ccw->flags |= CCW_FLAG_IDA; in idal_buffer_set_cda() 200 ccw->cda = (u32)(addr_t) ib->data[0]; in idal_buffer_set_cda() [all …]
|
/openbmc/linux/Documentation/driver-api/ |
H A D | s390-drivers.rst | 39 device on the ccw bus and are described below. 40 * I/O subchannels bound to the vfio-ccw driver. See 41 Documentation/arch/s390/vfio-ccw.rst. 47 The ccw bus 50 The ccw bus typically contains the majority of devices available to a 51 s390 system. Named after the channel command word (ccw), the basic 52 command structure used to address its devices, the ccw bus contains 56 subchannel directly, but only via the I/O device on the ccw bus, the ccw 70 ccw devices 75 provides the abstractions of ccw devices and ccw device drivers. [all …]
|
/openbmc/qemu/docs/devel/ |
H A D | s390-dasd-ipl.rst | 9 1. A READ IPL ccw is constructed in memory location ``0x0``. 10 This ccw, by definition, reads the IPL1 record which is located on the disk 11 at cylinder 0 track 0 record 1. Note that the chain flag is on in this ccw 12 so when it is complete another ccw will be fetched and executed from memory 17 information: ``[psw][read ccw][tic ccw]``. When the machine executes the Read 18 IPL ccw it read the 24-bytes of IPL1 to be read into memory starting at 20 ccw and a tic ccw is automatically executed because of the chain flag from 21 the original READ IPL ccw. The read ccw will read the IPL2 data into memory 29 The TIC ccw instruction at the end of the IPL1 channel program will begin 77 non-prefetch of ccw data. [all …]
|
/openbmc/qemu/target/s390x/kvm/ |
H A D | pv.h | 24 static S390CcwMachineState *ccw; in s390_is_pv() local 27 if (ccw) { in s390_is_pv() 28 return ccw->pv; in s390_is_pv() 37 ccw = S390_CCW_MACHINE(obj); in s390_is_pv() 38 return ccw->pv; in s390_is_pv()
|
/openbmc/linux/arch/s390/kernel/ |
H A D | ipl_vmparm.c | 16 if ((ipb->ccw.vm_flags & IPL_PB0_CCW_VM_FLAG_VP) && in ipl_block_get_ascii_vmparm() 17 (ipb->ccw.vm_parm_len > 0)) { in ipl_block_get_ascii_vmparm() 19 len = min_t(size_t, size - 1, ipb->ccw.vm_parm_len); in ipl_block_get_ascii_vmparm() 20 memcpy(dest, ipb->ccw.vm_parm, len); in ipl_block_get_ascii_vmparm()
|
/openbmc/linux/drivers/s390/net/ |
H A D | ctcm_mpc.c | 1696 ch->ccw[8].count = 0; in mpc_action_side_xid() 1697 ch->ccw[8].cda = 0x00; in mpc_action_side_xid() 1717 ch->ccw[10].count = XID2_LENGTH; in mpc_action_side_xid() 1727 ch->ccw[12].count = XID2_LENGTH; in mpc_action_side_xid() 1734 ch->ccw[9].cmd_code = CCW_CMD_READ; in mpc_action_side_xid() 1741 ch->ccw[10].count = XID2_LENGTH; in mpc_action_side_xid() 1755 ch->ccw[12].count = XID2_LENGTH; in mpc_action_side_xid() 1765 ch->ccw[13].count = 4; in mpc_action_side_xid() 1768 ch->ccw[14].flags = CCW_FLAG_SLI; in mpc_action_side_xid() 1769 ch->ccw[14].count = 0; in mpc_action_side_xid() [all …]
|
H A D | ctcm_fsms.c | 606 ch->ccw[1].count = 0; in ctcm_chx_start() 610 ch->ccw[1].count = 0; in ctcm_chx_start() 622 ch->ccw[0].count = 0; in ctcm_chx_start() 623 ch->ccw[0].cda = 0; in ctcm_chx_start() 625 ch->ccw[2].flags = CCW_FLAG_SLI; in ctcm_chx_start() 626 ch->ccw[2].count = 0; in ctcm_chx_start() 627 ch->ccw[2].cda = 0; in ctcm_chx_start() 628 memcpy(&ch->ccw[3], &ch->ccw[0], sizeof(struct ccw1) * 3); in ctcm_chx_start() 629 ch->ccw[4].cda = 0; in ctcm_chx_start() 1020 ch->ccw[4].count = skb->len; in ctcm_chx_txretry() [all …]
|
/openbmc/qemu/pc-bios/s390-ccw/ |
H A D | dasd-ipl.c | 33 static bool is_read_tic_ccw_chain(Ccw0 *ccw) in is_read_tic_ccw_chain() argument 35 Ccw0 *next_ccw = ccw + 1; in is_read_tic_ccw_chain() 37 return ((ccw->cmd_code == CCW_CMD_DASD_READ || in is_read_tic_ccw_chain() 38 ccw->cmd_code == CCW_CMD_DASD_READ_MT) && in is_read_tic_ccw_chain() 39 ccw->chain && next_ccw->cmd_code == CCW_CMD_TIC); in is_read_tic_ccw_chain() 137 Ccw0 *ccw = u32toptr(ipl2_addr); in check_ipl2() local 142 if (ccw->cmd_code == 0x00) { in check_ipl2()
|
/openbmc/linux/drivers/crypto/nx/ |
H A D | nx-common-powernv.c | 461 u32 ccw; in nx842_exec_icswx() local 482 ccw = 0; in nx842_exec_icswx() 483 ccw = SET_FIELD(CCW_CT, ccw, nx842_ct); in nx842_exec_icswx() 484 ccw = SET_FIELD(CCW_CI_842, ccw, 0); /* use 0 for hw auto-selection */ in nx842_exec_icswx() 485 ccw = SET_FIELD(CCW_FC_842, ccw, fc); in nx842_exec_icswx() 490 ret = icswx(cpu_to_be32(ccw), crb); in nx842_exec_icswx() 493 (unsigned int)ccw, in nx842_exec_icswx() 565 u32 ccw; in nx842_exec_vas() local 579 ccw = 0; in nx842_exec_vas() 580 ccw = SET_FIELD(CCW_FC_842, ccw, fc); in nx842_exec_vas() [all …]
|
/openbmc/qemu/docs/system/ |
H A D | target-s390x.rst | 8 ``s390-ccw-virtio``, is supported (with versioning for compatibility 20 z/VM; virtio devices (especially using virtio-ccw) make up the bulk of 21 the available devices. Passthrough of host devices via vfio-pci, vfio-ccw, 28 s390x/vfio-ccw
|
/openbmc/qemu/docs/system/s390x/ |
H A D | css.rst | 5 functionless) channel paths, and channel devices (virtio-ccw, 3270, and 6 devices passed via vfio-ccw). It supports multiple subchannel sets (MSS) and 40 -device virtio-net-ccw 51 -device virtio-rng-ccw,devno=fe.0.0042 61 -device virtio-gpu-ccw,devno=fe.2.1111 71 -device virtio-mouse-ccw,devno=2.0.2222 80 -device virtio-keyboard-ccw,devno=0.0.1234
|
/openbmc/linux/Documentation/arch/s390/ |
H A D | vfio-ccw.rst | 2 vfio-ccw: the basic infrastructure 43 Motivation of vfio-ccw 86 Back to vfio-ccw, in short: 99 Physical vfio ccw device and its child mdev 175 2. Create a mediated vfio ccw device. 190 vfio-ccw I/O region 246 vfio-ccw cmd region 285 vfio-ccw schib region 301 vfio-ccw crw region 321 vfio-ccw operation details [all …]
|