Searched refs:iplb (Results 1 – 7 of 7) sorted by relevance
/openbmc/qemu/target/s390x/ |
H A D | diag.c | 83 IplParameterBlock *iplb; in handle_diag_308() local 116 iplb = g_new0(IplParameterBlock, 1); in handle_diag_308() 118 cpu_physical_memory_read(addr, iplb, sizeof(iplb->len)); in handle_diag_308() 120 s390_cpu_pv_mem_read(cpu, 0, iplb, sizeof(iplb->len)); in handle_diag_308() 123 if (!iplb_valid_len(iplb)) { in handle_diag_308() 129 cpu_physical_memory_read(addr, iplb, be32_to_cpu(iplb->len)); in handle_diag_308() 131 s390_cpu_pv_mem_read(cpu, 0, iplb, be32_to_cpu(iplb->len)); in handle_diag_308() 134 valid = subcode == DIAG308_PV_SET ? iplb_valid_pv(iplb) : iplb_valid(iplb); in handle_diag_308() 136 if (subcode == DIAG308_SET && iplb->pbt == S390_IPL_TYPE_QEMU_SCSI) { in handle_diag_308() 137 s390_rebuild_iplb(iplb->devno, iplb); in handle_diag_308() [all …]
|
/openbmc/qemu/hw/s390x/ |
H A D | ipl.h | 27 void s390_rebuild_iplb(uint16_t index, IplParameterBlock *iplb); 28 void s390_ipl_update_diag308(IplParameterBlock *iplb); 59 IplParameterBlock iplb; member 85 QEMU_BUILD_BUG_MSG(offsetof(S390IPLState, iplb) & 3, "alignment of iplb wrong"); 114 static inline bool iplb_valid_len(IplParameterBlock *iplb) in iplb_valid_len() argument 116 return be32_to_cpu(iplb->len) <= sizeof(IplParameterBlock); in iplb_valid_len() 119 static inline bool ipl_valid_pv_components(IplParameterBlock *iplb) in ipl_valid_pv_components() argument 121 IPLBlockPV *ipib_pv = &iplb->pv; in ipl_valid_pv_components() 144 static inline bool ipl_valid_pv_header(IplParameterBlock *iplb) in ipl_valid_pv_header() argument 146 IPLBlockPV *ipib_pv = &iplb->pv; in ipl_valid_pv_header() [all …]
|
H A D | ipl.c | 100 VMSTATE_STRUCT(iplb, S390IPLState, 0, vmstate_iplb, IplParameterBlock), 317 switch (ipl->iplb.pbt) { in s390_ipl_set_boot_menu() 437 static bool s390_build_iplb(DeviceState *dev_st, IplParameterBlock *iplb) in s390_build_iplb() argument 459 iplb->len = cpu_to_be32(S390_IPLB_MIN_QEMU_SCSI_LEN); in s390_build_iplb() 460 iplb->blk0_len = in s390_build_iplb() 462 iplb->pbt = S390_IPL_TYPE_QEMU_SCSI; in s390_build_iplb() 463 iplb->scsi.lun = cpu_to_be32(sd->lun); in s390_build_iplb() 464 iplb->scsi.target = cpu_to_be16(sd->id); in s390_build_iplb() 465 iplb->scsi.channel = cpu_to_be16(sd->channel); in s390_build_iplb() 466 iplb->scsi.devno = cpu_to_be16(ccw_dev->sch->devno); in s390_build_iplb() [all …]
|
/openbmc/qemu/pc-bios/s390-ccw/ |
H A D | main.c | 25 IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE))); variable 54 lowcore->ptr_iplb = ptr2u32(&iplb); in write_iplb_location() 165 switch (iplb.pbt) { in menu_setup() 194 if (have_iplb && memcmp(iplb.loadparm, NO_LOADPARM, LOADPARM_LEN) != 0) { in boot_setup() 195 ebcdic_to_ascii((char *) iplb.loadparm, loadparm_str, LOADPARM_LEN); in boot_setup() 219 switch (iplb.pbt) { in find_boot_device() 222 debug_print_int("device no. ", iplb.ccw.devno); in find_boot_device() 223 blk_schid.ssid = iplb.ccw.ssid & 0x3; in find_boot_device() 225 found = find_subch(iplb.ccw.devno); in find_boot_device() 229 vdev->selected_scsi_device.channel = iplb.scsi.channel; in find_boot_device() [all …]
|
H A D | iplb.h | 23 extern IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE))); 30 static inline bool manage_iplb(IplParameterBlock *iplb, bool store) in manage_iplb() argument 32 register unsigned long addr asm("0") = (unsigned long) iplb; in manage_iplb() 44 static inline bool store_iplb(IplParameterBlock *iplb) in store_iplb() argument 46 return manage_iplb(iplb, true); in store_iplb() 49 static inline bool set_iplb(IplParameterBlock *iplb) in set_iplb() argument 51 return manage_iplb(iplb, false); in set_iplb() 68 memcpy(&iplb, next_iplb, sizeof(IplParameterBlock)); in load_next_iplb()
|
H A D | jump2ipl.c | 46 if (iplb.pbt == S390_IPL_TYPE_QEMU_SCSI) { in jump_to_IPL_code() 47 iplb.devno = qipl.index; in jump_to_IPL_code() 50 if (have_iplb && !set_iplb(&iplb)) { in jump_to_IPL_code()
|
H A D | netmain.c | 481 if (have_iplb || store_iplb(&iplb)) { in virtio_setup() 482 IPL_assert(iplb.pbt == S390_IPL_TYPE_CCW, "IPL_TYPE_CCW expected"); in virtio_setup() 483 dev_no = iplb.ccw.devno; in virtio_setup() 485 net_schid.ssid = iplb.ccw.ssid & 0x3; in virtio_setup()
|