From: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> By replacing all the explicit align opertion with marco _ALIGN*, the code logic could be simplified. Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> --- kexec/arch/ia64/crashdump-ia64.c | 6 +++--- kexec/arch/ia64/kexec-elf-ia64.c | 2 +- kexec/arch/ia64/kexec-ia64.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kexec/arch/ia64/crashdump-ia64.c b/kexec/arch/ia64/crashdump-ia64.c index 782f49e..726c9f4 100644 --- a/kexec/arch/ia64/crashdump-ia64.c +++ b/kexec/arch/ia64/crashdump-ia64.c @@ -83,7 +83,7 @@ static void add_loaded_segments_info(struct mem_ehdr *ehdr) } loaded_segments[loaded_segments_num].start = - phdr->p_paddr & ~(ELF_PAGE_SIZE-1); + _ALIGN_DOWN(phdr->p_paddr, ELF_PAGE_SIZE); loaded_segments[loaded_segments_num].end = loaded_segments[loaded_segments_num].start; @@ -97,8 +97,8 @@ static void add_loaded_segments_info(struct mem_ehdr *ehdr) if (phdr->p_type != PT_LOAD) break; loaded_segments[loaded_segments_num].end = - (phdr->p_paddr + phdr->p_memsz + - ELF_PAGE_SIZE - 1) & ~(ELF_PAGE_SIZE - 1); + _ALIGN(phdr->p_paddr + phdr->p_memsz, + ELF_PAGE_SIZE); i++; } loaded_segments_num++; diff --git a/kexec/arch/ia64/kexec-elf-ia64.c b/kexec/arch/ia64/kexec-elf-ia64.c index 8da061e..7303c03 100644 --- a/kexec/arch/ia64/kexec-elf-ia64.c +++ b/kexec/arch/ia64/kexec-elf-ia64.c @@ -264,7 +264,7 @@ int elf_ia64_load(int argc, char **argv, const char *buf, off_t len, strcat(cmdline, buf); } - command_line_len = (command_line_len + 15)&(~15); + command_line_len = _ALIGN(command_line_len, 16); command_line_base = add_buffer(info, cmdline, command_line_len, command_line_len, getpagesize(), 0UL, diff --git a/kexec/arch/ia64/kexec-ia64.c b/kexec/arch/ia64/kexec-ia64.c index aa510a9..418d997 100644 --- a/kexec/arch/ia64/kexec-ia64.c +++ b/kexec/arch/ia64/kexec-ia64.c @@ -50,8 +50,8 @@ static int split_range(int range, unsigned long start, unsigned long end) unsigned int type = memory_range[range - 1].type; int i; //align end and start to page size of EFI - start = start & ~((1UL<<12) - 1); - end = (end + (1UL<<12) - 1)& ~((1UL<<12) - 1); + start = _ALIGN_DOWN(start, 1UL<<12); + end = _ALIGN(end, 1UL<<12); for (i = 0; i < range; i++) if(memory_range[i].start <= start && memory_range[i].end >=end) break; @@ -230,7 +230,7 @@ int update_loaded_segments(struct mem_ehdr *ehdr) for (i = 0; i < memory_ranges; i++) { if (memory_range[i].type != RANGE_RAM) continue; - start = (memory_range[i].start + align - 1) & ~(align - 1); + start = _ALIGN(memory_range[i].start, align); end = memory_range[i].end; if (end > start && (end - start) > (end_addr - start_addr)) { move_loaded_segments(ehdr, start); -- 1.7.1