sharpemu/tests
Usif 46a7d3a446
[Kernel] Keep oversized reservations at the guest's hint and sign-extend user event ids (#1073)
* [Kernel] Keep an oversized reservation at the guest's hint instead of failing

A 768 GB sceKernelReserveVirtualRange with a hint at 0x1000000000 cannot use the
sparse aperture (it starts at 256 GB, and 256 GB plus 768 GB passes the 1008 GB
user limit), so it needed one contiguous host placeholder. When a host
allocation made before the startup reservation sits inside that window, the
call fails with 0x8002000C and the guest stops at boot.

Reserve such a range at the guest's own hint as a guest-only sparse range, as
smaller large reservations already are.

* [Kernel] Sign-extend the int id of user events into the event ident

sceKernelAddUserEvent, sceKernelAddUserEventEdge, sceKernelDeleteUserEvent and
sceKernelTriggerUserEvent take an int id, which the kernel stores in the
uintptr_t ident of the event. A negative id such as -1 therefore reads back from
sceKernelGetEventId as 0xFFFFFFFFFFFFFFFF. The exports used the zero-extended
register (0x00000000FFFFFFFF), so a guest that treats a negative id as a
wake-up event took its normal event path instead and never went back to wait.

Use the sign-extended id in all four exports.
2026-10-10 03:39:51 +03:00
..
SharpEmu.Libs.Tests [Kernel] Keep oversized reservations at the guest's hint and sign-extend user event ids (#1073) 2026-10-10 03:39:51 +03:00
SharpEmu.ShaderCompiler.Metal.Tests [SpirvTranslator] Shader fixes (#1019) 2026-10-04 01:17:02 +03:00
SharpEmu.ShaderCompiler.Tests Revert the 18 Silent Hill rendering and performance merges (#1065) 2026-10-07 12:15:45 +02:00
SharpEmu.SourceGenerators.Tests feat(hle): prefer loaded guest exports for selected registrations (#844) 2026-08-25 22:32:57 +02:00