Message ID | 20180829015047.7355-1-rashmica.g@gmail.com |
---|---|
Headers | show |
Series | Basic gdbserver for POWER8 | expand |
On Wed, 29 Aug 2018 11:50:28 +1000 Rashmica Gupta <rashmica.g@gmail.com> wrote: > I have rebased Alistair's gdbserver on master and done a few cleanups. > I have been using Amitay's patch "main: Add P8 kernel devicetree" when > running on a BMC. > > This should let you do basic things through gdb like examine the > registers, read and write to kernel memory, and step through the > kernel. There is obviously a lot more to be done, but it would be nice > to get some of this upstream so I don't have to keep rebasing as often :) > > Currently this is only designed to work on kernel addresses (as the > translation to real addresses is trivial). Any thoughts on how we > could/should go about dealing with address translations are welcome. > It would be nice if we could attempt to deal with kernel virtual > addresses and skiboot addresses. Yeah, I think we'll have to walk Linux page tables for this, because doing HPT translations is horrific, and the hash table doesn't keep all xlates around anyway. I would say start with radix, because we can find and walk the page tables architecturally so that will work nicely. I'd say maybe we could just treat all addresses below 0x4... as un translated and then we can just use straight skiboot (and other host real) addresses. Do we really care about user memory from pdbg? I'd say host real would be more useful. Other option might be to use some high bit like 0x1... for host real but that would mean you can't cut and paste addresses and I'm quite lazy. Thanks, Nick