mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Memory: replace Core::CPU
This commit is contained in:
		
							parent
							
								
									5f6d9f1915
								
							
						
					
					
						commit
						9573ee46bd
					
				
					 3 changed files with 14 additions and 2 deletions
				
			
		|  | @ -189,6 +189,7 @@ System::ResultStatus System::Init(EmuWindow& emu_window, u32 system_mode) { | |||
|     } | ||||
| 
 | ||||
|     kernel->GetThreadManager().SetCPU(*cpu_core); | ||||
|     memory->SetCPU(*cpu_core); | ||||
| 
 | ||||
|     if (Settings::values.enable_dsp_lle) { | ||||
|         dsp_core = std::make_unique<AudioCore::DspLle>(*memory, | ||||
|  |  | |||
|  | @ -65,15 +65,21 @@ public: | |||
|     PageTable* current_page_table = nullptr; | ||||
|     RasterizerCacheMarker cache_marker; | ||||
|     std::vector<PageTable*> page_table_list; | ||||
| 
 | ||||
|     ARM_Interface* cpu = nullptr; | ||||
| }; | ||||
| 
 | ||||
| MemorySystem::MemorySystem() : impl(std::make_unique<Impl>()) {} | ||||
| MemorySystem::~MemorySystem() = default; | ||||
| 
 | ||||
| void MemorySystem::SetCPU(ARM_Interface& cpu) { | ||||
|     impl->cpu = &cpu; | ||||
| } | ||||
| 
 | ||||
| void MemorySystem::SetCurrentPageTable(PageTable* page_table) { | ||||
|     impl->current_page_table = page_table; | ||||
|     if (Core::System::GetInstance().IsPoweredOn()) { | ||||
|         Core::CPU().PageTableChanged(); | ||||
|     if (impl->cpu != nullptr) { | ||||
|         impl->cpu->PageTableChanged(); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -12,6 +12,8 @@ | |||
| #include "common/common_types.h" | ||||
| #include "core/mmio.h" | ||||
| 
 | ||||
| class ARM_Interface; | ||||
| 
 | ||||
| namespace Kernel { | ||||
| class Process; | ||||
| } | ||||
|  | @ -214,6 +216,9 @@ public: | |||
|     MemorySystem(); | ||||
|     ~MemorySystem(); | ||||
| 
 | ||||
|     /// Sets CPU to notify page table change
 | ||||
|     void SetCPU(ARM_Interface& cpu); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Maps an allocated buffer onto a region of the emulated process address space. | ||||
|      * | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue