Home
last modified time | relevance | path

Searched refs:iplb (Results 1 – 7 of 7) sorted by relevance

/openbmc/qemu/target/s390x/
H A Ddiag.c83 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 Dipl.h27 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 Dipl.c100 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 Dmain.c25 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 Diplb.h23 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 Djump2ipl.c46 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 Dnetmain.c481 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()