]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Use EFI page size constants instead of hardcoding 4096.
authorjhb <jhb@FreeBSD.org>
Tue, 29 Sep 2015 15:49:53 +0000 (15:49 +0000)
committerjhb <jhb@FreeBSD.org>
Tue, 29 Sep 2015 15:49:53 +0000 (15:49 +0000)
Reviewed by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D3692

sys/boot/efi/loader/copy.c

index 3d42d7ebb5481e44ad9603cdecd6161b0d12ce41..716e9ea328a2bdea1bb7e9c5254d6ba05764175e 100644 (file)
@@ -41,7 +41,7 @@ __FBSDID("$FreeBSD$");
 #define        EFI_STAGING_SIZE        48
 #endif
 
-#define        STAGE_PAGES     ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096)
+#define        STAGE_PAGES     EFI_SIZE_TO_PAGES((EFI_STAGING_SIZE) * 1024 * 1024)
 
 EFI_PHYSICAL_ADDRESS   staging, staging_end;
 int                    stage_offset_set = 0;
@@ -59,7 +59,7 @@ efi_copy_init(void)
                    (unsigned long)(status & EFI_ERROR_MASK));
                return (status);
        }
-       staging_end = staging + STAGE_PAGES * 4096;
+       staging_end = staging + STAGE_PAGES * EFI_PAGE_SIZE;
 
 #if defined(__aarch64__) || defined(__arm__)
        /*
@@ -132,7 +132,7 @@ efi_copy_finish(void)
 
        src = (uint64_t *)staging;
        dst = (uint64_t *)(staging - stage_offset);
-       last = (uint64_t *)(staging + STAGE_PAGES * EFI_PAGE_SIZE);
+       last = (uint64_t *)staging_end;
 
        while (src < last)
                *dst++ = *src++;