Subversion Repositories HelenOS

Rev

Rev 4343 | Rev 4346 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4343 Rev 4344
Line 49... Line 49...
49
#include <atomic.h>
49
#include <atomic.h>
50
 
50
 
51
#define KLOG_SIZE PAGE_SIZE
51
#define KLOG_SIZE PAGE_SIZE
52
#define KLOG_LATENCY 8
52
#define KLOG_LATENCY 8
53
 
53
 
54
/**< Kernel log cyclic buffer */
54
/** Kernel log cyclic buffer */
55
static char klog[KLOG_SIZE] __attribute__ ((aligned (PAGE_SIZE)));
55
static char klog[KLOG_SIZE] __attribute__ ((aligned (PAGE_SIZE)));
56
 
56
 
57
/**< Kernel log initialized */
57
/** Kernel log initialized */
58
static bool klog_inited = false;
58
static bool klog_inited = false;
59
/**< First kernel log characters */
59
/** First kernel log characters */
60
static index_t klog_start = 0;
60
static index_t klog_start = 0;
61
/**< Number of valid kernel log characters */
61
/** Number of valid kernel log characters */
62
static size_t klog_len = 0;
62
static size_t klog_len = 0;
63
/**< Number of stored (not printed) kernel log characters */
63
/** Number of stored (not printed) kernel log characters */
64
static size_t klog_stored = 0;
64
static size_t klog_stored = 0;
65
/**< Number of stored kernel log characters for uspace */
65
/** Number of stored kernel log characters for uspace */
66
static size_t klog_uspace = 0;
66
static size_t klog_uspace = 0;
67
 
67
 
68
/**< Silent output */
68
/** Silence output */
69
static bool silent = false;
69
bool silent = false;
70
 
70
 
71
/**< Kernel log spinlock */
71
/** Kernel log spinlock */
72
SPINLOCK_INITIALIZE(klog_lock);
72
SPINLOCK_INITIALIZE(klog_lock);
73
 
73
 
74
/** Physical memory area used for klog buffer */
74
/** Physical memory area used for klog buffer */
75
static parea_t klog_parea;
75
static parea_t klog_parea;
76
 
76
 
Line 99... Line 99...
99
 *
99
 *
100
 * This is not a real IRQ, so we always decline.
100
 * This is not a real IRQ, so we always decline.
101
 *
101
 *
102
 * @return Always returns IRQ_DECLINE.
102
 * @return Always returns IRQ_DECLINE.
103
 */
103
 */
104
static irq_ownership_t klog_claim(void *instance)
104
static irq_ownership_t klog_claim(irq_t *irq)
105
{
105
{
106
    return IRQ_DECLINE;
106
    return IRQ_DECLINE;
107
}
107
}
108
 
108
 
109
/** Standard input character device */
109
/** Standard input character device */