mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-30 23:49:01 -05:00 
			
		
		
		
	Added bitfield instead of manually checking if the bit is set
This commit is contained in:
		| @@ -301,19 +301,27 @@ static ResultCode ArbitrateUnlock(VAddr mutex_addr) { | ||||
|     return Mutex::Release(mutex_addr); | ||||
| } | ||||
|  | ||||
| struct BreakReason { | ||||
|     union { | ||||
|         u64 raw; | ||||
|         BitField<31, 1, u64> dont_kill_application; | ||||
|     }; | ||||
| }; | ||||
|  | ||||
| /// Break program execution | ||||
| static void Break(u64 reason, u64 info1, u64 info2) { | ||||
|     if ((reason & (1 << 31)) == 0) { | ||||
|     BreakReason break_reason{reason}; | ||||
|     if (break_reason.dont_kill_application) { | ||||
|         LOG_ERROR( | ||||
|             Debug_Emulated, | ||||
|             "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", | ||||
|             reason, info1, info2); | ||||
|     } else { | ||||
|         LOG_CRITICAL( | ||||
|             Debug_Emulated, | ||||
|             "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", | ||||
|             reason, info1, info2); | ||||
|         ASSERT(false); | ||||
|     } else { | ||||
|         LOG_ERROR( | ||||
|             Debug_Emulated, | ||||
|             "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", | ||||
|             reason, info1, info2); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 David Marcec
					David Marcec