[haiku-commits] r35581 - haiku/trunk/src/system/kernel/device_manager

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 23 Feb 2010 14:42:55 +0100 (CET)

Author: bonefish
Date: 2010-02-23 14:42:55 +0100 (Tue, 23 Feb 2010)
New Revision: 35581
Changeset: http://dev.haiku-os.org/changeset/35581/haiku

Modified:
   haiku/trunk/src/system/kernel/device_manager/devfs.cpp
Log:
* Use add_debugger_command_etc() for adding the debugger commands.
* Added a "devfs_cookie" command.


Modified: haiku/trunk/src/system/kernel/device_manager/devfs.cpp
===================================================================
--- haiku/trunk/src/system/kernel/device_manager/devfs.cpp      2010-02-22 
23:05:39 UTC (rev 35580)
+++ haiku/trunk/src/system/kernel/device_manager/devfs.cpp      2010-02-23 
13:42:55 UTC (rev 35581)
@@ -790,8 +790,8 @@
 static int
 dump_node(int argc, char **argv)
 {
-       if (argc < 2 || !strcmp(argv[1], "--help")) {
-               kprintf("usage: %s <address>\n", argv[0]);
+       if (argc != 2) {
+               print_debugger_command_usage(argv[0]);
                return 0;
        }
 
@@ -841,6 +841,27 @@
 }
 
 
+static int
+dump_cookie(int argc, char** argv)
+{
+       if (argc != 2) {
+               print_debugger_command_usage(argv[0]);
+               return 0;
+       }
+
+       uint64 address;
+       if (!evaluate_debug_expression(argv[1], &address, false))
+               return 0;
+
+       struct devfs_cookie* cookie = (devfs_cookie*)(addr_t)address;
+
+       kprintf("DEVFS COOKIE: %p\n", cookie);
+       kprintf(" device_cookie: %p\n", cookie->device_cookie);
+
+       return 0;
+}
+
+
 //     #pragma mark - file system interface
 
 
@@ -1883,14 +1904,23 @@
 {
        switch (op) {
                case B_MODULE_INIT:
-                       add_debugger_command("devfs_node", &dump_node,
-                               "info about a private devfs node");
+                       add_debugger_command_etc("devfs_node", &dump_node,
+                               "Print info on a private devfs node",
+                               "<address>\n"
+                               "Prints information on a devfs node given by 
<address>.\n",
+                               0);
+                       add_debugger_command_etc("devfs_cookie", &dump_cookie,
+                               "Print info on a private devfs cookie",
+                               "<address>\n"
+                               "Prints information on a devfs cookie given by 
<address>.\n",
+                               0);
 
                        legacy_driver_init();
                        return B_OK;
 
                case B_MODULE_UNINIT:
                        remove_debugger_command("devfs_node", &dump_node);
+                       remove_debugger_command("devfs_cookie", &dump_cookie);
                        return B_OK;
 
                default:


Other related posts:

  • » [haiku-commits] r35581 - haiku/trunk/src/system/kernel/device_manager - ingo_weinhold