|
@@ -72,11 +72,6 @@ static int copy_from_realmem(void *dest, void *src, size_t count)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Pointer to ELF header in new kernel
|
|
|
- */
|
|
|
-static void *elfcorehdr_newmem;
|
|
|
-
|
|
|
/*
|
|
|
* Copy one page from zfcpdump "oldmem"
|
|
|
*
|
|
@@ -390,7 +385,8 @@ static void *nt_s390_vx_low(void *ptr, __vector128 *vx_regs)
|
|
|
/*
|
|
|
* Fill ELF notes for one CPU with save area registers
|
|
|
*/
|
|
|
-void *fill_cpu_elf_notes(void *ptr, struct save_area *sa, __vector128 *vx_regs)
|
|
|
+static void *fill_cpu_elf_notes(void *ptr, struct save_area *sa,
|
|
|
+ __vector128 *vx_regs)
|
|
|
{
|
|
|
ptr = nt_prstatus(ptr, sa);
|
|
|
ptr = nt_fpregset(ptr, sa);
|
|
@@ -573,9 +569,6 @@ int elfcorehdr_alloc(unsigned long long *addr, unsigned long long *size)
|
|
|
/* If we are not in kdump or zfcpdump mode return */
|
|
|
if (!OLDMEM_BASE && ipl_info.type != IPL_TYPE_FCP_DUMP)
|
|
|
return 0;
|
|
|
- /* If elfcorehdr= has been passed via cmdline, we use that one */
|
|
|
- if (elfcorehdr_addr != ELFCORE_ADDR_MAX)
|
|
|
- return 0;
|
|
|
/* If we cannot get HSA size for zfcpdump return error */
|
|
|
if (ipl_info.type == IPL_TYPE_FCP_DUMP && !sclp.hsa_size)
|
|
|
return -ENODEV;
|
|
@@ -606,7 +599,6 @@ int elfcorehdr_alloc(unsigned long long *addr, unsigned long long *size)
|
|
|
hdr_off = PTR_DIFF(ptr, hdr);
|
|
|
loads_init(phdr_loads, hdr_off);
|
|
|
*addr = (unsigned long long) hdr;
|
|
|
- elfcorehdr_newmem = hdr;
|
|
|
*size = (unsigned long long) hdr_off;
|
|
|
BUG_ON(elfcorehdr_size > alloc_size);
|
|
|
return 0;
|
|
@@ -617,8 +609,6 @@ int elfcorehdr_alloc(unsigned long long *addr, unsigned long long *size)
|
|
|
*/
|
|
|
void elfcorehdr_free(unsigned long long addr)
|
|
|
{
|
|
|
- if (!elfcorehdr_newmem)
|
|
|
- return;
|
|
|
kfree((void *)(unsigned long)addr);
|
|
|
}
|
|
|
|
|
@@ -629,7 +619,6 @@ ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos)
|
|
|
{
|
|
|
void *src = (void *)(unsigned long)*ppos;
|
|
|
|
|
|
- src = elfcorehdr_newmem ? src : src - OLDMEM_BASE;
|
|
|
memcpy(buf, src, count);
|
|
|
*ppos += count;
|
|
|
return count;
|
|
@@ -641,15 +630,8 @@ ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos)
|
|
|
ssize_t elfcorehdr_read_notes(char *buf, size_t count, u64 *ppos)
|
|
|
{
|
|
|
void *src = (void *)(unsigned long)*ppos;
|
|
|
- int rc;
|
|
|
|
|
|
- if (elfcorehdr_newmem) {
|
|
|
- memcpy(buf, src, count);
|
|
|
- } else {
|
|
|
- rc = copy_from_oldmem(buf, src, count);
|
|
|
- if (rc)
|
|
|
- return rc;
|
|
|
- }
|
|
|
+ memcpy(buf, src, count);
|
|
|
*ppos += count;
|
|
|
return count;
|
|
|
}
|