|
@@ -9,6 +9,7 @@
|
|
|
#include "common/common_types.h"
|
|
#include "common/common_types.h"
|
|
|
#include "core/memory.h"
|
|
#include "core/memory.h"
|
|
|
#include "core/perf_stats.h"
|
|
#include "core/perf_stats.h"
|
|
|
|
|
+#include "core/telemetry_session.h"
|
|
|
|
|
|
|
|
class EmuWindow;
|
|
class EmuWindow;
|
|
|
class ARM_Interface;
|
|
class ARM_Interface;
|
|
@@ -80,6 +81,14 @@ public:
|
|
|
return cpu_core != nullptr;
|
|
return cpu_core != nullptr;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Returns a reference to the telemetry session for this emulation session.
|
|
|
|
|
+ * @returns Reference to the telemetry session.
|
|
|
|
|
+ */
|
|
|
|
|
+ Core::TelemetrySession& TelemetrySession() const {
|
|
|
|
|
+ return *telemetry_session;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/// Prepare the core emulation for a reschedule
|
|
/// Prepare the core emulation for a reschedule
|
|
|
void PrepareReschedule();
|
|
void PrepareReschedule();
|
|
|
|
|
|
|
@@ -117,6 +126,9 @@ private:
|
|
|
/// When true, signals that a reschedule should happen
|
|
/// When true, signals that a reschedule should happen
|
|
|
bool reschedule_pending{};
|
|
bool reschedule_pending{};
|
|
|
|
|
|
|
|
|
|
+ /// Telemetry session for this emulation session
|
|
|
|
|
+ std::unique_ptr<Core::TelemetrySession> telemetry_session;
|
|
|
|
|
+
|
|
|
static System s_instance;
|
|
static System s_instance;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -124,4 +136,8 @@ inline ARM_Interface& CPU() {
|
|
|
return System::GetInstance().CPU();
|
|
return System::GetInstance().CPU();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+inline TelemetrySession& Telemetry() {
|
|
|
|
|
+ return System::GetInstance().TelemetrySession();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
} // namespace Core
|
|
} // namespace Core
|