- Can be re-enabled with a #define
* logging.c - Kernel Logging Service
*/
#include <acess.h>
* logging.c - Kernel Logging Service
*/
#include <acess.h>
+#define CACHE_MESSAGES 0
#define PRINT_ON_APPEND 1
#define USE_RING_BUFFER 1
#define RING_BUFFER_SIZE 4096
#define PRINT_ON_APPEND 1
#define USE_RING_BUFFER 1
#define RING_BUFFER_SIZE 4096
+ #if USE_RING_BUFFER || !CACHE_MESSAGES
{
char buf[sizeof(tLogEntry)+len+1];
ent = (void*)buf;
{
char buf[sizeof(tLogEntry)+len+1];
ent = (void*)buf;
ent->Level = Level;
ent->Length = len;
vsnprintf( ent->Data, len+1, Format, Args );
ent->Level = Level;
ent->Length = len;
vsnprintf( ent->Data, len+1, Format, Args );
+
+ #if CACHE_MESSAGES
+ # if USE_RING_BUFFER
{
#define LOG_HDR_LEN (14+1+2+8+2)
char newData[ LOG_HDR_LEN + len + 2 + 1 ];
{
#define LOG_HDR_LEN (14+1+2+8+2)
char newData[ LOG_HDR_LEN + len + 2 + 1 ];
gpLog_RingBuffer->Space = RING_BUFFER_SIZE; // Needed to init the buffer
RingBuffer_Write( gpLog_RingBuffer, newData, LOG_HDR_LEN + len + 2 );
}
gpLog_RingBuffer->Space = RING_BUFFER_SIZE; // Needed to init the buffer
RingBuffer_Write( gpLog_RingBuffer, newData, LOG_HDR_LEN + len + 2 );
}
Mutex_Acquire( &glLog );
ent->Next = gLog.Tail;
Mutex_Acquire( &glLog );
ent->Next = gLog.Tail;
gLog_Levels[Level].Tail = gLog_Levels[Level].Head = ent;
Mutex_Release( &glLog );
gLog_Levels[Level].Tail = gLog_Levels[Level].Head = ent;
Mutex_Release( &glLog );
+ #if PRINT_ON_APPEND || !CACHE_MESSAGES
Log_Int_PrintMessage( ent );
#endif
Log_Int_PrintMessage( ent );
#endif
+ #if USE_RING_BUFFER || !CACHE_MESSAGES