Page MenuHomeFreeBSD

riscv: improve register dumping
ClosedPublic

Authored by christos on Jul 1 2023, 6:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, May 20, 9:22 PM
Unknown Object (File)
Apr 12 2024, 2:15 PM
Unknown Object (File)
Mar 11 2024, 11:57 AM
Unknown Object (File)
Jan 3 2024, 2:58 PM
Unknown Object (File)
Dec 20 2023, 8:07 AM
Unknown Object (File)
Dec 12 2023, 2:21 AM
Unknown Object (File)
Oct 27 2023, 1:54 PM
Unknown Object (File)
Oct 9 2023, 2:10 AM
Subscribers

Details

Summary

Search for and print kernel symbols in case a register's value is a
kernel address. Also improve column alignment.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 52373
Build 49264: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Jul 1 2023, 9:06 PM

Sample output:

   t[0]: 0x0000000000000000
   t[1]: 0x0000000000000000
   t[2]: 0x0000000000000008
   t[3]: 0x00ff000000000000
   t[4]: 0x000000000000ff00
   t[5]: 0xfefefefefefefeff
   t[6]: 0x8080808080808080
   s[0]: 0xffffffc095566770 (end + 0x94a8b158)
   s[1]: 0x0000000551bae478
   s[2]: 0x0000000551bae490
   s[3]: 0xffffffc095756280 (end + 0x94c7ac68)
   s[4]: 0xffffffc0955668a8 (end + 0x94a8b290)
   s[5]: 0xffffffc095566988 (end + 0x94a8b370)
   s[6]: 0xffffffd003181538
   s[7]: 0x0000000000000000
   s[8]: 0x0000000000000000
   s[9]: 0x0000000000000000
  s[10]: 0x0000000000200400
  s[11]: 0xffffffffffffffff
   a[0]: 0xffffffc04ad0e008 (end + 0x4a2329f0)
   a[1]: 0x0000000551bae478
   a[2]: 0x0000000000000013
   a[3]: 0x0000000551bae48b
   a[4]: 0x62696c2f7273752f
   a[5]: 0xffffffc04ad0e008 (end + 0x4a2329f0)
   a[6]: 0xffffffc0005b6630 (copyio_fault + 0x0)
   a[7]: 0x0000000000040000
     ra: 0xffffffc0002bab70 (exec_copyout_strings + 0x80)
     sp: 0xffffffc0955666c0 (end + 0x94a8b0a8)
     gp: 0xffffffc095566610 (end + 0x94a8aff8)
     tp: 0xffffffc000ad5380 (__pcpu + 0x100)
   sepc: 0xffffffc0005b66ac (copyout + 0x5c)
sstatus: 0x8000000200046120

Thanks, this is a nice improvement.

sys/riscv/riscv/trap.c
138

Consider giving this function a name that include "print", for example, print_with_symbol().

christos marked an inline comment as done.

Address Mitchell's comment.

This revision now requires review to proceed.Jul 3 2023, 5:00 PM
This revision is now accepted and ready to land.Jul 3 2023, 5:07 PM
This revision was automatically updated to reflect the committed changes.