summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@in.ibm.com>2006-07-28 10:52:29 -0700
committerEric W. Biederman <ebiederm@xmission.com>2006-07-28 13:05:16 -0600
commit71d2424c8ac4f93a60c3eee5c95df269f584a9da (patch)
treeefd36a5733bdcb7200a1214c5633d3a44a08fe9e
parenta4a67f32a0b6eca09c68cdd5a4cb6e0e0fbc6690 (diff)
kexec-tools: ppc64 fix for multiple backup region definiton
o Get rid of multiple definitions of backup region. o Give more relevant name to backup source region. Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
-rw-r--r--kexec/arch/ppc64/crashdump-ppc64.c4
-rw-r--r--kexec/arch/ppc64/crashdump-ppc64.h7
-rw-r--r--purgatory/arch/ppc64/crashdump_backup.c8
3 files changed, 9 insertions, 10 deletions
diff --git a/kexec/arch/ppc64/crashdump-ppc64.c b/kexec/arch/ppc64/crashdump-ppc64.c
index 1435581..e10766e 100644
--- a/kexec/arch/ppc64/crashdump-ppc64.c
+++ b/kexec/arch/ppc64/crashdump-ppc64.c
@@ -331,7 +331,7 @@ static int prepare_crash_memory_elf64_headers(struct kexec_info *info,
bufp += sizeof(Elf64_Phdr);
phdr->p_type = PT_LOAD;
phdr->p_flags = PF_R|PF_W|PF_X;
- if (mstart == BACKUP_START && mend == BACKUP_END)
+ if (mstart == BACKUP_SRC_START && mend == BACKUP_SRC_END)
phdr->p_offset = info->backup_start;
else
phdr->p_offset = mstart;
@@ -368,7 +368,7 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline,
return -1;
/* Create a backup region segment to store backup data*/
- sz = (BACKUP_SIZE + align - 1) & ~(align - 1);
+ sz = (BACKUP_SRC_SIZE + align - 1) & ~(align - 1);
tmp = xmalloc(sz);
memset(tmp, 0, sz);
info->backup_start = add_buffer(info, tmp, sz, sz, align,
diff --git a/kexec/arch/ppc64/crashdump-ppc64.h b/kexec/arch/ppc64/crashdump-ppc64.h
index c359a63..17ea27f 100644
--- a/kexec/arch/ppc64/crashdump-ppc64.h
+++ b/kexec/arch/ppc64/crashdump-ppc64.h
@@ -1,6 +1,7 @@
#ifndef CRASHDUMP_PPC64_H
#define CRASHDUMP_PPC64_H
+struct kexec_info;
int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline,
unsigned long max_addr, unsigned long min_base);
void add_usable_mem_rgns(unsigned long long base, unsigned long long size);
@@ -17,9 +18,9 @@ void add_usable_mem_rgns(unsigned long long base, unsigned long long size);
#define COMMAND_LINE_SIZE 512 /* from kernel */
/* Backup Region, First 32K of System RAM. */
-#define BACKUP_START 0x0000
-#define BACKUP_END 0x8000
-#define BACKUP_SIZE (BACKUP_END - BACKUP_START + 1)
+#define BACKUP_SRC_START 0x0000
+#define BACKUP_SRC_END 0x8000
+#define BACKUP_SRC_SIZE (BACKUP_SRC_END - BACKUP_SRC_START + 1)
#define KDUMP_BACKUP_LIMIT 0x8000
#define _ALIGN_UP(addr,size) (((addr)+((size)-1))&(~((size)-1)))
diff --git a/purgatory/arch/ppc64/crashdump_backup.c b/purgatory/arch/ppc64/crashdump_backup.c
index 07f7847..7ba5aff 100644
--- a/purgatory/arch/ppc64/crashdump_backup.c
+++ b/purgatory/arch/ppc64/crashdump_backup.c
@@ -21,9 +21,7 @@
#include <stdint.h>
#include <string.h>
-
-#define BACKUP_REGION_SOURCE 0x0
-#define BACKUP_REGION_SIZE 32*1024
+#include "../../../kexec/arch/ppc64/crashdump-ppc64.h"
extern unsigned long backup_start;
@@ -32,10 +30,10 @@ void crashdump_backup_memory(void)
{
void *dest, *src;
- src = (void *)BACKUP_REGION_SOURCE;
+ src = (void *)BACKUP_SRC_START;
if (backup_start) {
dest = (void *)(backup_start);
- memcpy(dest, src, BACKUP_REGION_SIZE);
+ memcpy(dest, src, BACKUP_SRC_SIZE);
}
}