Skip to content

Commit 74bc4be

Browse files
committed
trace: Put global trace context entries to separate section
To allow changing trace level of global elements, like system agent or component driver, than it must be possible to find corresponding trace context. It is the first step to allow iterating over the trace context entries and find what we are looking for. Linker variables _trace_ctx_start and _trace_ctx_end will be needed to know this section size in runtime code. Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
1 parent 4689780 commit 74bc4be

File tree

10 files changed

+33
-2
lines changed

10 files changed

+33
-2
lines changed

src/include/sof/trace/trace.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,11 @@ struct tr_ctx {
297297
uint32_t level; /**< Default log level */
298298
};
299299

300-
/* todo: put in a section to iterate over later while cfg log levels */
300+
#if defined(UNIT_TEST)
301+
#define TRACE_CONTEXT_SECTION
302+
#else
303+
#define TRACE_CONTEXT_SECTION __section(".trace_ctx")
304+
#endif
301305

302306
/**
303307
* Declares trace context.
@@ -306,7 +310,7 @@ struct tr_ctx {
306310
* @param default_log_level Default log level.
307311
*/
308312
#define DECLARE_TR_CTX(ctx_name, uuid, default_log_level) \
309-
struct tr_ctx ctx_name = { \
313+
struct tr_ctx ctx_name TRACE_CONTEXT_SECTION = { \
310314
.uuid_p = uuid, \
311315
.level = default_log_level, \
312316
}

src/platform/apollolake/apollolake.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,9 @@ SECTIONS
446446
*(.sdata2.*)
447447
*(.gnu.linkonce.s2.*)
448448
KEEP(*(.jcr))
449+
_trace_ctx_start = ABSOLUTE(.);
450+
*(.trace_ctx)
451+
_trace_ctx_end = ABSOLUTE(.);
449452
_data_end = ABSOLUTE(.);
450453
} >sof_fw :sof_fw_phdr
451454

src/platform/baytrail/baytrail.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,9 @@ SECTIONS
410410
*(.sdata2.*)
411411
*(.gnu.linkonce.s2.*)
412412
KEEP(*(.jcr))
413+
_trace_ctx_start = ABSOLUTE(.);
414+
*(.trace_ctx)
415+
_trace_ctx_end = ABSOLUTE(.);
413416
_data_end = ABSOLUTE(.);
414417
} >sof_data :sof_data_phdr
415418

src/platform/cannonlake/cannonlake.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,9 @@ SECTIONS
411411
*(.sdata2.*)
412412
*(.gnu.linkonce.s2.*)
413413
KEEP(*(.jcr))
414+
_trace_ctx_start = ABSOLUTE(.);
415+
*(.trace_ctx)
416+
_trace_ctx_end = ABSOLUTE(.);
414417
_data_end = ABSOLUTE(.);
415418
} >sof_fw :sof_fw_phdr
416419

src/platform/haswell/haswell.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,9 @@ SECTIONS
418418
*(.gnu.linkonce.s2.*)
419419
KEEP(*(.jcr))
420420
_data_end = ABSOLUTE(.);
421+
_trace_ctx_start = ABSOLUTE(.);
422+
*(.trace_ctx)
423+
_trace_ctx_end = ABSOLUTE(.);
421424
} >sof_data :sof_data_phdr
422425

423426
.lit4 : ALIGN(4)

src/platform/icelake/icelake.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,9 @@ SECTIONS
415415
*(.sdata2.*)
416416
*(.gnu.linkonce.s2.*)
417417
KEEP(*(.jcr))
418+
_trace_ctx_start = ABSOLUTE(.);
419+
*(.trace_ctx)
420+
_trace_ctx_end = ABSOLUTE(.);
418421
_data_end = ABSOLUTE(.);
419422
} >sof_fw :sof_fw_phdr
420423

src/platform/imx8/imx8.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,9 @@ SECTIONS
374374
*(.sdata2.*)
375375
*(.gnu.linkonce.s2.*)
376376
KEEP(*(.jcr))
377+
_trace_ctx_start = ABSOLUTE(.);
378+
*(.trace_ctx)
379+
_trace_ctx_end = ABSOLUTE(.);
377380
_data_end = ABSOLUTE(.);
378381
} >sof_sdram0 :sof_sdram0_phdr
379382

src/platform/imx8m/imx8m.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,9 @@ SECTIONS
374374
*(.sdata2.*)
375375
*(.gnu.linkonce.s2.*)
376376
KEEP(*(.jcr))
377+
_trace_ctx_start = ABSOLUTE(.);
378+
*(.trace_ctx)
379+
_trace_ctx_end = ABSOLUTE(.);
377380
_data_end = ABSOLUTE(.);
378381
} >sof_sdram0 :sof_sdram0_phdr
379382

src/platform/suecreek/suecreek.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,9 @@ SECTIONS
413413
*(.sdata2.*)
414414
*(.gnu.linkonce.s2.*)
415415
KEEP(*(.jcr))
416+
_trace_ctx_start = ABSOLUTE(.);
417+
*(.trace_ctx)
418+
_trace_ctx_end = ABSOLUTE(.);
416419
_data_end = ABSOLUTE(.);
417420
} >sof_fw :sof_fw_phdr
418421

src/platform/tigerlake/tigerlake.x.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,9 @@ SECTIONS
465465
*(.sdata2.*)
466466
*(.gnu.linkonce.s2.*)
467467
KEEP(*(.jcr))
468+
_trace_ctx_start = ABSOLUTE(.);
469+
*(.trace_ctx)
470+
_trace_ctx_end = ABSOLUTE(.);
468471
_data_end = ABSOLUTE(.);
469472
} >sof_fw :sof_fw_phdr
470473

0 commit comments

Comments
 (0)