From owner-freebsd-hackers@FreeBSD.ORG Sun Aug 17 18:23:33 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21AEB106566B for ; Sun, 17 Aug 2008 18:23:33 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id E6F098FC12 for ; Sun, 17 Aug 2008 18:23:32 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id m7HINVEH050895 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 17 Aug 2008 11:23:32 -0700 (PDT) (envelope-from sam@freebsd.org) Message-ID: <48A86CA3.3040007@freebsd.org> Date: Sun, 17 Aug 2008 11:23:31 -0700 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.9 (X11/20071125) MIME-Version: 1.0 To: Guillaume Ballet References: <48A70B37.60401@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC--Metrics: ebb.errno.com; whitelist Cc: freebsd-hackers@freebsd.org Subject: Re: Extending the ddb command set X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Aug 2008 18:23:33 -0000 Guillaume Ballet wrote: > On Sat, Aug 16, 2008 at 5:15 PM, Sam Leffler wrote: > >> Guillaume Ballet wrote: >> >>> Hello hackers, >>> >>> I am currently working on a small project and would like to add a few >>> commands to the set that is available in ddb. >>> >>> I found that very interesting albeit succinct presentation: >>> http://people.freebsd.org/~jhb/papers/bsdcan/2008/slides.odp >>> >>> where the author hints that I should use DB_COMMAND, which I did. Yet when >>> invoking ddb, the command does not appear in the help list. I have taken a >>> look at the source code and was expecting set_db_cmd_set to appear in my >>> module's section list when calling objdump -h >>> >>> Is DB_COMMAND only working within the kernel itself, and not modules? >>> >>> >>> >> That is correct; you can't add ddb cmds from modules. It should be doable; just hasn't been done yet. >> >> Sam >> >> > > It is indeed doable: Here are the diffs for a first attempt at doing > this. I am not entirely satisfied with it, though, as it does not work > with DB_SHOW_COMMAND and the likes... Also, I have to declare a lot of > ddb-related stuff into kern_linker.c and I don't like it. I am > currently working at improving the whole thing, but in the mean time > if someone wants to give it a try, comments/rants would be greatly > appreciated. > > Last I looked at this I was convinced it could be done using SYSINIT's and the existing mechanisms for adding ddb cmds. I don't think you need to modify the linker or ddb. Not sure if you looked sys/module.h and/or sys/kernel.h? Sam