Skip to content
Snippets Groups Projects
  1. May 23, 2014
  2. May 05, 2014
  3. Apr 21, 2014
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Add read_u64 function · 075c0a75
      Laura Abbott authored
      Reading 64 bits of data is needed at times. Add a dedicated function
      
      Change-Id: Ibef3777a574fb4ea87af51ab8230af7d4402c4f9
      075c0a75
    • Mitchel Humpherys's avatar
      lrdp-v2: add support for parsing LPAE IOMMU page table · 9de5aebd
      Mitchel Humpherys authored
      The IOMMU parser currently only supports short-descriptor format page
      tables but hardware supports long-descriptor format page tables. Add
      support for the long-descriptor format. Most of the existing LPAE MMU
      code can be re-used for this, although it must be refactored a bit.
      
      Change-Id: I464d7edeb8818c0be9de1e1a8224bc9b478eac37
      9de5aebd
  4. Apr 16, 2014
    • Mitchel Humpherys's avatar
      lrdp-v2: add hexdump functions · 97cff249
      Mitchel Humpherys authored
      It's useful to be able to dump regions of memory a la `xxd'. Add some
      machinery to parser_util and RamDump to do this.
      
      Example:
      
          $ ramparse.py -a . -o parsed --shell
          >>> dump.hexdump(0, 100, virtual=False)
          00000000: fffe ffde 0200 0000 ffff b7bf adf5 a5ff  ................
          00000010: e7bf edfe c6fe edf6 fefa fffe befa fefe  ................
          00000020: bfbe ffef aebd a5ef ffff 7f7e fefe 5afb  ...........~..Z.
          00000030: 1b00 2000 3300 4300 1c00 2100 3400 4800  .. .3.C...!.4.H.
          00000040: ffff ff7f fafe ffdb effd a5af adf5 a5bf  ................
          00000050: 4444 4444 4444 4444 4444 4444 4444 4444  DDDDDDDDDDDDDDDD
          00000060: 5fff ffff                                _...
          >>> dump.hexdump(0xc0000000, 100, virtual=True)
          c0000000: fffe ffde 0200 0000 ffff b7bf adf5 a5ff  ................
          c0000010: e7bf edfe c6fe edf6 fefa fffe befa fefe  ................
          c0000020: bfbe ffef aebd a5ef ffff 7f7e fefe 5afb  ...........~..Z.
          c0000030: 1b00 2000 3300 4300 1c00 2100 3400 4800  .. .3.C...!.4.H.
          c0000040: ffff ff7f fafe ffdb effd a5af adf5 a5bf  ................
          c0000050: 4444 4444 4444 4444 4444 4444 4444 4444  DDDDDDDDDDDDDDDD
          c0000060: 5fff ffff                                _...
          >>> dump.hexdump(dump.addr_lookup('linux_banner'), 144, virtual=True)
          c0b0006a: 4c69 6e75 7820 7665 7273 696f 6e20 332e  Linux version 3.
          c0b0007a: 3130 2e32 382d 6765 3232 3362 6632 3830  10.28-ge223bf280
          c0b0008a: 662d 6469 7274 7920 286d 6974 6368 656c  f-dirty (mitchel
          c0b0009a: 6840 6d69 7463 6865 6c68 2d6c 696e 7578  h@mitchelh-linux
          c0b000aa: 2920 2867 6363 2076 6572 7369 6f6e 2034  ) (gcc version 4
          c0b000ba: 2e37 2028 4743 4329 2029 2023 3720 534d  .7 (GCC) ) #7 SM
          c0b000ca: 5020 5052 4545 4d50 5420 5475 6520 4170  P PREEMPT Tue Ap
          c0b000da: 7220 3820 3134 3a32 303a 3132 2050 4454  r 8 14:20:12 PDT
          c0b000ea: 2032 3031 340a 007c 2f2d 5c00 0000 0000   2014..|/-\.....
      
      Change-Id: Iecaf80f72845f052085a60eadedd2bb24743224c
      97cff249
    • Mitchel Humpherys's avatar
      lrdp-v2: refactor Armv7LPAEMMU code · 4f8207f7
      Mitchel Humpherys authored
      The LPAE MMU code can be re-used for other modules that need page table
      parsing (like the LPAE IOMMU page tables). Refactor the code a bit so
      that it can be easily re-used later.
      
      Change-Id: I0deb80a69f2fca83c3ddcc78867fa2e5f5d18bb2
      4f8207f7
    • Mitchel Humpherys's avatar
      lrdp-v2: add container_of and sibling_field_addr convenience functions · e0e640fd
      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
      e0e640fd
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Bounds check stackunwinding · cb54bb8f
      Laura Abbott authored
      The stack values may be bogus for a variety of reasons. Bounds
      check these values and error out.
      
      Change-Id: I646d7f6e8d2f0e03f0b36bc30d7b1bbaa604fc98
      cb54bb8f
  5. Apr 07, 2014
    • Mitchel Humpherys's avatar
      lrdp-v2: automatically lookup addresses when needed · 8d02f6cf
      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
      8d02f6cf
  6. Mar 13, 2014
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Conditionally add phys offset for socinfo · 9e570006
      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
      9e570006
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Add basic support for 64-bit · 045b5c4c
      Laura Abbott authored
      Ram dumps are now being generated for 64-bit ramdumps. Update the
      parser to account for this.
      
      Change-Id: I54a354f39701ad96dd7b81010ec6c5989dd471ad
      045b5c4c
  7. Mar 12, 2014
  8. Mar 10, 2014
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Don't use ram start address in socinfo · 3d6a90bd
      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
      3d6a90bd
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Improve tracing for socinfo and other parts · 0fc5c07b
      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
      0fc5c07b
  9. Feb 27, 2014
  10. Feb 13, 2014
  11. Jan 03, 2014
    • Laura Abbott's avatar
      linux-ramdump-parser-v2: Initial contribution of ram parser · 9133968f
      Laura Abbott authored
      After a crash, ramdumps may be collected for analysis. The ram
      parser is a tool to aid in analysis of these dumps. The script
      extracts useful information from the dumps to help with debugging.
      Please see the README for full details.
      
      Change-Id: I7795686a96bbfe246edf47d09e3f616131688429
      9133968f
Loading