On Sat, Dec 3, 2016 at 1:59 AM, Rabin Vincent <rabin(a)rab.in> wrote:
 On Fri, Dec 02, 2016 at 04:06:20PM -0800, Sagar Borikar wrote:
> With 7.1.7, crash is working for MIPS when all drivers are embedded
> inside kernel.
> When I make the driver loadable and panic the kernel, crash doesn't
> locate some symbols correctly.
>
> please wait... (gathering module symbol data)
> crash: invalid size request: 0  type: "pgd page"
>
> debugged further and find  that PGD_ORDER provides incorrect number
> due to which the PGD_SIZE macro results in 0.
>
> Just for fun, I replaced PGD_ORDER with 0(I know its incorrect) and it
> went ahead but couldn't run "mod" command successfully as it threw
> following error
>
> crash> mod
> mod: cannot access vmalloc'd module memory
 In order to access vmalloc'd memory we need interpret the page tables
 correctly.  This isn't needed when the modules are built in since then
 the memory will be in the direct-mapped kseg0 segment.  So the "mod"
 failure is just a consequence of replacing PGD_ORDER with 0. 
Yes, mod will not work as I said earlier. Crash was exiting hence I
wanted to have quick workaround.
 So the first error should be fixed properly before attempting
"mod".  What
 kernel version is this and what page size do to use? 
4.4.20 kernel and page size is 16K
 Try running the "help -m" and "mach" commands (you can skip module
loading with
 --no_modules to get to the crash> prompt) and check if the values for the
 various page table sizes and bits match what your kernel is using.
  crash> help -m
  ...
            pagesize: 4096
           pageshift: 12
            pagemask: fffffffffffff000
          pageoffset: fff
         pgdir_shift: 22
        ptrs_per_pgd: 1024
        ptrs_per_pte: 1024
  ...
  crash-mips> mach
            PAGE SIZE: 4096
        _PAGE_PRESENT: 00000001
           _PAGE_READ: 00000002
          _PAGE_WRITE: 00000004
       _PAGE_ACCESSED: 00000008
       _PAGE_MODIFIED: 00000010
         _PAGE_GLOBAL: 00000020
          _PAGE_VALID: 00000040
          _PAGE_DIRTY: 00000080 
This appears to be correct info for my platform.
Thanks
Sagar
 --
 Crash-utility mailing list
 Crash-utility(a)redhat.com
 
https://www.redhat.com/mailman/listinfo/crash-utility