From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1nzLLN-000267-0F for mharc-grub-devel@gnu.org; Thu, 09 Jun 2022 12:49:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48524) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nzLLE-0001vJ-4B for grub-devel@gnu.org; Thu, 09 Jun 2022 12:49:04 -0400 Received: from mail-ua1-x936.google.com ([2607:f8b0:4864:20::936]:42831) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nzLLA-0006bQ-FS for grub-devel@gnu.org; Thu, 09 Jun 2022 12:49:02 -0400 Received: by mail-ua1-x936.google.com with SMTP id n11so8184301uaq.9 for ; Thu, 09 Jun 2022 09:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficientek-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ukhrPqHaKXMcvmuwcKl0WjeS0vksZqMLGqpvrhk3d0E=; b=42jOKruoYy9DdRFmruY64hXWIL9ZVYshemrIPk6wX8yCfPaPrSMwljqAOlXljZxbXP QleD24MurccXiS1ORmJhK3fMFdk96hjvb4mhysKpv2wbmhyzHCb2R0PVakVtCIpjxp0+ zh/Poxqb+f9WRy/LqfBIzP8tXvOibFIIKoDymUg/eWoJ4fjAncZWNqNKWk/322byiPDy XAaO++7Z1Y/eExlVieJw21yt5JMP4mXL28sXwPSdFLcytdhbROS5RhsxIOJSqzxBX8tR hInDWcIcC2CDdMOe7fJy7Cu8Cmec55PszkR2kOrNIRS37zrD1kghijBk7ACABUpgXAve 2Nbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ukhrPqHaKXMcvmuwcKl0WjeS0vksZqMLGqpvrhk3d0E=; b=pCRvUfIwKnlXN8NAz6zWbB2OJkeIuWf+VswbD7X5T4RETmtjAhCtR7jQ+ZcrFpJ21N Td8aHZA6k2IDyA+1rQkOTSHT3llWNBsWAw+PBVaLJp2M2M+DvN0EXwwb0rMfYVSofYN5 V5GIwbT1uhOeISyIdJQ7yE0BBusYbLSGUP97ftZBRCnSl172Y5YmGdZlHurU3eDOuxFY fE1IG4rHerSVLaO8LeOtNM26HvdOQripLDZu4xTiT5AdnfGzKrY2vKixKF1YLmARfCFp f/aFgcGB8oLuLMPUWdOBWZoYP+1ibVy6rNsbQ/oq0zNF2x8zJH6gzg3rs1LcBhSG4Tag 7WBQ== X-Gm-Message-State: AOAM530qXq8ySzo73GluqYIpIBmV196M9aPxFApKj6vluAQ5Ys4aNssl i31w07IPIAsPwiN+ADvk0hK0ULJIhXUTNw== X-Google-Smtp-Source: ABdhPJxQFQfUuEXmpxArK79quoiDYSVj0KAAsuXk5a9V0XQzAbMtsZwuir5Q0/LTk5cziZhGmAqrrg== X-Received: by 2002:a9f:354f:0:b0:368:c2c0:f2b5 with SMTP id o73-20020a9f354f000000b00368c2c0f2b5mr39753938uao.96.1654793338582; Thu, 09 Jun 2022 09:48:58 -0700 (PDT) Received: from localhost.localdomain ([37.218.244.249]) by smtp.gmail.com with ESMTPSA id e11-20020ab0356b000000b003626f894de8sm3531341uaa.22.2022.06.09.09.48.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jun 2022 09:48:57 -0700 (PDT) From: Glenn Washburn To: grub-devel@gnu.org, Daniel Kiper Cc: Glenn Washburn Subject: [PATCH] misc: Replace code that calculates the log of sector size with grub_log2ull Date: Thu, 9 Jun 2022 11:48:29 -0500 Message-Id: <20220609164829.845340-1-development@efficientek.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::936; envelope-from=development@efficientek.com; helo=mail-ua1-x936.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jun 2022 16:49:04 -0000 Signed-off-by: Glenn Washburn --- grub-core/disk/ata.c | 5 +---- grub-core/disk/efi/efidisk.c | 4 +--- grub-core/disk/geli.c | 4 +--- grub-core/disk/i386/pc/biosdisk.c | 6 +----- grub-core/disk/ieee1275/obdisk.c | 6 +----- grub-core/disk/ieee1275/ofdisk.c | 6 +----- grub-core/disk/scsi.c | 4 +--- grub-core/disk/uboot/ubootdisk.c | 4 +--- grub-core/disk/xen/xendisk.c | 4 +--- grub-core/osdep/apple/hostdisk.c | 4 +--- grub-core/osdep/aros/hostdisk.c | 4 +--- grub-core/osdep/bsd/hostdisk.c | 4 +--- grub-core/osdep/freebsd/hostdisk.c | 4 +--- grub-core/osdep/hurd/hostdisk.c | 4 +--- grub-core/osdep/linux/hostdisk.c | 4 +--- grub-core/osdep/sun/hostdisk.c | 4 +--- grub-core/osdep/windows/hostdisk.c | 4 +--- 17 files changed, 17 insertions(+), 58 deletions(-) diff --git a/grub-core/disk/ata.c b/grub-core/disk/ata.c index 8a96b854b..7b6ac7bfc 100644 --- a/grub-core/disk/ata.c +++ b/grub-core/disk/ata.c @@ -181,10 +181,7 @@ grub_ata_identify (struct grub_ata *dev) 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; diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c index 8ada2c45a..d7540040e 100644 --- a/grub-core/disk/efi/efidisk.c +++ b/grub-core/disk/efi/efidisk.c @@ -523,9 +523,7 @@ grub_efidisk_open (const char *name, struct grub_disk *disk) 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); diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c index 91eb10122..b47cf3d91 100644 --- a/grub-core/disk/geli.c +++ b/grub-core/disk/geli.c @@ -376,9 +376,7 @@ geli_scan (grub_disk_t disk, grub_cryptomount_args_t cargs) 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) { diff --git a/grub-core/disk/i386/pc/biosdisk.c b/grub-core/disk/i386/pc/biosdisk.c index 49e4e8a14..f9362d17c 100644 --- a/grub-core/disk/i386/pc/biosdisk.c +++ b/grub-core/disk/i386/pc/biosdisk.c @@ -388,11 +388,7 @@ grub_biosdisk_open (const char *name, grub_disk_t disk) && !(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); } } } diff --git a/grub-core/disk/ieee1275/obdisk.c b/grub-core/disk/ieee1275/obdisk.c index ec413c3fd..cd923b90f 100644 --- a/grub-core/disk/ieee1275/obdisk.c +++ b/grub-core/disk/ieee1275/obdisk.c @@ -1023,11 +1023,7 @@ grub_obdisk_open (const char *name, grub_disk_t disk) 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; diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c index 9b14d9720..c6cba0c8a 100644 --- a/grub-core/disk/ieee1275/ofdisk.c +++ b/grub-core/disk/ieee1275/ofdisk.c @@ -516,11 +516,7 @@ grub_ofdisk_open (const char *name, grub_disk_t disk) 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; } diff --git a/grub-core/disk/scsi.c b/grub-core/disk/scsi.c index 2a25b4b42..1c3865fd2 100644 --- a/grub-core/disk/scsi.c +++ b/grub-core/disk/scsi.c @@ -620,9 +620,7 @@ grub_scsi_open (const char *name, grub_disk_t disk) 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); diff --git a/grub-core/disk/uboot/ubootdisk.c b/grub-core/disk/uboot/ubootdisk.c index 2d115a94d..0e918d4d1 100644 --- a/grub-core/disk/uboot/ubootdisk.c +++ b/grub-core/disk/uboot/ubootdisk.c @@ -186,9 +186,7 @@ uboot_disk_open (const char *name, struct grub_disk *disk) 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); diff --git a/grub-core/disk/xen/xendisk.c b/grub-core/disk/xen/xendisk.c index d6612eebd..496f1ea7b 100644 --- a/grub-core/disk/xen/xendisk.c +++ b/grub-core/disk/xen/xendisk.c @@ -113,9 +113,7 @@ grub_virtdisk_open (const char *name, grub_disk_t disk) || 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; diff --git a/grub-core/osdep/apple/hostdisk.c b/grub-core/osdep/apple/hostdisk.c index 8d9b4b402..638e8ba86 100644 --- a/grub-core/osdep/apple/hostdisk.c +++ b/grub-core/osdep/apple/hostdisk.c @@ -58,9 +58,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec 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; diff --git a/grub-core/osdep/aros/hostdisk.c b/grub-core/osdep/aros/hostdisk.c index 6f83b3a89..08723bd45 100644 --- a/grub-core/osdep/aros/hostdisk.c +++ b/grub-core/osdep/aros/hostdisk.c @@ -116,9 +116,7 @@ grub_util_get_fd_size_volume (grub_util_fd_t fd __attribute__ ((unused)), 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; diff --git a/grub-core/osdep/bsd/hostdisk.c b/grub-core/osdep/bsd/hostdisk.c index 5912d14bf..891109462 100644 --- a/grub-core/osdep/bsd/hostdisk.c +++ b/grub-core/osdep/bsd/hostdisk.c @@ -114,9 +114,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec 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; diff --git a/grub-core/osdep/freebsd/hostdisk.c b/grub-core/osdep/freebsd/hostdisk.c index 6145d0735..8bfe7d488 100644 --- a/grub-core/osdep/freebsd/hostdisk.c +++ b/grub-core/osdep/freebsd/hostdisk.c @@ -61,9 +61,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec 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; diff --git a/grub-core/osdep/hurd/hostdisk.c b/grub-core/osdep/hurd/hostdisk.c index 8196d8c0e..17463950b 100644 --- a/grub-core/osdep/hurd/hostdisk.c +++ b/grub-core/osdep/hurd/hostdisk.c @@ -147,9 +147,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec 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; diff --git a/grub-core/osdep/linux/hostdisk.c b/grub-core/osdep/linux/hostdisk.c index d3326d095..07058f63a 100644 --- a/grub-core/osdep/linux/hostdisk.c +++ b/grub-core/osdep/linux/hostdisk.c @@ -83,9 +83,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec 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; diff --git a/grub-core/osdep/sun/hostdisk.c b/grub-core/osdep/sun/hostdisk.c index dab96dcff..a6d4c733e 100644 --- a/grub-core/osdep/sun/hostdisk.c +++ b/grub-core/osdep/sun/hostdisk.c @@ -57,9 +57,7 @@ grub_util_get_fd_size_os (grub_util_fd_t fd, const char *name, unsigned *log_sec 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; diff --git a/grub-core/osdep/windows/hostdisk.c b/grub-core/osdep/windows/hostdisk.c index 428d81466..aaa6e2f8e 100644 --- a/grub-core/osdep/windows/hostdisk.c +++ b/grub-core/osdep/windows/hostdisk.c @@ -185,9 +185,7 @@ grub_util_get_fd_size (grub_util_fd_t hd, const char *name_in, 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 { -- 2.34.1