Get rid of DEBUG macro, supporting code, and documentation,
authorBen Pfaff <blp@cs.stanford.edu>
Tue, 12 Apr 2005 05:05:47 +0000 (05:05 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 12 Apr 2005 05:05:47 +0000 (05:05 +0000)
because no one ever used it.

doc/debug.texi
src/lib/debug.c
src/lib/debug.h
src/threads/init.c

index 961888f297be48973b9af5d56ff28af3fcef23f1..75d9b242a79b12dfbb0496d4d962e538a0259d98 100644 (file)
@@ -7,7 +7,6 @@ introduces you to a few of them.
 @menu
 * printf::                      
 * ASSERT::                      
-* DEBUG::                       
 * UNUSED NO_RETURN NO_INLINE PRINTF_FORMAT::  
 * Backtraces::                  
 * i386-elf-gdb::                
@@ -53,31 +52,6 @@ When an assertion proves untrue, the kernel panics.  The panic message
 should help you to find the problem.  See the description of
 backtraces below for more information.
 
-@node DEBUG
-@section @code{DEBUG}
-
-The @code{DEBUG} macro, also defined in @file{<debug.h>}, is a sort of
-conditional @func{printf}.  It takes as its arguments the name of a
-``message class'' and a @func{printf}-like format string and
-arguments.  The message class is used to filter the messages that are
-actually displayed.  You select the messages to display on the Pintos
-command line using the @option{-d} option.  This allows you to easily
-turn different types of messages on and off while you debug, without
-the need to recompile.
-
-For example, suppose you want to output thread debugging messages.  To
-use a class named @code{thread}, you could invoke @code{DEBUG} like
-this:
-@example
-DEBUG(thread, "thread id: %d\n", id);
-@end example
-@noindent
-and then to start Pintos with @code{thread} messages enable you'd use
-a command line like this:
-@example
-pintos run -d thread
-@end example
-
 @node UNUSED NO_RETURN NO_INLINE PRINTF_FORMAT
 @section UNUSED, NO_RETURN, NO_INLINE, and PRINTF_FORMAT
 
index 4f0f5f303cf933dab61c1b1e6f723d7ed7b8bb6b..66e911926a4cced405ac13b13d79a4a24dd40f14 100644 (file)
 #include <syscall.h>
 #endif
 
-#define MAX_CLASSES 16
-static bool all_enabled;
-static const char *enabled_classes[MAX_CLASSES];
-static size_t enabled_cnt;
-
-static bool class_is_enabled (const char *class);
-
-/* Enables the debug message classes specified in CLASSES.  The
-   string CLASSES is modified by and becomes owned by this
-   function. */
-void
-debug_enable (char *classes) 
-{
-  char *class, *save;
-
-  for (class = strtok_r (classes, ",", &save); class != NULL;
-       class = strtok_r (NULL, ",", &save))
-    {
-      if (strcmp (class, "all") && enabled_cnt < MAX_CLASSES)
-        enabled_classes[enabled_cnt++] = class;
-      else
-        all_enabled = true;
-    }
-}
-
-/* Prints a debug message along with the source file name, line
-   number, and function name of where it was emitted.  CLASS is
-   used to filter out unwanted messages. */
-void
-debug_message (const char *file, int line, const char *function,
-               const char *class, const char *message, ...) 
-{
-  if (class_is_enabled (class)) 
-    {
-      va_list args;
-
-#ifdef KERNEL
-      enum intr_level old_level = intr_disable ();
-#endif
-      printf ("%s:%d: %s(): ", file, line, function);
-      va_start (args, message);
-      vprintf (message, args);
-      printf ("\n");
-      va_end (args);
-#ifdef KERNEL
-      intr_set_level (old_level);
-#endif
-    }
-}
-
 /* Halts the OS or user program, printing the source file name,
    line number, and function name, plus a user-specific
    message. */
@@ -118,20 +68,3 @@ debug_backtrace (void)
     printf (" %p", frame[1]);
   printf (".\n");
 }
-\f
-
-/* Returns true if CLASS is enabled, false otherwise. */
-static bool
-class_is_enabled (const char *class) 
-{
-  size_t i;
-  
-  if (all_enabled)
-    return true;
-
-  for (i = 0; i < enabled_cnt; i++)
-    if (!strcmp (enabled_classes[i], class))
-      return true;
-
-  return false;
-}
index 947dff204f17fab746107a8def7b097d23a3db52..3ab800b9b5f5ccd6a291b1d1c1f3daf7ba6cd089 100644 (file)
@@ -9,20 +9,11 @@
 #define NO_INLINE __attribute__ ((noinline))
 #define PRINTF_FORMAT(FMT, FIRST) __attribute__ ((format (printf, FMT, FIRST)))
 
-/* Prints a debug message along with the source file name, line
-   number, and function name of where it was emitted.  CLASS is
-   used to filter out unwanted messages. */
-#define DEBUG(CLASS, ...)                                               \
-        debug_message (__FILE__, __LINE__, __func__, #CLASS, __VA_ARGS__)
-
 /* Halts the OS, printing the source file name, line number, and
    function name, plus a user-specific message. */
 #define PANIC(...) debug_panic (__FILE__, __LINE__, __func__, __VA_ARGS__)
 
 void debug_enable (char *classes);
-void debug_message (const char *file, int line, const char *function,
-                    const char *class, const char *message, ...)
-     PRINTF_FORMAT (5, 6);
 void debug_panic (const char *file, int line, const char *function,
                   const char *message, ...) PRINTF_FORMAT (4, 5) NO_RETURN;
 void debug_backtrace (void);
index f6a01dc67080688e44d3f45759c73745dcc75331..589661619b056a2eb40643f2b746da5a9daff15e 100644 (file)
@@ -222,8 +222,6 @@ argv_init (void)
   for (i = 0; i < argc; i++)
     if (!strcmp (argv[i], "-rs")) 
       random_init (atoi (argv[++i]));
-    else if (!strcmp (argv[i], "-d")) 
-      debug_enable (argv[++i]);
     else if (!strcmp (argv[i], "-q"))
       power_off_when_done = true;
 #ifdef USERPROG
@@ -255,8 +253,7 @@ argv_init (void)
       {
         printf (
           "Kernel options:\n"
-          " -rs SEED            Seed random seed to SEED.\n"
-          " -d CLASS[,...]      Enable the given classes of debug messages.\n"
+          " -rs SEED            Set random seed to SEED.\n"
 #ifdef USERPROG
           " -ex 'PROG [ARG...]' Run PROG, passing the optional arguments.\n"
           " -ul USER_MAX        Limit user memory to USER_MAX pages.\n"