hle: service: ldr: Implement UnloadNrr.
- Used by Final Fantasy X/X-2 HD Remaster.
This commit is contained in:
		
							parent
							
								
									6db0c0d8d9
								
							
						
					
					
						commit
						a0e5cccb92
					
				| @ -166,7 +166,7 @@ public: | ||||
|             {0, &RelocatableObject::LoadNro, "LoadNro"}, | ||||
|             {1, &RelocatableObject::UnloadNro, "UnloadNro"}, | ||||
|             {2, &RelocatableObject::LoadNrr, "LoadNrr"}, | ||||
|             {3, nullptr, "UnloadNrr"}, | ||||
|             {3, &RelocatableObject::UnloadNrr, "UnloadNrr"}, | ||||
|             {4, &RelocatableObject::Initialize, "Initialize"}, | ||||
|             {10, nullptr, "LoadNrrEx"}, | ||||
|         }; | ||||
| @ -272,6 +272,20 @@ public: | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
| 
 | ||||
|     void UnloadNrr(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::RequestParser rp{ctx}; | ||||
|         const auto pid = rp.Pop<u64>(); | ||||
|         const auto nrr_address = rp.Pop<VAddr>(); | ||||
| 
 | ||||
|         LOG_DEBUG(Service_LDR, "called with pid={}, nrr_address={:016X}", pid, nrr_address); | ||||
| 
 | ||||
|         nrr.erase(nrr_address); | ||||
| 
 | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
| 
 | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
| 
 | ||||
|     bool ValidateRegionForMap(Kernel::Memory::PageTable& page_table, VAddr start, | ||||
|                               std::size_t size) const { | ||||
|         constexpr std::size_t padding_size{4 * Kernel::Memory::PageSize}; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei