Page MenuHomeFreeBSD

KGDB fixes for amd64 and aarch64.
ClosedPublic

Authored by jhb on Jan 19 2018, 1:27 AM.

Details

Summary
  • Update the amd64 kernel support to recognize mchk_calltrap as a trapframe generator.
  • Remove some unneeded headers from fbsd-kld.c.
  • Various fixes to get stack traces working for aarch64 kernels:
    • Map the LR register from the PCB to PC instead of LR.
    • Skip the PC register from the PCB as it isn't initialized to anything.
    • Correct the register cache map for the PCB. The old one had the offsets of pcb_sp and pcb_pc reversed.
    • Don't map all of the saved general purpose registers in a trapframe to X1 rather than X0 .. X29.
    • Use correct name for el0 trapframe entry points.
Test Plan
  • Actually verified stack traces from kgdb on my rpi this time.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jhb created this revision.Jan 19 2018, 1:27 AM
pizzamig accepted this revision.Jan 26 2018, 3:38 PM
pizzamig added a subscriber: pizzamig.

look good to me

Macro lgtm:

This revision is now accepted and ready to land.Jan 26 2018, 3:38 PM
This revision was automatically updated to reflect the committed changes.