diff options
Diffstat (limited to 'sys/boot/ia64/ski/bootinfo.c')
-rw-r--r-- | sys/boot/ia64/ski/bootinfo.c | 15 |
1 files changed, 4 insertions, 11 deletions
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); |