Rename KMALLOC_* -> MEM_* [2/2]
[akaros.git] / kern / src / printf.c
index a9d0c65..e00edc3 100644 (file)
@@ -1,10 +1,6 @@
 // Simple implementation of cprintf console output for the kernel,
 // based on printfmt() and the kernel console's cputchar().
 
 // Simple implementation of cprintf console output for the kernel,
 // based on printfmt() and the kernel console's cputchar().
 
-#ifdef __SHARC__
-#pragma nosharc
-#endif
-
 #include <arch/arch.h>
 #include <ros/common.h>
 
 #include <arch/arch.h>
 #include <ros/common.h>
 
@@ -12,6 +8,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include <smp.h>
 #include <stdio.h>
 #include <stdarg.h>
 #include <smp.h>
+#include <kprof.h>
 
 spinlock_t output_lock = SPINLOCK_INITIALIZER_IRQSAVE;
 
 
 spinlock_t output_lock = SPINLOCK_INITIALIZER_IRQSAVE;
 
@@ -27,8 +24,8 @@ void putch(int ch, int **cnt)
 void buffered_putch(int ch, int **cnt)
 {
        #define buffered_putch_bufsize 64
 void buffered_putch(int ch, int **cnt)
 {
        #define buffered_putch_bufsize 64
-       static char LCKD(&output_lock) (RO buf)[buffered_putch_bufsize];
-       static int LCKD(&output_lock) buflen = 0;
+       static char buf[buffered_putch_bufsize];
+       static int buflen = 0;
 
        if(ch != -1)
        {
 
        if(ch != -1)
        {
@@ -50,6 +47,12 @@ int vcprintf(const char *fmt, va_list ap)
        int cnt = 0;
        int *cntp = &cnt;
        volatile int i;
        int cnt = 0;
        int *cntp = &cnt;
        volatile int i;
+       int8_t irq_state = 0;
+       va_list args;
+
+       va_copy(args, ap);
+       trace_vprintk(false, fmt, args);
+       va_end(args);
 
        /* this ktrap depth stuff is in case the kernel faults in a printfmt call.
         * we disable the locking if we're in a fault handler so that we don't
 
        /* this ktrap depth stuff is in case the kernel faults in a printfmt call.
         * we disable the locking if we're in a fault handler so that we don't
@@ -63,7 +66,6 @@ int vcprintf(const char *fmt, va_list ap)
         * results as we print. */
        if (!ktrap_depth(pcpui)) {
                #ifdef CONFIG_TRACE_LOCKS
         * results as we print. */
        if (!ktrap_depth(pcpui)) {
                #ifdef CONFIG_TRACE_LOCKS
-               int8_t irq_state = 0;
                disable_irqsave(&irq_state);
                __spin_lock(&output_lock);
                #else
                disable_irqsave(&irq_state);
                __spin_lock(&output_lock);
                #else
@@ -72,11 +74,7 @@ int vcprintf(const char *fmt, va_list ap)
        }
 
        // do the buffered printf
        }
 
        // do the buffered printf
-       #ifdef __DEPUTY__
-       vprintfmt(buffered_putch, &cntp, fmt, ap);
-       #else
        vprintfmt((void*)buffered_putch, (void*)&cntp, fmt, ap);
        vprintfmt((void*)buffered_putch, (void*)&cntp, fmt, ap);
-       #endif
 
        // write out remaining chars in the buffer
        buffered_putch(-1,&cntp);
 
        // write out remaining chars in the buffer
        buffered_putch(-1,&cntp);