mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	service/gsp: Add Stub for InvalidateDataCache
This commit is contained in:
		
							parent
							
								
									c6554f1fbc
								
							
						
					
					
						commit
						b94cb61de8
					
				
					 2 changed files with 31 additions and 1 deletions
				
			
		|  | @ -323,6 +323,21 @@ void GSP_GPU::FlushDataCache(Kernel::HLERequestContext& ctx) { | ||||||
|                 address, size, process->process_id); |                 address, size, process->process_id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void GSP_GPU::InvalidateDataCache(Kernel::HLERequestContext& ctx) { | ||||||
|  |     IPC::RequestParser rp(ctx, 0x9, 2, 2); | ||||||
|  |     u32 address = rp.Pop<u32>(); | ||||||
|  |     u32 size = rp.Pop<u32>(); | ||||||
|  |     auto process = rp.PopObject<Kernel::Process>(); | ||||||
|  | 
 | ||||||
|  |     // TODO(purpasmart96): Verify return header on HW
 | ||||||
|  | 
 | ||||||
|  |     IPC::RequestBuilder rb = rp.MakeBuilder(1, 0); | ||||||
|  |     rb.Push(RESULT_SUCCESS); | ||||||
|  | 
 | ||||||
|  |     NGLOG_DEBUG(Service_GSP, "(STUBBED) called address=0x{:08X}, size=0x{:08X}, process={}", | ||||||
|  |                 address, size, process->process_id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void GSP_GPU::SetAxiConfigQoSMode(Kernel::HLERequestContext& ctx) { | void GSP_GPU::SetAxiConfigQoSMode(Kernel::HLERequestContext& ctx) { | ||||||
|     IPC::RequestParser rp(ctx, 0x10, 1, 0); |     IPC::RequestParser rp(ctx, 0x10, 1, 0); | ||||||
|     u32 mode = rp.Pop<u32>(); |     u32 mode = rp.Pop<u32>(); | ||||||
|  | @ -747,7 +762,7 @@ GSP_GPU::GSP_GPU() : ServiceFramework("gsp::Gpu", 2) { | ||||||
|         {0x00060082, nullptr, "SetCommandList"}, |         {0x00060082, nullptr, "SetCommandList"}, | ||||||
|         {0x000700C2, nullptr, "RequestDma"}, |         {0x000700C2, nullptr, "RequestDma"}, | ||||||
|         {0x00080082, &GSP_GPU::FlushDataCache, "FlushDataCache"}, |         {0x00080082, &GSP_GPU::FlushDataCache, "FlushDataCache"}, | ||||||
|         {0x00090082, nullptr, "InvalidateDataCache"}, |         {0x00090082, &GSP_GPU::InvalidateDataCache, "InvalidateDataCache"}, | ||||||
|         {0x000A0044, nullptr, "RegisterInterruptEvents"}, |         {0x000A0044, nullptr, "RegisterInterruptEvents"}, | ||||||
|         {0x000B0040, &GSP_GPU::SetLcdForceBlack, "SetLcdForceBlack"}, |         {0x000B0040, &GSP_GPU::SetLcdForceBlack, "SetLcdForceBlack"}, | ||||||
|         {0x000C0000, &GSP_GPU::TriggerCmdReqQueue, "TriggerCmdReqQueue"}, |         {0x000C0000, &GSP_GPU::TriggerCmdReqQueue, "TriggerCmdReqQueue"}, | ||||||
|  |  | ||||||
|  | @ -279,6 +279,21 @@ private: | ||||||
|      */ |      */ | ||||||
|     void FlushDataCache(Kernel::HLERequestContext& ctx); |     void FlushDataCache(Kernel::HLERequestContext& ctx); | ||||||
| 
 | 
 | ||||||
|  |     /**
 | ||||||
|  |      * GSP_GPU::InvalidateDataCache service function | ||||||
|  |      * | ||||||
|  |      * This Function is a no-op, We aren't emulating the CPU cache any time soon. | ||||||
|  |      * | ||||||
|  |      *  Inputs: | ||||||
|  |      *      1 : Address | ||||||
|  |      *      2 : Size | ||||||
|  |      *      3 : Value 0, some descriptor for the KProcess Handle | ||||||
|  |      *      4 : KProcess handle | ||||||
|  |      *  Outputs: | ||||||
|  |      *      1 : Result of function, 0 on success, otherwise error code | ||||||
|  |      */ | ||||||
|  |     void InvalidateDataCache(Kernel::HLERequestContext& ctx); | ||||||
|  | 
 | ||||||
|     /**
 |     /**
 | ||||||
|      * GSP_GPU::SetLcdForceBlack service function |      * GSP_GPU::SetLcdForceBlack service function | ||||||
|      * |      * | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue