From a46312efdc71dcf1aac1dcda3dd813b6c6a9b237 Mon Sep 17 00:00:00 2001 From: marcel Date: Thu, 20 Feb 2003 06:47:54 +0000 Subject: Simplify page alignment. --- sys/boot/efi/libefi/bootinfo.c | 15 ++++----------- sys/boot/ia64/common/bootinfo.c | 15 ++++----------- sys/boot/ia64/libski/bootinfo.c | 15 ++++----------- sys/boot/ia64/ski/bootinfo.c | 15 ++++----------- 4 files changed, 16 insertions(+), 44 deletions(-) diff --git a/sys/boot/efi/libefi/bootinfo.c b/sys/boot/efi/libefi/bootinfo.c index def4bfb..076aed1 100644 --- a/sys/boot/efi/libefi/bootinfo.c +++ b/sys/boot/efi/libefi/bootinfo.c @@ -253,7 +253,6 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, UINTN *mapkey, struct efi_devdesc *rootdev; struct preloaded_file *xp; vm_offset_t addr, bootinfo_addr; - u_int pad; vm_offset_t ssym, esym; struct file_metadata *md; EFI_STATUS status; @@ -311,23 +310,17 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, UINTN *mapkey, if (addr < (xp->f_addr + xp->f_size)) addr = xp->f_addr + xp->f_size; } + /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; /* copy our environment */ bi->bi_envp = addr; addr = bi_copyenv(addr); /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; + /* copy module list and metadata */ bi->bi_modulep = addr; addr = bi_copymodules(addr); diff --git a/sys/boot/ia64/common/bootinfo.c b/sys/boot/ia64/common/bootinfo.c index def4bfb..076aed1 100644 --- a/sys/boot/ia64/common/bootinfo.c +++ b/sys/boot/ia64/common/bootinfo.c @@ -253,7 +253,6 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, UINTN *mapkey, struct efi_devdesc *rootdev; struct preloaded_file *xp; vm_offset_t addr, bootinfo_addr; - u_int pad; vm_offset_t ssym, esym; struct file_metadata *md; EFI_STATUS status; @@ -311,23 +310,17 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, UINTN *mapkey, if (addr < (xp->f_addr + xp->f_size)) addr = xp->f_addr + xp->f_size; } + /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; /* copy our environment */ bi->bi_envp = addr; addr = bi_copyenv(addr); /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; + /* copy module list and metadata */ bi->bi_modulep = addr; addr = bi_copymodules(addr); diff --git a/sys/boot/ia64/libski/bootinfo.c b/sys/boot/ia64/libski/bootinfo.c index 91f691a..404de97 100644 --- a/sys/boot/ia64/libski/bootinfo.c +++ b/sys/boot/ia64/libski/bootinfo.c @@ -245,7 +245,6 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, char *args) struct ski_devdesc *rootdev; struct preloaded_file *xp; vm_offset_t addr, bootinfo_addr; - u_int pad; char *kernelname; vm_offset_t ssym, esym; struct file_metadata *md; @@ -294,23 +293,17 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, char *args) if (addr < (xp->f_addr + xp->f_size)) addr = xp->f_addr + xp->f_size; } + /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; /* copy our environment */ bi->bi_envp = addr; addr = bi_copyenv(addr); /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; + /* copy module list and metadata */ bi->bi_modulep = addr; addr = bi_copymodules(addr); diff --git a/sys/boot/ia64/ski/bootinfo.c b/sys/boot/ia64/ski/bootinfo.c index 91f691a..404de97 100644 --- a/sys/boot/ia64/ski/bootinfo.c +++ b/sys/boot/ia64/ski/bootinfo.c @@ -245,7 +245,6 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, char *args) struct ski_devdesc *rootdev; struct preloaded_file *xp; vm_offset_t addr, bootinfo_addr; - u_int pad; char *kernelname; vm_offset_t ssym, esym; struct file_metadata *md; @@ -294,23 +293,17 @@ bi_load(struct bootinfo *bi, struct preloaded_file *fp, char *args) if (addr < (xp->f_addr + xp->f_size)) addr = xp->f_addr + xp->f_size; } + /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; /* copy our environment */ bi->bi_envp = addr; addr = bi_copyenv(addr); /* pad to a page boundary */ - pad = (u_int)addr & PAGE_MASK; - if (pad != 0) { - pad = PAGE_SIZE - pad; - addr += pad; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; + /* copy module list and metadata */ bi->bi_modulep = addr; addr = bi_copymodules(addr); -- cgit v1.1