if (secsize & (secsize - 1) || !secsize
|| secsize > 1048576)
secsize = 256;
- for (dev->log_sector_size = 0;
- (1U << dev->log_sector_size) < secsize;
- dev->log_sector_size++);
- dev->log_sector_size++;
+ dev->log_sector_size = grub_log2ull (secsize) + 1;
}
else
dev->log_sector_size = 9;
if (m->block_size & (m->block_size - 1) || !m->block_size)
return grub_error (GRUB_ERR_IO, "invalid sector size %d",
m->block_size);
- for (disk->log_sector_size = 0;
- (1U << disk->log_sector_size) < m->block_size;
- disk->log_sector_size++);
+ disk->log_sector_size = grub_log2ull (m->block_size);
disk->data = d;
grub_dprintf ("efidisk", "opening %s succeeded\n", name);
newdev->hash = GRUB_MD_SHA512;
newdev->iv_hash = GRUB_MD_SHA256;
- for (newdev->log_sector_size = 0;
- (1U << newdev->log_sector_size) < grub_le_to_cpu32 (header.sector_size);
- newdev->log_sector_size++);
+ newdev->log_sector_size = grub_log2ull (grub_le_to_cpu32 (header.sector_size));
if (grub_le_to_cpu32 (header.version) >= 5)
{
&& !(drp->bytes_per_sector & (drp->bytes_per_sector - 1))
&& drp->bytes_per_sector >= 512
&& drp->bytes_per_sector <= 16384)
- {
- for (disk->log_sector_size = 0;
- (1 << disk->log_sector_size) < drp->bytes_per_sector;
- disk->log_sector_size++);
- }
+ disk->log_sector_size = grub_log2ull (drp->bytes_per_sector);
}
}
}
dev->num_blocks = GRUB_DISK_SIZE_UNKNOWN;
if (dev->block_size != 0)
- {
- for (dev->log_sector_size = 0;
- (1U << dev->log_sector_size) < dev->block_size;
- dev->log_sector_size++);
- }
+ dev->log_sector_size = grub_log2ull (dev->block_size);
else
dev->log_sector_size = 9;
return err;
}
if (block_size != 0)
- {
- for (disk->log_sector_size = 0;
- (1U << disk->log_sector_size) < block_size;
- disk->log_sector_size++);
- }
+ disk->log_sector_size = grub_log2ull (block_size);
else
disk->log_sector_size = 9;
}
grub_free (scsi);
return grub_errno;
}
- for (disk->log_sector_size = 0;
- (1U << disk->log_sector_size) < scsi->blocksize;
- disk->log_sector_size++);
+ disk->log_sector_size = grub_log2ull (scsi->blocksize);
grub_dprintf ("scsi", "last_block=%" PRIuGRUB_UINT64_T ", blocksize=%u\n",
scsi->last_block, scsi->blocksize);
if (d->block_size == 0)
return grub_error (GRUB_ERR_IO, "no block size");
- for (disk->log_sector_size = 0;
- (1U << disk->log_sector_size) < d->block_size;
- disk->log_sector_size++);
+ disk->log_sector_size = grub_log2ull (d->block_size);
grub_dprintf ("ubootdisk", "(%s) blocksize=%d, log_sector_size=%d\n",
disk->name, d->block_size, disk->log_sector_size);
|| secsize > GRUB_XEN_PAGE_SIZE)
return grub_error (GRUB_ERR_IO, "unsupported sector size %d", secsize);
- for (disk->log_sector_size = 0;
- (1U << disk->log_sector_size) < secsize; disk->log_sector_size++);
-
+ disk->log_sector_size = grub_log2ull (secsize);
disk->total_sectors >>= disk->log_sector_size - 9;
return GRUB_ERR_NONE;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
sector_size = label.d_secsize;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
return -1;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
if (sector_size & (sector_size - 1) || !sector_size)
return -1;
- for (log_sector_size = 0;
- (1 << log_sector_size) < sector_size;
- log_sector_size++);
+ log_sector_size = grub_log2ull (sector_size);
if (log_secsize)
*log_secsize = log_sector_size;
size = g.Cylinders.QuadPart;
size *= g.TracksPerCylinder * g.SectorsPerTrack * g.BytesPerSector;
- for (log_sector_size = 0;
- (1 << log_sector_size) < g.BytesPerSector;
- log_sector_size++);
+ log_sector_size = grub_log2ull (g.BytesPerSector);
}
else
{