Herman S.
cb12f7fa1e
[Build] Generalize POSIX platform guards
...
Most non-Windows code paths use standard POSIX APIs (sockets, signals,
dlopen, threading) that work on any POSIX platform. Change Linux-specific
guards to !WIN32 or #else where the code is portable. Linux-specific
APIs (SIGRTMIN, Vulkan/X11, fontconfig/GTK) remain Linux-guarded.
2026-03-26 23:10:47 +09:00
Herman S.
597a0c2d1e
[Xboxkrnl] Use towupper in RtlUpcaseUnicodeChar for portability
...
std::ctype<char16_t> is a non-standard extension that's not available
on all platforms. Neither this nor the original technically match the
Windows kernel's fixed Unicode table approach and can produce different
results based on system locale.
2026-03-26 23:10:47 +09:00
Herman S.
ec5bd872d5
[Build/Kernel] Guard zlib-ng x86 SIMD defines behind XE_TARGET_X86_64
2026-03-26 16:28:27 +09:00
The-Little-Wolf
c4f4412df9
[Xam/Info] - Implement GetSystemTimeAsFileTime & QueryPerformanceFrequency
...
- Implement QueryPerformanceFrequency, GetSystemTimeAsFileTime
- Used in Aurora and dash launch
2026-03-24 22:36:53 +01:00
Adrian
4ed7fa3af3
[UI] Fixed input focus interfering with gamepad navigation
2026-03-23 21:26:17 +01:00
Adrian
022a29fe58
[XAM] Fixed potential use-after-free on profile login
2026-03-21 22:11:35 +01:00
Adrian
3f74dfef10
[XAM] Improved gamertag validation
2026-03-14 23:47:45 +01:00
Gliniak
8ccf01d151
[UI] Update gamertag input field only on change
...
No need to validate gamertag every frame
2026-03-14 23:25:09 +01:00
Gliniak
d37c22aad0
[HID] Redesigned support for Portals
...
- Added hotplug support on Windows
- Added support for XamInputNonControllerGetRawEx & XamInputNonControllerSetRawEx
2026-03-14 23:01:38 +01:00
Gliniak
5f62db9289
[Kernel] Added kHighFrequency for RtlInitializeCriticalSectionAndSpinCount
2026-03-11 19:54:19 +01:00
Herman S.
b24ea8ef99
[CPU/XThread] Add DWARF .eh_frame unwind info for JIT code on Linux
...
Generate per-function CIE+FDE records and register them via
__register_frame so the C++ exception unwinder can propagate through
JIT frames. Replace setjmp/longjmp fiber reentry with throw/catch
on Linux to ensure destructors and RAII guards run during fiber
stack switches.
2026-03-11 00:02:34 +09:00
Herman S.
f45a254774
[Linux/Threading] Self-suspend with condition variable instead of spin
2026-03-11 00:02:26 +09:00
Herman S.
9f8961c185
[XThread] Fix TLS pointer bug
...
Guest code may directly read the tls_address field from thread
structure to access TLS, and it expects the dynamic TLS area pointer
2026-03-11 00:02:16 +09:00
Herman S.
22f21fada9
[XThread] Replace guest exception handling with setjmp/longjmp
2026-03-11 00:01:35 +09:00
Herman S.
4f1394bbaa
[Kernel/Threading] Fix some kernel threading issues
...
- broken atomic exchange on linux
- spinlock release memory buffer
- race in thread suspension
- removed misleading volatile qualifiers
2026-03-10 23:53:03 +09:00
Herman S.
3585b6e592
[Kernel] Replace BCrypt RSA with portable bignum implementation
...
Removes the Windows-only BCrypt dependency from XeCryptBnQwNeRsaPubCrypt
and replaces it with a portable modular exponentiation implementation
using 64-bit arithmetic, enabling RSA signature verification on all
platforms. Adds Catch2 tests validating the implementation with a
2048-bit RSA key.
2026-03-10 16:20:38 +09:00
Herman S.
50ef5c2691
[Kernel] Fix data race on XFile position
2026-03-09 16:14:22 +09:00
Herman S.
341d3b66a8
[Kernel] Thread safety fixes for xfile, xmutant, and xtimer objects
2026-03-09 14:15:14 +09:00
Herman S.
b0a387c6ea
[XboxKrnl] Don't crash the host on guest trap
2026-03-09 14:15:14 +09:00
Herman S.
6203d382e2
[Kernel] Clear object handles before release in ObjectTable::Reset
...
During bulk teardown, objects still had stale handle entries when
Release() triggered their destructors, hitting the handles_.empty()
assertion.
2026-03-09 14:15:14 +09:00
Herman S.
a00fd0eb12
[Kernel] Remove some log spam
2026-03-09 14:15:14 +09:00
Herman S.
5ac07f686d
[Xboxkrnl] Remove devkit memory access assert and replace with warning
2026-03-09 14:15:14 +09:00
Herman S.
92b07391df
[Linux/Threading] change self-suspend to wait to be resumed
2026-03-09 13:43:56 +09:00
Herman S.
137baa2b9f
[Kernel] Ensure file mutex is initialized
2026-03-09 13:43:56 +09:00
Herman S.
32b8c341ee
[Kernel] ReleaseSemaphore for Posix to match Windows semantics
2026-03-09 13:43:56 +09:00
Herman S.
bc3585d0ef
Keep threads from trying to suspend themselves on Linux
...
Avoids certain sporadic lockups (usually on startup)
2026-03-09 13:43:56 +09:00
Herman S.
02fccd9113
[Kernel/XMP] Add title-specific file I/O hooks for XMP volume sync
...
Some games persist BGM volume through their own save files but never
call XMPSetVolume. Add a TitlePatch system that intercepts NtReadFile/
NtWriteFile to apply game-specific logic as well as logic to identify
the memory location that the volume data is read into and monitor that
memory location for changes, updating XMP player volume if it changes
during gameplay.
Includes patches for known games with this issue:
Dead or Alive Xtreme 2 (544307D2), PGR4 (4D5307F9) and PGR3 (4D5307D1)
2026-03-09 08:59:15 +09:00
Herman S.
eb914ae77d
[Kernel] Return null on handle type mismatch instead of asserting
2026-03-09 00:07:45 +09:00
Gliniak
b5a7767aae
[XAM] Added some missing user settings.
...
Names put according to findings in: 54510896
2026-03-07 23:39:39 +01:00
AllanCat
e8263d3672
[XboxKrnl/Audio] Corrected XMASetLoopData's pointer type.
...
Fixed an issue where bgm was not looping for games that uses looping feature.
2026-03-07 11:02:23 +09:00
Herman S.
71c5702ee8
[Build] Convert build system to raw cmake and remove premake layer
2026-03-04 17:37:36 +09:00
Adrian
a7f1a3f18a
[XAM] Added profile and create content enumerator wrappers
2026-03-03 22:31:42 +01:00
Adrian
54be3c57a0
[XAM] Validate buffer_size limit in XamEnumerate
2026-03-03 22:31:42 +01:00
Adrian
d4b295a578
[XAM] Fixed memcpy in XamProfileFindAccount
2026-02-28 22:45:32 +01:00
The-Little-Wolf
dd585ca0c8
[XboxKrnl/Crypt] - Implement XeCrypt & XeKeys Functions ( #566 )
...
- Implement XeKeysGetConsoleID, XeKeysGetKeyProperties, XeCryptDesEcb, and XeCryptDesKey.
- Stub XeCryptBnQwBeSigVerify, XeCryptRotSumSha, XeKeysGetKey, and XeKeysConsolePrivateKeySign.
2026-02-23 17:33:19 +09:00
Gliniak
b2b1307822
[XAM] Improvements to XamUserCheckPrivilege
...
- Handle case when XamUserCheckPrivilege receives ANY USER
- Handle case when User is not live signed. This function returns NOT_LOGGED_IN for local accounts
2026-02-19 23:13:09 +01:00
Gliniak
9bfaff5040
[XAM] Fixed issue with XamContentCreate reassigning already assigned symlinks
2026-02-19 21:02:45 +01:00
Adrian
abaa0e4c96
[XBDM] Implemented DmGetConsoleType
2026-02-16 21:33:13 +01:00
Herman S.
f9d4dbc8e9
[Build] Use clang 20 for clang format consistently across Win/Lin
2026-02-15 01:25:43 +09:00
Herman S.
09a15fbedc
[Testing] Get tests running (dirty hack for linux)
2026-02-13 13:32:39 +09:00
Gliniak
8f5da619f9
[Kernel] Replaced Yield in XAudioGetVoiceCategoryVolumeChangeMask with NanoSleep
...
- Removed Yield in XamUserGetSigninState
2026-02-08 23:01:44 +01:00
Adrian
ef65c6761b
[XAM] Cleanup user settings header to reduce including issues
2026-02-07 22:29:29 +01:00
Gliniak
4dd0842087
[Kernel] Fixed incorrect amount of propagated notifications on boot
...
- Created dedicated method: IsUIActive
2026-01-31 19:24:10 +01:00
Gliniak
7e1506ff23
[Kernel] XThread: Added mutex to set_name.
...
There is a small chance that game will spam requests for thread name change which will cause invalid free
2026-01-31 18:32:52 +01:00
The-Little-Wolf
78d700af41
[XAM/USER] - Add missing broadcast to XamUserWriteProfileSettings
...
- Add missing broadcast to XamUserWriteProfileSettings
2026-01-30 19:06:47 +01:00
The-Little-Wolf
a8fe4666ad
[XEX] - log outputs
...
- Finish XEX_HEADER_XBOX360_LOGO, XEX_HEADER_FILE_FORMAT_INFO, XEX_HEADER_DELTA_PATCH_DESCRIPTOR, XEX_HEADER_SYSTEM_FLAGS_32, XEX_HEADER_ENABLED_FOR_CALLCAP, and XEX_HEADER_GAME_RATINGS
- Add missing xex2_header_keys
- Add flag name outputs
- Removed magic number
- Added X_FILE_CHARACTERISTICS to X_FILE_FS_DEVICE_INFORMATION
2026-01-30 18:45:04 +01:00
The-Little-Wolf
38ccc71afa
[XboxKrnl/Threading] - implement KeInitializeTimerEx
...
- Taken from Crispy's Nukernel build
2026-01-29 23:05:23 +01:00
Gliniak
603355ae5b
[XAM] Fixed enumeration of achievements once again
2026-01-29 21:55:30 +01:00
Gliniak
2ba82072fc
[Kernel] Added stub for: NtCancelIoFile
2026-01-29 20:41:01 +01:00
Gliniak
67d80958c9
[XThread] Remove 10ms delay in thread start
2026-01-25 19:41:57 +01:00