Compare commits

...

2 Commits

Author SHA1 Message Date
gdkchan
2ddd3dd4a7 Allow BSD sockets Poll to exit when emulation ends (#6650) 2024-04-11 14:56:21 +02:00
gdkchan
a8f7ababb5 Revert "Update StoreConstantToMemory to match StoreConstantToAddress on value…" (#6649)
This reverts commit 22e3ff06b5.
2024-04-10 21:50:06 -03:00
2 changed files with 4 additions and 5 deletions

View File

@@ -440,8 +440,9 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
// If we are here, that mean nothing was available, sleep for 50ms
context.Device.System.KernelContext.Syscall.SleepThread(50 * 1000000);
context.Thread.HandlePostSyscall();
}
while (PerformanceCounter.ElapsedMilliseconds < budgetLeftMilliseconds);
while (context.Thread.Context.Running && PerformanceCounter.ElapsedMilliseconds < budgetLeftMilliseconds);
}
else if (timeout == -1)
{

View File

@@ -15,8 +15,7 @@ namespace Ryujinx.HLE.HOS.Tamper.CodeEmitters
private const int OffsetRegisterIndex = 6;
private const int ValueImmediateIndex = 8;
private const int ValueImmediateSize8 = 8;
private const int ValueImmediateSize16 = 16;
private const int ValueImmediateSize = 16;
public static void Emit(byte[] instruction, CompilationContext context)
{
@@ -32,8 +31,7 @@ namespace Ryujinx.HLE.HOS.Tamper.CodeEmitters
Register sourceRegister = context.GetRegister(instruction[AddressRegisterIndex]);
byte incrementAddressRegister = instruction[IncrementAddressRegisterIndex];
byte useOffsetRegister = instruction[UseOffsetRegisterIndex];
int valueImmediateSize = operationWidth <= 4 ? ValueImmediateSize8 : ValueImmediateSize16;
ulong immediate = InstructionHelper.GetImmediate(instruction, ValueImmediateIndex, valueImmediateSize);
ulong immediate = InstructionHelper.GetImmediate(instruction, ValueImmediateIndex, ValueImmediateSize);
Value<ulong> storeValue = new(immediate);
Pointer destinationMemory;