Silent
728531eff7
[Kernel] Operate on handle refcounts in Ob funcs
...
Although this seems counter-intuitive, operating on handle
reference counters in
- ObLookupThreadByThreadId
- ObReferenceObjectByHandle
- ObDereferenceObject
allows to cleanly clean up handles for resources created elsewhere
and destructed by ObDereferenceObject (for example, threads with 0x80
creation flag). Operating on pointer reference counters alone
would leave a stray handle in the slots list.
2019-11-30 20:08:30 -06:00
Silent
05ef022fd7
[Kernel] Do not retain handle in ExCreateThread
...
Closing the thread handle should delete the thread object
if it's finished. When this handle was retained, closing the handle
left a lingering handle reference and thus this XThread would leak
2019-11-30 20:08:30 -06:00
Silent
5bec69e983
[Kernel] Add some useful asserts
2019-11-30 20:08:30 -06:00
aerosoul
bc8b629092
[Kernel] Enable XEX1 loading
2019-11-20 18:09:28 -06:00
Triang3l
8ba6f3fc37
[Memory] Trigger watches when making pages writable, not the other way around
2019-11-10 14:21:36 +03:00
gibbed
c19a052b96
[XAM] Don't use strncpy for XamUserGetName.
2019-09-12 03:41:02 -05:00
gibbed
b422ed750b
Oops. Didn't mean to add that yet.
2019-09-04 23:16:06 -05:00
gibbed
2780e7b1a6
Add user_country cvar, rename game_language cvar.
...
- [Kernel] Rename game_language cvar to user_language.
- [Kernel] Recategorize user_language to XConfig.
- [Kernel] Add user_country cvar, used instead of hardcoded value in XConfig.
- [XAM] Use user_country cvar for xeXamGetLocaleEx instead of
xeExGetXConfigSetting.
2019-09-04 23:02:55 -05:00
gibbed
4f4b83b421
[Kernel] Move ExGetXConfigSetting to its own file.
...
- [Kernel] Clean up xboxkrnl registration function declarations.
- [Kernel] Move ExGetXConfigSetting to its own file.
2019-09-04 23:02:55 -05:00
gibbed
d58544b406
[XAM] Fix incomplete locale tables.
2019-09-04 23:02:55 -05:00
gibbed
858923898f
[XAM] Implement a number of language/locale related functions.
...
[XAM] Implement XamGetLocale, XamGetOnlineCountryFromLocale,
XamGetOnlineCountryString, XamGetCountryString, XamGetLanguageString,
XamGetLanguageLocaleString, XamGetOnlineLanguageAndCountryString,
XamGetLocaleString, XamGetLocaleFromOnlineCountry,
XamGetLanguageFromOnlineLanguage, XamGetOnlineLanguageString,
XamGetCountryFromOnlineCountry, and XamGetLocaleEx.
2019-09-04 20:03:25 -05:00
Triang3l
803fa0cba9
[Kernel] Fix TranslateUnicodeString endian and size
2019-08-28 09:20:10 +03:00
Triang3l
0ad1bd9ab4
[Kernel] XMAInitializeContext physical buffer addresses
2019-08-28 08:11:43 +03:00
Triang3l
2f51949ece
[Kernel] Cya l8r recently added wrong XMAInitializeContext comment
2019-08-27 23:53:06 +03:00
Triang3l
9df39e4883
[Kernel] Fix StoreXmaContextIndexedRegister, note about physical addresses in XMAInitializeContext
2019-08-27 23:50:30 +03:00
Triang3l
a422166123
[Kernel] Fix MmAllocatePhysicalMemoryEx range base
2019-08-24 19:23:31 +03:00
Triang3l
7e6bf8022f
[Memory] Refactor GetPhysicalAddress and use it for XMA, resolve #1448
2019-08-24 17:42:06 +03:00
emoose
f46e3c7e39
[Kernel/VFS] Ensure vfs::Entry is up-to-date before retrieving file information
...
Games like Forza use NtQueryInformationFile to get the size of the file, to make sure that there's enough room inside it to write data.
Previously, updating the file size (via SetInfoFile(EndOfFile) or WriteFile) wouldn't update the vfs::Entry size field, which NtQueryInfo uses to return the size of the file.
This resulted in the game thinking that the file was smaller than it actually is, and trying to correct that by using SetInfoFile(EndOfFile), which then truncated the file and deleted important data that was written to it.
2019-08-21 02:00:57 -05:00
emoose
06cacbb9af
[Kernel] Implement XeKeysObscureKey & XeKeysAesCbcUsingKey
2019-08-21 02:00:57 -05:00
emoose
b22d76f0f9
[Kernel] Add XLiveBase 0x58046 stub
2019-08-21 02:00:57 -05:00
gibbed
6ab7720951
[Kernel] Fix stray whitespace in license_mask definition.
2019-08-14 14:15:56 -05:00
illusion98
c021c7741d
[Kernel] Add license mask as a config variable
2019-08-14 10:25:24 -05:00
Triang3l
2507f1a819
[Memory] TranslateVirtual in shim and strings
2019-08-14 10:31:11 +03:00
Triang3l
0067f5561d
[Kernel] More TranslateVirtual/HostToGuestVirtual usage
2019-08-14 08:28:30 +03:00
Triang3l
741b5ae2ec
[Memory] Add HostToGuestVirtual and use it in a couple of places
2019-08-13 23:49:49 +03:00
Jonathan Goyvaerts
c621e01dd2
Add game_language as a config variable
2019-08-10 06:51:36 -05:00
gibbed
39c3f72c41
[Kernel] Implement RtlComputeCrc32.
2019-08-07 19:50:17 -05:00
gibbed
7d6d732999
[Kernel] Of course I forget to commit another local change.
2019-08-04 11:44:18 -05:00
gibbed
1ebf7bb484
[Kernel] Implement KeTryToAcquireSpinLockAtRaisedIrql. Maybe correctly.
2019-08-04 11:36:49 -05:00
gibbed
4970fc8673
[Kernel] Make XObject type() const.
2019-08-03 23:47:16 -05:00
gibbed
b2f62b1982
Clean up cvars (rename, recategorize).
2019-08-03 23:46:03 -05:00
emoose
313e81ec38
[Kernel] Add XN_SYS_UI notifications to XamShow*UI exports
2019-08-04 03:57:06 +01:00
emoose
c3476e8e19
[Kernel] Make XNotifyListener::notifications_ a std::vector, allowing multiple to use the same ID.
...
Previously adding a notification that already exists would just overwrite the older notifications value, meaning the game would never see that older notification.
This would break games like Project Sylpheed, which seems to require seeing XN_SYS_UI = true eventually followed by XN_SYS_UI = false for the game to realize all system UIs are closed.
2019-08-04 03:55:57 +01:00
Triang3l
352f12f92e
[D3D12] Switch from gflags to cvars
2019-08-03 16:53:23 +03:00
Jonathan Goyvaerts
81fe22f1c8
Get rid of gflags alltogether
2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
c1af632562
Replace all gflag implementations with cvar implementations
2019-08-03 02:34:07 +02:00
Triang3l
24383b9137
[Memory/D3D12] Unwatch up to 256 KB ranges
2019-07-31 00:18:12 +03:00
Triang3l
b5fb84473d
[Memory] Replace forgotten InvalidateRange in NtReadFile
2019-07-30 09:06:23 +03:00
Triang3l
83da671bb4
Merge branch 'master' into d3d12
2019-07-30 07:59:38 +03:00
gibbed
669d83896d
[Kernel] Implement RtlImageNtHeader.
2019-07-29 19:23:16 -05:00
gibbed
cd18b702a6
[Kernel] Implement ExAllocatePool.
2019-07-29 19:21:01 -05:00
gibbed
3d67ffad81
[Kernel] Implement NtOpenSymbolicLinkObject, NtQuerySymbolicLinkObject.
2019-07-29 18:04:06 -05:00
gibbed
54b0e2aff6
[Kernel] Add XSymbolicLink.
2019-07-29 17:52:46 -05:00
gibbed
7c7d80103e
[Kernel] Use type constant instead of type enum when calling base constructor.
2019-07-29 13:53:44 -05:00
gibbed
0d6bfc1a6b
[Kernel] Rename NotifyListener to XNotifyListener to bring it in line with the naming scheme of kernel objects.
2019-07-29 13:43:13 -05:00
gibbed
48b04d186b
Merge remote-tracking branch 'origin/master' into d3d12
2019-07-18 18:02:01 -05:00
gibbed
bf989f0aae
[Kernel/VFS] Maybe fix creation of directories. See #1403 .
2019-07-18 17:15:57 -05:00
gibbed
6789873620
Merge branch 'master' into d3d12
2019-05-12 07:48:18 -05:00
Rick Gibbed
f0aae00e4f
Merge pull request #1353 from emoose/kernel-funcs
...
[Kernel] Add ObReferenceObjectByName.
2019-05-12 07:02:41 -05:00
gibbed
fac37e7c50
Merge branch 'master' into d3d12
2019-05-01 21:00:21 -05:00