- Apr 16, 2014
-
-
Mitchel Humpherys authored
Some common operations include getting the parent structure of some embedded field as well as getting "sibling" fields within the parent structure. Add some convenience methods to the gdbmi module (as well as wrappers in the RamDump class) for this. Change-Id: Ic65d7e60b930af8c73384a30b6b0dd84fb55f09c
-
Mitchel Humpherys authored
Move to the new sizes module to avoid repetition. Change-Id: I5b18837bb47c0077976e84bcc3af59a30ce42614
-
Mitchel Humpherys authored
Add a convenience module with definitions for common sizes, conversions to strings, functions for working with orders, etc. Change-Id: I922d6daa0c021a0d189b53aac76ed211e8864923
-
Mitchel Humpherys authored
out_dir is not used anymore. Remove it. Change-Id: I082e0642a352e91b232ce02fe40e20a200de9fc8
-
Mitchel Humpherys authored
Currently we error out and ask the user to create the output directory if it doesn't exist. As a convenience, just create the directory for them. Change-Id: I0e9caa8294d644621bd166a06e2a70c8ca5715fc
-
- Apr 07, 2014
-
-
Mitchel Humpherys authored
It's not uncommon for the vmlinux file to live in the same directory as the actual RAM dumps. If the users doesn't explicitly specify a vmlinux image to use, look for it in the autodump dir. If we still can't find it there, error out as usual. Change-Id: I702c5584477e26912e0857dbd03b02491bd33c6c
-
Mitchel Humpherys authored
When local_settings.py is missing variables we just error out when trying to access those attributes. Improve the error message by mentioning local_settings.py and pointing the user to README.txt. Change-Id: Iaa2a1ab96ca889d75972bbfa1d4e127a8bf5bec1
-
Mitchel Humpherys authored
Add support to RamDump.virt_to_phys for automatically looking up addresses of symbols when a string is passed in. This will simplify code that uses the RamDump.read_* routines. Old way: mydata_addr = ramdump.addr_lookup('data_var') mydata2_addr = ramdump.addr_lookup('data2_var') mydata = ramdump.read_word(mydata_addr) mydata2 = ramdump.read_word(mydata2_addr) New way: mydata = ramdump.read_word('data_var') mydata2 = ramdump.read_word('data2_var') Of course, the "Old way" will still work. Change-Id: I0c006f5135b48f8385d2107d9b9d2fe767a266b0
-
- Apr 04, 2014
-
-
Mitchel Humpherys authored
During development, it's quite convenient to load up an interactive python interpreter with a RamDump instance loaded. Add some command line switches to launch an interactive shell with the RamDump instance that gets created as a result of whatever other command line options are passed. If IPython is installed, an IPython interpreter will be launched, otherwise a classic Python interpreter will be launched. The classic interface can also be forced with --classic-shell. Change-Id: Id59acb97a830055212de9db3eaf05f18358f757f
-
- Mar 28, 2014
-
-
Laura Abbott authored
When calculating pfn_to_page, the pfn needs to be offset before indexing into the array. Account for this. Change-Id: If207447a91537ab7670058fede65473d3ea93281
-
- Mar 13, 2014
-
-
Laura Abbott authored
When checking for rodata differences, we scan the ELF headers of the vmlinux. Newer vmlinux files seem to have extra ELF headers with addresses outside the valid mapped range. If we encounter one of those headers and read an invalid address, skip it. Change-Id: I2a8af784df7216bf9d890be42eec8599fbaa7f72
-
Laura Abbott authored
Commit 3d6a90bd (linux-ramdump-parser-v2: Don't use ram start address in socinfo) corrected the case for --auto-dump detection but broke the case of specifying ram files manually with addresses. When specifying the addresses manually, the addresses given are correct so the ram start does need to be added. Correct the code to add the offset by default but not add when doing autodetection. Change-Id: I50d54a932210afeace49a898dd819dc46c3e3aa1
-
Laura Abbott authored
The page_tracking code is missing the page_buddy import. Import it. Change-Id: I0030305e51f470cdd379f8237bb15c912601e861
-
Laura Abbott authored
Ram dumps are now being generated for 64-bit ramdumps. Update the parser to account for this. Change-Id: I54a354f39701ad96dd7b81010ec6c5989dd471ad
-
- Mar 12, 2014
-
-
Laura Abbott authored
array_index properly accounts for the changes in sizes of array items. Use it. Change-Id: I0dd0fb70f968a2b837a3d2aa02ae3d02ad5a578a
-
Laura Abbott authored
Several of the values used in printing the runqueues are actually ints, not words. Correct the type used. Change-Id: I1b700a679d1dee04d2de28e9ec8d8e343e03fbe4
-
Laura Abbott authored
The ramdump APIs now provide functions for accessing per CPU variables. Use those instead of writing the same code over again. Change-Id: Ia34a9b1a279e8385bdc08b2612e59fdfe0e1f958
-
Laura Abbott authored
The IRQ parsing makes some non-generic assumptions about the sizes of various fields in the structures. Update the parsing to use better types. Change-Id: I914f6104e7f914aa941b301a71c38182806e11cc
-
Laura Abbott authored
Rather than assume a text offset, use one that is already found as a symbol. Change-Id: I1ad608085984bb0b658d371858cf01e0732811a3
-
Laura Abbott authored
The socinfo code depends on fixed size types which may be different from the word size. Update the parsing accordingly. Change-Id: I7c4a23f92e13349c9ebd67aa69438d1a55aba721
-
Laura Abbott authored
The PAGE_OFFSET (traditionally 0xc0000000) may change depending on architecture version. Switch it to be a property of the ramdump. Change-Id: Ide04649f59005f39e84d0caa5edab0f46e691b3f
-
Laura Abbott authored
unwind tables may not be used on all dumps. Support unwinding the old fashioned way with framepointers. Change-Id: I978c604dc0974eb6930249e47a205e3d9d37c249
-
Laura Abbott authored
Several of the fields of the task are not being read out as 'true size'. Use more appropriate functions. At the same time, factor out the reading of pc/fc/sp into a ramdump specific functionality since that code may be architectur specific. Change-Id: I5d7bd14031a4431aa665207e8e31e3ecb7dd1cdb
-
Laura Abbott authored
The sizes for reading some of the structures of the binary logbuf do not match exactly. Switch to explicitly sized functions due to size changes across architectures. Change-Id: Iae09a069f5cb641c61a63d864ec59d0c8359e65b
-
Laura Abbott authored
The binary logbuf now uses *log_buf instead of __log_buf to find the log buffer. Correctly dereference the pointer. Change-Id: If3cce2105ee12a81098abe1c4c2fe736550cadff
-
Laura Abbott authored
When tracing with read_physical, the result of what was read is printed. The result may contain unprintable characters which wreak havok on terminals. re-use the cleanupString function which is already in use in several places to make the output readable. Change-Id: I1a62c88f1d51038ba2c429d8ec918c58d39af4bf
-
Laura Abbott authored
The return size of read_word may change depending on the architecture. Add functions to read specific types and sizes. Change-Id: I3b9b11c263bf684a8e3783a10dcdc770a6a1b25e
-
- Mar 10, 2014
-
-
Laura Abbott authored
The 8916 board is now generating ramdumps. Add support to parse these dumps. Change-Id: I9920544031443ce97f95824c8927b50e0927d5c1
-
Laura Abbott authored
When reading soc info, the ram information has not yet been fully plumbed into the parser (this is very early!). We should not take the address for the start of ram into account at this point as smem should only be given as an offset. Update the calculations. Change-Id: Ib02db2f118685b306457e2591e4bbc5f19f2edbc
-
Laura Abbott authored
When adding a new board, it can be non-obvious what went wrong if the board is not immediately detected. Add an option to trace through socinfo addresses for a specific board to print out useful addresses as a debugging aid. Also clean up some error handling, mostly among the tracing code. Change-Id: I65f4a38b95912b81676f44cd371751abc96aae9e
-
Laura Abbott authored
The pagetype info gives useful data but it's helpful to see the data in other formats that often involve having to do math. Make the parser do the math of calculating the total number of pages per migrate type and the total number of pages per order. Additionally, print out the total number of ram pages with vmstat to make it easier to determine just how low a system may be on memory. Change-Id: I812288fe4c25de06c7017fb0b6515e514f799134
-
- Mar 04, 2014
-
-
Laura Abbott authored
Full slabs are only stored when CONIFG_SLUB_DEBUG is enabled. Move the parsing for full slabs to this conditional check. Change-Id: I6bdd402f888f857c9c0ce1b2443d8436e90cdb84
-
Laura Abbott authored
The logbuf for kernel dmesg logs may be re-sized at bootup to be non-static. Account for this by parsing the non-static version which should should also point to the static version. Change-Id: Id5a2da0036b31ac0b5f4622a5e1cd74e38e8dae4
-
- Feb 27, 2014
-
-
Laura Abbott authored
A recent build has generated multiple badly corrupted dumps. Fix all the errors found by the unintentional fuzzing. Change-Id: I0854bee4558d31037f51ed2ea941eb58997607c8
-
- Feb 18, 2014
-
-
Laura Abbott authored
Red/Black trees are supposed to be trees, not directed cyclic graphs. Sometimes trees in ramdumps may become corrupted though, resulting in cycles. Detect these cycles in the tree to avoid looping forever. Change-Id: I68cf018c6786b3c6947789a18c63c7a3a1f8d7bc
-
- Feb 15, 2014
-
-
Laura Abbott authored
The IRQ state is stable and isn't likely to change any time soon. Remove the version checks which do nothing for now. Change-Id: I3ba2d4fcde6694c16d5f8b79d26b971341f1acc2
-
- Feb 13, 2014
-
-
Laura Abbott authored
The specification of boards of the parser is not very clean. Re-write it into an easier to read fashion. Change-Id: Icae5b8421cf574ee910e4702fcf14d29378ed703
-
- Feb 11, 2014
-
-
Laura Abbott authored
We never check the binaries in and its annoying to see them with a git/diff. Add generated pyc files to .gitignore Change-Id: Ie181bc8e278d090d088fc1aaba290ac77f724363
-
- Jan 30, 2014
-
-
Laura Abbott authored
Workqueues may be modified at runtime which can leave them in an inconsistent state in ram dumps. Check for infinite loops in workqueue lists caused by this state. Change-Id: If5d8ebe48a538ffae58a8ed485cd4a50b20d60bf
-
- Jan 27, 2014
-
-
Mitchel Humpherys authored
Somewhere along the way we started ignoring the --nm-path and --gdb-path options. Fix this. Also ensure that the command line options take precedence over anything from local_settings.py or anything discovered from CROSS_COMPILE. Change-Id: I39ff653c7de7fb1de170701b898567c9b2356835
-