Extending the ddb command set
Guillaume Ballet
gballet at gmail.com
Sun Aug 24 20:01:26 UTC 2008
On Mon, Aug 18, 2008 at 2:02 PM, John Baldwin <jhb at freebsd.org> wrote:
> (snip)
> A simpler approach is probably to make DB_COMMAND() use a SYSINIT to register
> new functions instead of teaching DDB about that linker set. You just need
> to write a shared "register_command()" function (and a deregister for
> SYSUNINIT for module unload) that the SYSINIT uses. This also probably
> requires changing the structure of the DDB tables, though you might be able
> to make it simpler now. You could probably just make the tables be sorted
> linked lists now instead of arrays. This would also remove the whole "aux
> table" hack.
>
Following Sam and John's advice, I have rewritten the patch so as to
use SYS(UN)INIT. It uses a linked list instead of an array to store
commands.
As the patch is more than 400 lines long, it is available for reviewing at:
http://dl.free.fr/jQQQkB72h0
I used 7.0 ; 6.2 requires a bit more work.
Many thanks to Sam, John and Kostik for their suggestions. Feedback is
still welcome :)
More information about the freebsd-hackers
mailing list