base-hw: make Trace_source in Platform() a class

Apparently, there is no need for exposing the data members of Trace_source, so,
we sould better make them private before someone gets the impression that they
are meant to be accessed directly.

Ref #4217
This commit is contained in:
Martin Stein 2021-07-09 16:38:18 +02:00 committed by Norman Feske
parent aa6a7db50a
commit 277adcacb0

View File

@ -216,32 +216,39 @@ Platform::Platform()
init_core_log(Core_log_range { core_local_addr, log_size } ); init_core_log(Core_log_range { core_local_addr, log_size } );
} }
struct Trace_source : public Trace::Source::Info_accessor, class Trace_source : public Trace::Source::Info_accessor,
private Trace::Control, private Trace::Control,
private Trace::Source private Trace::Source
{ {
Kernel::Thread &thread; private:
Affinity::Location const affinity;
/** Kernel::Thread &_thread;
* Trace::Source::Info_accessor interface Affinity::Location const _affinity;
*/
Info trace_source_info() const override
{
Trace::Execution_time execution_time { thread.execution_time(), 0 };
return { Session_label("kernel"), thread.label(), execution_time,
affinity };
}
Trace_source(Trace::Source_registry &registry, public:
Kernel::Thread &thread, Affinity::Location affinity)
: /**
Trace::Control(), * Trace::Source::Info_accessor interface
Trace::Source(*this, *this), */
thread(thread), affinity(affinity) Info trace_source_info() const override
{ {
registry.insert(this); Trace::Execution_time execution_time {
} _thread.execution_time(), 0 };
return { Session_label("kernel"), _thread.label(),
execution_time, _affinity };
}
Trace_source(Trace::Source_registry &registry,
Kernel::Thread &thread, Affinity::Location affinity)
:
Trace::Control { },
Trace::Source { *this, *this },
_thread { thread },
_affinity { affinity }
{
registry.insert(this);
}
}; };
/* create trace sources for idle threads */ /* create trace sources for idle threads */