From: Zhang Yanfei <zhangyanfei.yes@gmail.com>
To: Simon Horman <horms@verge.net.au>
Cc: "kexec@lists.infradead.org" <kexec@lists.infradead.org>
Subject: [PATCH 09/13] kexec: ppc: use _ALIGN* to make the logic clear
Date: Thu, 14 Mar 2013 01:32:20 +0800 [thread overview]
Message-ID: <5140B824.5050601@gmail.com> (raw)
In-Reply-To: <5140B511.7020109@gmail.com>
From: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
By replacing all the explicit align opertion with marco _ALIGN*,
the code logic could be more clear.
Besides, remove the duplicate _ALIGN_* definition in file
kexec/arch/ppc/crashdump-powerpc.h.
Signed-off-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
---
kexec/arch/ppc/crashdump-powerpc.c | 2 +-
kexec/arch/ppc/crashdump-powerpc.h | 2 --
kexec/arch/ppc/fs2dt.c | 5 ++---
kexec/arch/ppc/kexec-dol-ppc.c | 10 +++++-----
kexec/arch/ppc/kexec-elf-ppc.c | 8 ++++----
5 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/kexec/arch/ppc/crashdump-powerpc.c b/kexec/arch/ppc/crashdump-powerpc.c
index d367643..eee5b37 100644
--- a/kexec/arch/ppc/crashdump-powerpc.c
+++ b/kexec/arch/ppc/crashdump-powerpc.c
@@ -329,7 +329,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline,
info->backup_src_size = BACKUP_SRC_SIZE;
#ifndef CONFIG_BOOKE
/* Create a backup region segment to store backup data*/
- sz = (BACKUP_SRC_SIZE + align - 1) & ~(align - 1);
+ sz = _ALIGN(BACKUP_SRC_SIZE, align);
tmp = xmalloc(sz);
memset(tmp, 0, sz);
info->backup_start = add_buffer(info, tmp, sz, sz, align,
diff --git a/kexec/arch/ppc/crashdump-powerpc.h b/kexec/arch/ppc/crashdump-powerpc.h
index 84a73aa..efdc7e3 100644
--- a/kexec/arch/ppc/crashdump-powerpc.h
+++ b/kexec/arch/ppc/crashdump-powerpc.h
@@ -35,8 +35,6 @@ extern struct arch_options_t arch_options;
#endif
#define KDUMP_BACKUP_LIMIT BACKUP_SRC_SIZE
-#define _ALIGN_UP(addr, size) (((addr)+((size)-1))&(~((size)-1)))
-#define _ALIGN_DOWN(addr, size) ((addr)&(~((size)-1)))
extern unsigned long long crash_base;
extern unsigned long long crash_size;
diff --git a/kexec/arch/ppc/fs2dt.c b/kexec/arch/ppc/fs2dt.c
index cdae69e..56ffb91 100644
--- a/kexec/arch/ppc/fs2dt.c
+++ b/kexec/arch/ppc/fs2dt.c
@@ -407,8 +407,7 @@ int create_flatten_tree(struct kexec_info *info, unsigned char **bufp,
putnode();
*dt++ = 9;
- len = sizeof(bb[0]);
- len += 7; len &= ~7;
+ len = _ALIGN(sizeof(bb[0], 8);
bb->off_mem_rsvmap = len;
@@ -426,7 +425,7 @@ int create_flatten_tree(struct kexec_info *info, unsigned char **bufp,
len = propnum("");
bb->dt_strings_size = len;
- len += 3; len &= ~3;
+ len = _ALIGN(len, 4);
bb->totalsize = bb->off_dt_strings + len;
bb->magic = 0xd00dfeed;
diff --git a/kexec/arch/ppc/kexec-dol-ppc.c b/kexec/arch/ppc/kexec-dol-ppc.c
index 5fc5e06..8d0d1a0 100644
--- a/kexec/arch/ppc/kexec-dol-ppc.c
+++ b/kexec/arch/ppc/kexec-dol-ppc.c
@@ -87,11 +87,11 @@ typedef struct {
#define PAGE_SHIFT 12
#define PAGE_SIZE (1UL << PAGE_SHIFT)
#define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
-#define PAGE_ALIGN(addr) (((addr) + PAGE_SIZE - 1) & PAGE_MASK)
+#define PAGE_ALIGN(addr) _ALIGN(addr, PAGE_SIZE)
#define MAX_COMMAND_LINE 256
-#define UPSZ(X) ((sizeof(X) + 3) & ~3)
+#define UPSZ(X) _ALIGN_UP(sizeof(X), 4)
static struct boot_notes {
Elf_Bhdr hdr;
Elf_Nhdr bl_hdr;
@@ -442,14 +442,14 @@ int dol_ppc_load(int argc, char **argv, const char *buf, off_t UNUSED(len),
}
/* build the setup glue and argument segment (segment 0) */
- note_bytes = sizeof(elf_boot_notes) + ((command_line_len + 3) & ~3);
- arg_bytes = note_bytes + ((setup_dol_size + 3) & ~3);
+ note_bytes = sizeof(elf_boot_notes) + _ALIGN(command_line_len, 4);
+ arg_bytes = note_bytes + _ALIGN(setup_dol_size, 4);
arg_buf = xmalloc(arg_bytes);
arg_base = add_buffer(info,
arg_buf, arg_bytes, arg_bytes, 4, 0, 0xFFFFFFFFUL, 1);
- notes = (struct boot_notes *)(arg_buf + ((setup_dol_size + 3) & ~3));
+ notes = (struct boot_notes *)(arg_buf + _ALIGN(setup_dol_size, 4));
notes->hdr.b_size = note_bytes;
notes->cmd_hdr.n_descsz = command_line_len;
diff --git a/kexec/arch/ppc/kexec-elf-ppc.c b/kexec/arch/ppc/kexec-elf-ppc.c
index 5f63a64..65a65cc 100644
--- a/kexec/arch/ppc/kexec-elf-ppc.c
+++ b/kexec/arch/ppc/kexec-elf-ppc.c
@@ -37,7 +37,7 @@ const char *ramdisk;
int create_flatten_tree(struct kexec_info *, unsigned char **, unsigned long *,
char *);
-#define UPSZ(X) ((sizeof(X) + 3) & ~3)
+#define UPSZ(X) _ALIGN_UP(sizeof(X), 4);
#ifdef WITH_GAMECUBE
static struct boot_notes {
Elf_Bhdr hdr;
@@ -327,14 +327,14 @@ int elf_ppc_load(int argc, char **argv, const char *buf, off_t len,
setup_size = setup_simple_size;
setup_simple_regs.spr8 = ehdr.e_entry; /* Link Register */
}
- note_bytes = sizeof(elf_boot_notes) + ((command_line_len + 3) & ~3);
- arg_bytes = note_bytes + ((setup_size + 3) & ~3);
+ note_bytes = sizeof(elf_boot_notes) + _ALIGN(command_line_len, 4);
+ arg_bytes = note_bytes + _ALIGN(setup_size, 4);
arg_buf = xmalloc(arg_bytes);
arg_base = add_buffer(info,
arg_buf, arg_bytes, arg_bytes, 4, 0, elf_max_addr(&ehdr), 1);
- notes = (struct boot_notes *)(arg_buf + ((setup_size + 3) & ~3));
+ notes = (struct boot_notes *)(arg_buf + _ALIGN(setup_size, 4));
memcpy(arg_buf, setup_start, setup_size);
memcpy(notes, &elf_boot_notes, sizeof(elf_boot_notes));
--
1.7.1
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2013-03-13 17:32 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-13 17:19 [PATCH 01/13] kexec: add _ALIGN* marcos for align operation Zhang Yanfei
2013-03-13 17:21 ` [PATCH 02/13] kexec: use _ALIGN() instead of align() Zhang Yanfei
2013-03-14 9:48 ` Simon Horman
2013-03-13 17:23 ` [PATCH 03/13] kexec: ppc: remove duplicated _ALIGN_* macros Zhang Yanfei
2013-03-14 9:48 ` Simon Horman
2013-03-13 17:26 ` [PATCH 04/13] kexec: use _ALIGN* to make the logic clear Zhang Yanfei
2013-03-14 9:08 ` Simon Horman
2013-03-14 9:48 ` Zhang Yanfei
2013-03-14 10:06 ` Simon Horman
2013-03-14 9:49 ` Simon Horman
2013-03-14 9:58 ` Simon Horman
2013-03-14 11:24 ` [PATCH v2 " Zhang Yanfei
2013-03-14 11:26 ` [PATCH " Zhang Yanfei
2013-03-15 8:35 ` Simon Horman
2013-03-15 9:46 ` [PATCH v3 " Zhang Yanfei
2013-03-15 15:52 ` Simon Horman
2013-03-13 17:28 ` [PATCH 05/13] kexec: i386: " Zhang Yanfei
2013-03-14 9:50 ` Simon Horman
2013-03-13 17:29 ` [PATCH 06/13] kexec: arm: " Zhang Yanfei
2013-03-14 9:50 ` Simon Horman
2013-03-13 17:30 ` [PATCH 07/13] kexec: ia64: " Zhang Yanfei
2013-03-14 9:50 ` Simon Horman
2013-03-13 17:31 ` [PATCH 08/13] kexec: mips: " Zhang Yanfei
2013-03-14 9:51 ` Simon Horman
2013-03-13 17:32 ` Zhang Yanfei [this message]
2013-03-14 9:09 ` [PATCH 09/13] kexec: ppc: " Simon Horman
2013-03-14 9:32 ` Zhang Yanfei
2013-03-14 9:33 ` [PATCH v2 " Zhang Yanfei
2013-03-14 9:54 ` Simon Horman
2013-03-14 9:57 ` Simon Horman
2013-03-14 10:01 ` Simon Horman
2013-03-13 17:33 ` [PATCH 10/13] kexec: ppc64: " Zhang Yanfei
2013-03-14 9:23 ` Simon Horman
2013-03-14 9:38 ` [PATCH v2 " Zhang Yanfei
2013-03-14 10:04 ` Simon Horman
2013-03-13 17:33 ` [PATCH 11/13] kexec: s390: remove ALIGN_UP and use _ALIGN_UP Zhang Yanfei
2013-03-14 10:02 ` Simon Horman
2013-03-13 17:34 ` [PATCH 12/13] kexec: sh: use _ALIGN* to make the logic clear Zhang Yanfei
2013-03-14 10:03 ` Simon Horman
2013-03-13 17:35 ` [PATCH 13/13] kexec: x86_64: " Zhang Yanfei
2013-03-14 10:03 ` Simon Horman
2013-03-14 9:47 ` [PATCH 01/13] kexec: add _ALIGN* marcos for align operation Simon Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5140B824.5050601@gmail.com \
--to=zhangyanfei.yes@gmail.com \
--cc=horms@verge.net.au \
--cc=kexec@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox