63,6 → 63,9 |
#include <ll/i386/hw-instr.h> |
#include "FTrace.h" |
|
#define TRACER_NO_OUTPUT 0 |
#define TRACER_UDP_OUTPUT 1 |
|
#define TRACER_LOGEVENT fast_logevent |
|
int tracer_initialize(int OutputType, int MemorySize); |
90,6 → 93,7 |
|
extern int TracerActive; |
extern unsigned long long TracerEventsRecorded; |
extern unsigned int TracerEventsSaved; |
|
SYS_FLAGS f; |
|
120,12 → 124,14 |
if (flag & 3) size += 4; |
|
// Adjust FirstTracerBuffer |
if (FirstTracerBuffer != StartTracerBuffer) { |
if (FirstTracerBuffer >= CurrentTracerBuffer && TracerEventsSaved != 0) { |
while ((CurrentTracerBuffer + size - 1) >= FirstTracerBuffer && |
FirstTracerBuffer != StartTracerBuffer) { |
FirstTracerBuffer += *(BYTE *)(FirstTracerBuffer + 9); |
if (FirstTracerBuffer >= LastBeforeEndTracerBuffer) FirstTracerBuffer = StartTracerBuffer; |
} |
} else { |
TracerEventsSaved++; |
} |
|
// Check if we overcome EndTracerBuffer |