28 #define PROFILER_N_HEADER_WORDS 1
68 #ifdef PROFILER_ENABLED
71 #include <spin1_api.h>
79 PROFILER_ENTER = 1 << 31,
112 uint sr = spin1_irq_disable();
115 spin1_mode_restore(sr);
123 uint sr = spin1_fiq_disable();
125 spin1_mode_restore(sr);
129 static inline void __profiler_skip(
void) {
return; }
131 #define profiler_write_entry(tag) __profiler_skip()
132 #define profiler_write_entry_disable_irq_fiq(tag) __profiler_skip()
133 #define profiler_write_entry_disable_fiq(tag) __profiler_skip()
void profiler_init(uint32_t *data_region)
Initialise the profiler from a SDRAM region.
static void profiler_write_entry_disable_fiq(uint32_t tag)
Write an entry with just fast interrupts disabled.
void profiler_finalise(void)
Finalises profiling.
profiler_event
Types of profiler event.
uint32_t samples[]
The samples.
static void profiler_write_entry_disable_irq_fiq(uint32_t tag)
Write an entry with all interrupts disabled.
static void profiler_write_entry(uint32_t tag)
Write a profiler entry.
uint32_t count
The number of samples taken.
uint32_t samples_remaining
How many samples can be written before space is exhausted.
uint32_t * output
Points to where the next sample will be written.
uint32_t * count
Points to where the profiling data starts being stored.
The layout of the profiler's DSG region.
The internal state of the profiler.