mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	kernel: Add IPC Recorder to KernelSystem
Refer to the previous commit message for reasons why this is in kernel.
This commit is contained in:
		
							parent
							
								
									a3057c968b
								
							
						
					
					
						commit
						b093d39a27
					
				
					 2 changed files with 19 additions and 0 deletions
				
			
		|  | @ -5,6 +5,7 @@ | |||
| #include "core/hle/kernel/client_port.h" | ||||
| #include "core/hle/kernel/config_mem.h" | ||||
| #include "core/hle/kernel/handle_table.h" | ||||
| #include "core/hle/kernel/ipc_debugger/recorder.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| #include "core/hle/kernel/memory.h" | ||||
| #include "core/hle/kernel/process.h" | ||||
|  | @ -25,6 +26,7 @@ KernelSystem::KernelSystem(Memory::MemorySystem& memory, Core::Timing& timing, | |||
|     resource_limits = std::make_unique<ResourceLimitList>(*this); | ||||
|     thread_manager = std::make_unique<ThreadManager>(*this); | ||||
|     timer_manager = std::make_unique<TimerManager>(timing); | ||||
|     ipc_recorder = std::make_unique<IPCDebugger::Recorder>(); | ||||
| } | ||||
| 
 | ||||
| /// Shutdown the kernel
 | ||||
|  | @ -87,6 +89,14 @@ const SharedPage::Handler& KernelSystem::GetSharedPageHandler() const { | |||
|     return *shared_page_handler; | ||||
| } | ||||
| 
 | ||||
| IPCDebugger::Recorder& KernelSystem::GetIPCRecorder() { | ||||
|     return *ipc_recorder; | ||||
| } | ||||
| 
 | ||||
| const IPCDebugger::Recorder& KernelSystem::GetIPCRecorder() const { | ||||
|     return *ipc_recorder; | ||||
| } | ||||
| 
 | ||||
| void KernelSystem::AddNamedPort(std::string name, std::shared_ptr<ClientPort> port) { | ||||
|     named_ports.emplace(std::move(name), std::move(port)); | ||||
| } | ||||
|  |  | |||
|  | @ -32,6 +32,10 @@ namespace Core { | |||
| class Timing; | ||||
| } | ||||
| 
 | ||||
| namespace IPCDebugger { | ||||
| class Recorder; | ||||
| } | ||||
| 
 | ||||
| namespace Kernel { | ||||
| 
 | ||||
| class AddressArbiter; | ||||
|  | @ -222,6 +226,9 @@ public: | |||
|     SharedPage::Handler& GetSharedPageHandler(); | ||||
|     const SharedPage::Handler& GetSharedPageHandler() const; | ||||
| 
 | ||||
|     IPCDebugger::Recorder& GetIPCRecorder(); | ||||
|     const IPCDebugger::Recorder& GetIPCRecorder() const; | ||||
| 
 | ||||
|     MemoryRegionInfo* GetMemoryRegion(MemoryRegion region); | ||||
| 
 | ||||
|     void HandleSpecialMapping(VMManager& address_space, const AddressMapping& mapping); | ||||
|  | @ -274,6 +281,8 @@ private: | |||
| 
 | ||||
|     std::unique_ptr<ConfigMem::Handler> config_mem_handler; | ||||
|     std::unique_ptr<SharedPage::Handler> shared_page_handler; | ||||
| 
 | ||||
|     std::unique_ptr<IPCDebugger::Recorder> ipc_recorder; | ||||
| }; | ||||
| 
 | ||||
| } // namespace Kernel
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue