blkio
nblks * blkio->Media->BlockSize, buf);
if (blkio->Media->ReadOnly)
status = blkio->WriteBlocks(blkio, blkio->Media->MediaId, blk,
nblks * blkio->Media->BlockSize, buf);
EFI_BLOCK_IO *blkio;
blkio = pd->pd_blkio;
if (blkio == NULL)
disk_blocks /= blkio->Media->BlockSize;
disk_blocks = blkio->Media->LastBlock + 1 - d_offset;
if ((off + size) / blkio->Media->BlockSize > d_offset + disk_blocks) {
readstart = off / blkio->Media->BlockSize;
size = size * blkio->Media->BlockSize;
if ((size % blkio->Media->BlockSize == 0) &&
(off % blkio->Media->BlockSize == 0))
ioalign = blkio->Media->IoAlign;
bio_size -= blkio->Media->BlockSize) {
blk = off / blkio->Media->BlockSize;
blkoff = off % blkio->Media->BlockSize;
if (x < blkio->Media->BlockSize)
x /= blkio->Media->BlockSize;
blksz = blkio->Media->BlockSize * x - blkoff;
blksz = blkio->Media->BlockSize - blkoff;
} else if (size < blkio->Media->BlockSize) {
blksz = blkio->Media->BlockSize * x;
efipart_ignore_device(EFI_HANDLE h, EFI_BLOCK_IO *blkio,
if (blkio->Media->BlockSize < 512 ||
blkio->Media->BlockSize > (1 << 16) ||
!powerof2(blkio->Media->BlockSize)) {
if (blkio->Media->IoAlign > 1 &&
!powerof2(blkio->Media->IoAlign)) {
if (blkio->Media->MediaPresent)
EFI_BLOCK_IO *blkio;
(void **)&blkio);
if (efipart_ignore_device(hin[i], blkio, devpath))
pd->pd_blkio = blkio;
EFI_BLOCK_IO *blkio;
(void **)&blkio);
blkio->Media->LastBlock == 0? 0:
(unsigned long long) (blkio->Media->LastBlock + 1));
if (blkio->Media->LastBlock != 0) {
printf(" X %u", blkio->Media->BlockSize);
if (blkio->Media->MediaPresent) {
if (blkio->Media->RemovableMedia)
if (!blkio->Media->MediaPresent)
pd->pd_blkio = blkio;
ret = disk_open(&pd_dev, blkio->Media->BlockSize *
(blkio->Media->LastBlock + 1),
blkio->Media->BlockSize);
EFI_BLOCK_IO *blkio;
blkio = pd->pd_blkio;
if (!blkio->Media->MediaPresent)
blkio->Media->BlockSize * (blkio->Media->LastBlock + 1),
blkio->Media->BlockSize);
EFI_BLOCK_IO *blkio = pd->pd_blkio;
if (blkio == NULL)
if (blk < 0 || blk > blkio->Media->LastBlock)
if ((blk + nblks - 1) > blkio->Media->LastBlock)
status = blkio->ReadBlocks(blkio, blkio->Media->MediaId, blk,
blkio(iblock, ibuff, write);
blkio(bno, ibuff, read);
blkio(oblock, crbuf, write);
blkio(oblock, obuff, write);
static void blkio(int, char *, ssize_t (*)());
void blkio(short, unsigned char *, int (*)());
blkio(iblock2, ibuff2, write);
blkio(bno, ibuff2, read);
blkio(iblock, ibuff, write);
blkio(bno, ibuff, read);
blkio(oblock, crbuf, write);
blkio(oblock, obuff, write);
blkio(iblock, ibuff, write);
blkio(iblock2, ibuff2, write);
blkio(oblock, crbuf, write);
blkio(oblock, obuff, write);
blkio(bno, ibuff, read);