|
|
@ -106,26 +106,34 @@ public:
|
|
|
|
/// Prepare the core emulation for a reschedule
|
|
|
|
/// Prepare the core emulation for a reschedule
|
|
|
|
void PrepareReschedule();
|
|
|
|
void PrepareReschedule();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets and resets core performance statistics
|
|
|
|
PerfStats::Results GetAndResetPerfStats();
|
|
|
|
PerfStats::Results GetAndResetPerfStats();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets an ARM interface to the CPU core that is currently running
|
|
|
|
ARM_Interface& CurrentArmInterface() {
|
|
|
|
ARM_Interface& CurrentArmInterface() {
|
|
|
|
return CurrentCpuCore().ArmInterface();
|
|
|
|
return CurrentCpuCore().ArmInterface();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets an ARM interface to the CPU core with the specified index
|
|
|
|
ARM_Interface& ArmInterface(size_t core_index);
|
|
|
|
ARM_Interface& ArmInterface(size_t core_index);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets a CPU interface to the CPU core with the specified index
|
|
|
|
Cpu& CpuCore(size_t core_index);
|
|
|
|
Cpu& CpuCore(size_t core_index);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets the GPU interface
|
|
|
|
Tegra::GPU& GPU() {
|
|
|
|
Tegra::GPU& GPU() {
|
|
|
|
return *gpu_core;
|
|
|
|
return *gpu_core;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets the scheduler for the CPU core that is currently running
|
|
|
|
Kernel::Scheduler& CurrentScheduler() {
|
|
|
|
Kernel::Scheduler& CurrentScheduler() {
|
|
|
|
return *CurrentCpuCore().Scheduler();
|
|
|
|
return *CurrentCpuCore().Scheduler();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets the scheduler for the CPU core with the specified index
|
|
|
|
const std::shared_ptr<Kernel::Scheduler>& Scheduler(size_t core_index);
|
|
|
|
const std::shared_ptr<Kernel::Scheduler>& Scheduler(size_t core_index);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// Gets the current process
|
|
|
|
Kernel::SharedPtr<Kernel::Process>& CurrentProcess() {
|
|
|
|
Kernel::SharedPtr<Kernel::Process>& CurrentProcess() {
|
|
|
|
return current_process;
|
|
|
|
return current_process;
|
|
|
|
}
|
|
|
|
}
|
|
|
|