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::                      
 @menu
 * printf::                      
 * ASSERT::                      
-* DEBUG::                       
 * UNUSED NO_RETURN NO_INLINE PRINTF_FORMAT::  
 * Backtraces::                  
 * i386-elf-gdb::                
 * 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.
 
 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
 
 @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
 
 #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. */
 /* 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");
 }
     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)))
 
 #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);
 /* 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);
 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]));
   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
     else if (!strcmp (argv[i], "-q"))
       power_off_when_done = true;
 #ifdef USERPROG
@@ -255,8 +253,7 @@ argv_init (void)
       {
         printf (
           "Kernel options:\n"
       {
         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"
 #ifdef USERPROG
           " -ex 'PROG [ARG...]' Run PROG, passing the optional arguments.\n"
           " -ul USER_MAX        Limit user memory to USER_MAX pages.\n"