Lines Matching refs:bdev

67 	struct efi_block_dev *bdev;  in efi_block_parse()  local
100 TAILQ_FOREACH(bdev, &efi_block_devs, entries) { in efi_block_parse()
101 if (bdev->index == dev) { in efi_block_parse()
102 TAILQ_FOREACH(bpart, &bdev->partitions, entries) { in efi_block_parse()
125 efi_block_do_read_blockio(struct efi_block_dev *bdev, UINT64 off, void *buf, in efi_block_do_read_blockio() argument
134 lba_start = off / bdev->bio->Media->BlockSize; in efi_block_do_read_blockio()
135 lba_end = (off + bufsize - 1) / bdev->bio->Media->BlockSize; in efi_block_do_read_blockio()
136 blkbuf_offset = off % bdev->bio->Media->BlockSize; in efi_block_do_read_blockio()
137 blkbuf_size = (lba_end - lba_start + 1) * bdev->bio->Media->BlockSize; in efi_block_do_read_blockio()
140 if (bdev->bio->Media->IoAlign > 1) { in efi_block_do_read_blockio()
141 alloc_size = (blkbuf_size + bdev->bio->Media->IoAlign - 1) / in efi_block_do_read_blockio()
142 bdev->bio->Media->IoAlign * in efi_block_do_read_blockio()
143 bdev->bio->Media->IoAlign; in efi_block_do_read_blockio()
151 if (bdev->bio->Media->IoAlign > 1) { in efi_block_do_read_blockio()
153 bdev->bio->Media->IoAlign); in efi_block_do_read_blockio()
158 status = uefi_call_wrapper(bdev->bio->ReadBlocks, 5, bdev->bio, in efi_block_do_read_blockio()
159 bdev->media_id, lba_start, blkbuf_size, blkbuf_start); in efi_block_do_read_blockio()
172 efi_block_do_read_diskio(struct efi_block_dev *bdev, UINT64 off, void *buf, in efi_block_do_read_diskio() argument
175 return uefi_call_wrapper(bdev->dio->ReadDisk, 5, bdev->dio, in efi_block_do_read_diskio()
176 bdev->media_id, off, bufsize, buf); in efi_block_do_read_diskio()
180 efi_block_do_read(struct efi_block_dev *bdev, UINT64 off, void *buf, in efi_block_do_read() argument
187 if (bdev->dio != NULL) { in efi_block_do_read()
188 return efi_block_do_read_diskio(bdev, off, buf, bufsize); in efi_block_do_read()
190 return efi_block_do_read_blockio(bdev, off, buf, bufsize); in efi_block_do_read()
195 efi_block_readahead(struct efi_block_dev *bdev, UINT64 off, void *buf, in efi_block_readahead() argument
208 if (bdev->media_id != efi_ra_media_id || in efi_block_readahead()
211 mediasize = bdev->bio->Media->BlockSize * in efi_block_readahead()
212 (bdev->bio->Media->LastBlock + 1); in efi_block_readahead()
217 status = efi_block_do_read(bdev, off, efi_ra_buffer, len); in efi_block_readahead()
224 efi_ra_media_id = bdev->media_id; in efi_block_readahead()
232 efi_block_read(struct efi_block_dev *bdev, UINT64 off, void *buf, in efi_block_read() argument
236 return efi_block_readahead(bdev, off, buf, bufsize); in efi_block_read()
239 return efi_block_do_read(bdev, off, buf, bufsize); in efi_block_read()
243 efi_block_find_partitions_cd9660(struct efi_block_dev *bdev) in efi_block_find_partitions_cd9660() argument
251 status = efi_block_read(bdev, in efi_block_find_partitions_cd9660()
274 bpart->bdev = bdev; in efi_block_find_partitions_cd9660()
276 TAILQ_INSERT_TAIL(&bdev->partitions, bpart, entries); in efi_block_find_partitions_cd9660()
285 efi_block_find_partitions_disklabel(struct efi_block_dev *bdev, in efi_block_find_partitions_disklabel() argument
295 status = efi_block_read(bdev, in efi_block_find_partitions_disklabel()
296 ((EFI_LBA)start + LABELSECTOR) * bdev->bio->Media->BlockSize, buf, sizeof(buf)); in efi_block_find_partitions_disklabel()
322 bpart->bdev = bdev; in efi_block_find_partitions_disklabel()
327 TAILQ_INSERT_TAIL(&bdev->partitions, bpart, entries); in efi_block_find_partitions_disklabel()
334 efi_block_find_partitions_mbr(struct efi_block_dev *bdev) in efi_block_find_partitions_mbr() argument
341 status = efi_block_read(bdev, 0, &mbr, sizeof(mbr)); in efi_block_find_partitions_mbr()
353 efi_block_find_partitions_disklabel(bdev, &mbr, in efi_block_find_partitions_mbr()
377 efi_block_find_partitions_gpt_entry(struct efi_block_dev *bdev, in efi_block_find_partitions_gpt_entry() argument
397 bpart->bdev = bdev; in efi_block_find_partitions_gpt_entry()
406 TAILQ_INSERT_TAIL(&bdev->partitions, bpart, entries); in efi_block_find_partitions_gpt_entry()
412 efi_block_find_partitions_gpt(struct efi_block_dev *bdev) in efi_block_find_partitions_gpt() argument
421 status = efi_block_read(bdev, (EFI_LBA)GPT_HDR_BLKNO * bdev->bio->Media->BlockSize, &hdr, in efi_block_find_partitions_gpt()
437 status = efi_block_read(bdev, in efi_block_find_partitions_gpt()
438 le64toh(hdr.hdr_lba_table) * bdev->bio->Media->BlockSize, buf, sz); in efi_block_find_partitions_gpt()
447 efi_block_find_partitions_gpt_entry(bdev, &hdr, &ent, entry); in efi_block_find_partitions_gpt()
456 efi_block_find_partitions(struct efi_block_dev *bdev) in efi_block_find_partitions() argument
460 error = efi_block_find_partitions_gpt(bdev); in efi_block_find_partitions()
462 error = efi_block_find_partitions_mbr(bdev); in efi_block_find_partitions()
464 error = efi_block_find_partitions_cd9660(bdev); in efi_block_find_partitions()
472 struct efi_block_dev *bdev; in efi_block_probe() local
511 bdev = alloc(sizeof(*bdev)); in efi_block_probe()
512 bdev->index = devindex++; in efi_block_probe()
513 bdev->bio = bio; in efi_block_probe()
514 bdev->dio = dio; in efi_block_probe()
515 bdev->media_id = bio->Media->MediaId; in efi_block_probe()
516 bdev->path = DevicePathFromHandle(efi_block[n]); in efi_block_probe()
517 TAILQ_INIT(&bdev->partitions); in efi_block_probe()
518 TAILQ_INSERT_TAIL(&efi_block_devs, bdev, entries); in efi_block_probe()
520 efi_block_find_partitions(bdev); in efi_block_probe()
523 TAILQ_FOREACH(bpart, &bdev->partitions, entries) { in efi_block_probe()
538 snprintf(devname, sizeof(devname), "hd%u%c", bdev->index, bpart->index + 'a'); in efi_block_probe()
564 struct efi_block_dev *bdev; in efi_block_show() local
569 TAILQ_FOREACH(bdev, &efi_block_devs, entries) { in efi_block_show()
570 printf("hd%u (", bdev->index); in efi_block_show()
573 size = ((bdev->bio->Media->LastBlock + 1) * bdev->bio->Media->BlockSize) / (1024 * 1024); in efi_block_show()
580 path = DevicePathToStr(bdev->path); in efi_block_show()
586 TAILQ_FOREACH(bpart, &bdev->partitions, entries) { in efi_block_show()
589 printf(" hd%u%c (", bdev->index, bpart->index + 'a'); in efi_block_show()
602 printf(" hd%u%c ", bdev->index, bpart->index + 'a'); in efi_block_show()
613 …size = (le64toh(bpart->gpt.ent.ent_lba_end) - le64toh(bpart->gpt.ent.ent_lba_start)) * bdev->bio->… in efi_block_show()
623 printf(" hd%u%c %s\n", bdev->index, bpart->index + 'a', fstypenames[FS_ISO9660]); in efi_block_show()
684 struct efi_block_dev *bdev = bpart->bdev; in efi_block_strategy() local
695 off = ((EFI_LBA)dblk + bpart->disklabel.part.p_offset) * bdev->bio->Media->BlockSize; in efi_block_strategy()
698 off = ((EFI_LBA)dblk + le64toh(bpart->gpt.ent.ent_lba_start)) * bdev->bio->Media->BlockSize; in efi_block_strategy()
707 status = efi_block_read(bpart->bdev, off, buf, size); in efi_block_strategy()
726 struct efi_block_dev *bdev = bpart->bdev; in efi_block_ioctl() local
731 *(u_int *)data = bdev->bio->Media->BlockSize; in efi_block_ioctl()