----- Original Message -----
> How is your system configured?
4k pages with 3-level PTE
I did not backport any of the support for deeper level PTE's or larger page
sizes
>You might even be able to get to a crash> prompt by running:
> $ crash /proc/kcore --no_modules
no_modules works like a champ
root@odroid64-pre:~/crash-7.1.4# ./crash /proc/kcore --no_modules
crash 7.1.4
Copyright (C) 2002-2015 Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
Copyright (C) 1999-2006 Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011 NEC Corporation
Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. Enter "help copying" to see the conditions.
This program has absolutely no warranty. Enter "help warranty" for details.
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu"...
WARNING: no kernel module access
KERNEL: /lib/modules/3.14.29+/build/vmlinux
DUMPFILE: /proc/kcore
CPUS: 4
DATE: Tue Mar 8 15:15:26 2016
UPTIME: 05:23:46
LOAD AVERAGE: 0.67, 0.36, 0.19
TASKS: 207
NODENAME: odroid64-pre
RELEASE: 3.14.29+
VERSION: #1 SMP PREEMPT Tue Mar 8 01:06:35 CST 2016
MACHINE: aarch64 (unknown Mhz)
MEMORY: 1.9 GB
PID: 8000
COMMAND: "crash"
TASK: ffffffc05c298c00 [THREAD_INFO: ffffffc05857c000]
CPU: 1
STATE: TASK_RUNNING (ACTIVE)
crash>
root@odroid64-pre:~/crash-7.1.4# ./crash /proc/kcore -d8
... [ cut ] ...
<readmem: ffffffc001c27f58, KVADDR, "modules", 8, (FOE),
bb1a88>
<read_proc_kcore: addr: ffffffc001c27f58 paddr: 2c27f58 cnt: 8>
GETBUF(528 -> 0)
module: ffffffbffc081ad0
<readmem: ffffffbffc081ad0, KVADDR, "module struct", 528, (ROE|Q),
c14b08>
<readmem: ffffffc001ffc000, KVADDR, "pgd page", 4096, (FOE), f41e90>
<read_proc_kcore: addr: ffffffc001ffc000 paddr: 2ffc000 cnt: 4096>
<readmem: ffffffc000ffe000, KVADDR, "pmd page", 4096, (FOE), f42ea0>
<read_proc_kcore: addr: ffffffc000ffe000 paddr: 1ffe000 cnt: 4096>
crash: seek error: kernel virtual address: ffffffc000ffe000 type: "pmd page"
root@odroid64-pre:~/crash-7.1.4#
Right, so as expected, it read the address of the first module structure
contained in the "modules" list_head, which is the first vmalloc()'d
address
that is read during crash initialization. It was in the act of doing a
page-table walkthough of virtual address of ffffffbffc081ad0, which crapped
out at the "pmd page" step. That's about as far as I can take it.
You'll
have to walk through the arm64_vtop_3level_4k() function in arm64.c.
Probably one of the various macros used in there doesn't match up with
your configuration.
Dave