Lines Matching full:disk
7 #include <disk.h>
23 static int efi_rdwr_sectors(struct disk *disk, void *buf,
26 struct efi_disk_private *priv = (struct efi_disk_private *)disk->private;
29 UINTN bytes = count * disk->sector_size;
32 status = write_blocks(bio, disk->disk_number, lba, bytes, buf);
34 status = read_blocks(bio, disk->disk_number, lba, bytes, buf);
41 return count << disk->sector_shift;
44 struct disk *efi_disk_init(void *private)
46 static struct disk disk;
64 * XXX Do we need to map this to a BIOS disk number?
66 disk.disk_number = bio->Media->MediaId;
68 disk.sector_size = bio->Media->BlockSize;
69 disk.rdwr_sectors = efi_rdwr_sectors;
70 disk.sector_shift = ilog2(disk.sector_size);
72 dprintf("sector_size=%d, disk_number=%d\n", disk.sector_size,
73 disk.disk_number);
77 disk.private = private;
80 disk.part_start = part_start;
81 disk.secpercyl = disk.h * disk.s;
84 disk.maxtransfer = MaxTransfer;
86 dprintf("disk %02x cdrom %d type %d sector %u/%u offset %llu limit %u\n",
87 media_id, cdrom, ebios, sector_size, disk.sector_shift,
88 part_start, disk.maxtransfer);
91 return &disk;