Re: [Crash-utility] ramdump support for va_bits_actual

2020-04-17 Thread Dave Anderson



- Original Message -
> Hi Dave,
> 
> Noticed that raw ramdumps of 5.4 kernel aren't working with crash tip.
> With the patches attached, I could get it working. Please take a look.
> 
> Thanks,
> Vinayak
> 

Hi Vinayak,

A couple quick questions come to mind...  

First, I haven't checked all possible READMEM plugins, but for example, if this 
function is run on a live system, the -1 file descriptor would cause the 
READMEM()
call to fail:

 static void
+arm64_calc_physvirt_offset(void)
+{
+   struct machine_specific *ms = machdep->machspec;
+   ulong physvirt_offset;
+   struct syment *sp;
+
+   ms->physvirt_offset = ms->phys_offset - ms->page_offset;
+
+   if ((sp = kernel_symbol_search("physvirt_offset")) &&
+   machdep->machspec->kimage_voffset) {
+   if (READMEM(-1, _offset, sizeof(physvirt_offset),
+   sp->value, sp->value -
+   machdep->machspec->kimage_voffset) > 0) {
+   ms->physvirt_offset = physvirt_offset;
+   }
+   }
+
+   if (CRASHDEBUG(1))
+   fprintf(fp, "using %lx as physvirt_offset\n", 
ms->physvirt_offset);
+}

And here -- are you missing some brackets?  (run "make warn")

But regardless of that, why are you setting it back to 48 if it's greater than 
48? 

diff --git a/arm64.c b/arm64.c
index 31d6e90..04efc13 100644
--- a/arm64.c
+++ b/arm64.c
@@ -4011,6 +4011,7 @@ arm64_calc_virtual_memory_ranges(void)
struct machine_specific *ms = machdep->machspec;
ulong value, vmemmap_start, vmemmap_end, vmemmap_size, vmalloc_end;
char *string;
+   int ret;
ulong PUD_SIZE = UNINITIALIZED;
 
if (!machdep->machspec->CONFIG_ARM64_VA_BITS) {
@@ -4018,6 +4019,12 @@ arm64_calc_virtual_memory_ranges(void)
value = atol(string);
free(string);
machdep->machspec->CONFIG_ARM64_VA_BITS = value;
+   } else if (kt->ikconfig_flags & IKCONFIG_AVAIL) {
+   if ((ret = get_kernel_config("CONFIG_ARM64_VA_BITS",
+   )) == IKCONFIG_STR)
+   machdep->machspec->CONFIG_ARM64_VA_BITS = 
atol(string);
+   if (machdep->machspec->CONFIG_ARM64_VA_BITS > 
48)
+   machdep->machspec->CONFIG_ARM64_VA_BITS 
= 48;
}
}
 
Thanks,
  Dave 

--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility



Re: [Crash-utility] ramdump support for va_bits_actual

2020-04-17 Thread Bhupesh Sharma
Hi Vinayak,

On Fri, Apr 17, 2020 at 8:34 PM vinayak menon  wrote:
>
> Hi Dave,
>
> Noticed that raw ramdumps of 5.4 kernel aren't working with crash tip.
> With the patches attached, I could get it working. Please take a look.

Can you share some details/message-logs of the issue you are seeing?

Thanks,
Bhupesh


--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility



[Crash-utility] ramdump support for va_bits_actual

2020-04-17 Thread vinayak menon
Hi Dave,

Noticed that raw ramdumps of 5.4 kernel aren't working with crash tip.
With the patches attached, I could get it working. Please take a look.

Thanks,
Vinayak


0002-fix-the-calculation-of-_stext_vmlinux-for-ramdumps.patch
Description: Binary data


0003-get-CONFIG_ARM64_VA_BITS-from-config.patch
Description: Binary data


0001-fix-the-arm64-vtop-and-ptov-calculations.patch
Description: Binary data
--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility