Commit Graph

277 Commits

Author SHA1 Message Date
ergo720 13bd79f930
Use fixed width types for xbox types + restructured kernel header files (#1969)
* VOID -> void_xt

* CHAR, CCHAR -> char_xt, cchar_xt

* UCHAR -> uchar_xt

* BYTE, BOOLEAN -> byte_xt, boolean_xt

* Fix bogus intellisense errors in the kernel headers

* SHORT, CSHORT, USHORT -> short_xt, cshort_xt, ushort_xt

* LONG -> long_xt

* WORD, DWORD -> word_xt, dword_xt

* HRESULT -> hresult_xt

* ULONG -> ulong_xt

* SIZE_T, ACCESS_MASK, PHYSICAL_ADDRESS -> size_xt, access_mask_xt, physical_address_xt

* UINT, INT -> uint_xt, int_xt

* LONG_PTR, ULONG_PTR, INT_PTR -> long_ptr_xt, ulong_ptr_xt, int_ptr_xt

* LONGLONG, ULONGLONG -> longlong_xt, ulonglong_xt

* WCHAR, QUAD, BOOL, FLOAT -> wchar_xt, quad_xt, bool_xt, float_xt

* Updated types in xonline.h + reverted some type changes + moved kernel header files in cxbxr source tree

* Use char16_t instead of wchar_t for wchar_xt xbox type

* Fixed macro redefinition warnings from ntstatus macros in types.h
  Fixed macro redefinition warnings from NT_SUCCESS and FIELD_OFFSET
  Fixed macro redefinition warnings from the REG_ macros used by the eeprom

* NTSTATUS -> ntstatus_xt
2020-10-06 05:33:16 -05:00
ergo720 b304e538c6
Introduce xbox namespace + deduplicate xbox types (#1942)
* Introduced new xbox namespace + moved inside it xbox pointer/address types

* Replaced xboxkrnl namespace with xbox namespace

* Moved kernel types from xboxkrnl.h to xbox_types.h

* Replaced XTL namespace with xbox namespace

* Fix a conflict with the VOID macro imported by Windows.h

* Fixed misalignment issues + renamed xtl_prefix
2020-08-24 13:29:48 -05:00
RadWolfie 3550fa4ed1 setup force source files to lf line ending and renormalize 2020-08-22 20:17:07 -05:00
ergo720 f46bcd6875 Use xboxkrnl namespace inside xboxkrnl header file 2020-08-18 17:02:19 +02:00
Luke Usher f1d09aff15
Merge pull request #1917 from Fisherman166/HalReadSMCTrayState
Rewrite HalReadSMCTrayState to match original kernel implementation.
2020-06-08 15:22:32 +01:00
PatrickvL d3544f7b5f
Merge pull request #1918 from Fisherman166/FsSetCacheSize
Update FscSetCacheSize to match original kernel
2020-06-07 18:51:45 +02:00
Fisherman166 326f645b8f Initialize FscCacheEvent at emulation start to match the real kernel implementation. 2020-06-06 16:09:01 -07:00
Fisherman166 857b8f933e Rewrite HalReadSMCTrayState to match original kernel implementation. Keeps the TRAY_OPEN hack for the time being. 2020-06-06 13:27:54 -07:00
Fisherman166 db1429a4b9 Implement KeReleaseSemaphore based on kernel reverse engineering. Needs KiWaitTest to be implemented to be fully functional. 2020-06-04 21:26:01 -07:00
Fisherman166 52f18bca28 Add size offsets for the KSEMAPHORE and ERWLOCK structs. 2020-05-28 09:13:19 -07:00
Fisherman166 a679073ec6 Implement ExReleaseReadWriteLock. 2020-05-25 16:20:02 -07:00
Fisherman166 6f5a1f2c46 Implement ExAcquireReadWriteLockShared. 2020-05-25 16:20:01 -07:00
Fisherman166 f375bbf6ba Add offset comments to _ERWLOCK and _KSEMAPHORE structs. 2020-05-25 16:20:01 -07:00
Fisherman166 a2e623180a Implement ExAcquireReadWriteLockExclusive. 2020-05-25 16:20:01 -07:00
darkf 743b3cbdbb Remove unused extern "C" comments 2020-04-07 03:24:00 -07:00
darkf d20537fe5b Remove extern "C" linkage in Emu*, otherwise we get namespace collisions 2020-04-07 02:44:38 -07:00
Luke Usher b62333551c kernel: Define and init IdexChannelObject 2019-12-16 21:53:02 +00:00
PatrickvL a6c0353c5b Fix a large part of XTL-hell (#1731)
* Rename g_CurrentXboxVertexShaderHandle to g_Xbox_VertexShader_Handle

* Remove CxbxDrawContext.XboxVertexShaderHandle field, and replaced reads from this field by g_Xbox_VertexShader_Handle (since all writes to this field used that as source)

* Removed commented-out #include's

* Removed duplicate DEF_VSH_* defines, replaced usage by existing X_D3DVSD_*() defines.

* Removed commented-out #include's from src/vsbc

* Removed nearly all "namespace XTL"-wrappers around #includes; Instead, wrap applicable contents of these included files in namespace XTL. Removed all now-obsolete "XTL::" prefixes.

* Moved all host D3D9 symbols outside of namespace XTL (finally!)

* Removed all "using namespace XTL;" occurences (except one, which is marked with a TODO)

* Restored Unix EOL style (to avoid large diffs with upstream)

* Moved CxbxInitAudio outside XTL namespace (this was the last Cxbx* symbol in XTL)

* Removed final "using namespace XTL" occurence by cleaner wrapping of logging intrinsics inside and outside namespace XTL.

* Prefix a few Xbox types with X_ (and avoid compile-error by removing the now-obsolete duplicate of X_D3DCALLBACK).
Also nicely indent all Direct3D9 alias defines, introduced when porting from Direct3D8. Who knows, one day we might re-define them once again to port to more recent Direct3D versions?

* Made EmuXTL.h obsolete, by #include'ing specific headers instead of it.

* Removed unused #include's of EmuFS.h

* Remove #pragma once, when there's already an include guard present.

* Delete EmuXTL.h and XOnline.cpp, keep but disable XOnline.h for documentation purposes.

* Fix all compiler warnings that have no functional impact. What's left requires more research

* Remove GetVersion, retain Wine check
2019-09-24 16:25:52 -05:00
gellis713 d23ffe2954 Get rid of additonal unnecessary defines/undefines 2019-07-05 21:26:39 -05:00
gellis713 0be1370d0b Removes _XBOXKRNL_XXXX defines and dependency in xboxkrnl/xboxkrnl.h 2019-07-05 18:45:36 -05:00
ergo720 9270091d99 Fix a deadlock in KiTimerExpiration caused by KeWaitForSingleObject
This also fixes LLE USB not working for homebrews
2019-04-05 14:09:06 +02:00
Fisherman166 f0f300353c Use the nxdk definition of CONTEXT and FLOATING_SAVE_AREA as the addresses of the eax,ebx,esp,ebp,etc register fields match a kernel dump accessing a CONTEXT struct 2019-02-02 22:12:40 -08:00
Luke Usher c6ee38b5d9 Chihiro XePublicKeyData for signature verification 2019-01-22 21:34:43 +00:00
ergo720 3e0e47bbde Fix macro redefinition warnings introduced in #1520 2019-01-12 18:39:26 +01:00
ergo720 113717b7c4 KiTimerExpiration + KiCheckTimerTable 2019-01-12 18:13:52 +01:00
ergo720 1ae67fb215 Updated KeInterruptTime, KeSystemTime, KeTickCount and timer handling 2019-01-12 18:13:52 +01:00
ergo720 4fcb6e54a9 KiClockIsr + updated KeQueryInterrupt/SystemTime 2019-01-12 18:13:52 +01:00
Fisherman166 4da125582d Add implementation of RtlRaiseStatus reverse engineered from real hardware kernel. 2018-12-31 11:03:16 -08:00
PatrickvL e452d56991 MM : Moved all remaining LIST_ENTRY_* macro's to where they're used (as preparation for further simplification) 2018-10-11 12:45:42 +02:00
PatrickvL 0b535dc862 MM : To avoid duplicate code, replace most LIST_ macro's with List* functions 2018-10-11 12:07:40 +02:00
RadWolfie e38f381d99 Fix indent alignment 2018-08-23 10:00:15 +01:00
Luke Usher 92d5de47aa oops, it doesn't compile without these! 2018-08-23 09:59:31 +01:00
Luke Usher 69527e5f8c Implement CriticalSections + KeWait + KeEvents* without host forwarding 2018-08-23 09:59:31 +01:00
ergo720 5ccdb35632 Refactored kernel crypto functions + implemented XcUpdateCrypto (doesn't work yet) 2018-08-03 23:50:09 +02:00
ergo720 8483f896ed Bug fixes and added logging to PoolManager 2018-04-28 22:05:10 +02:00
ergo720 c3630ebf83 Fix compilation errors 2018-04-28 22:05:09 +02:00
ergo720 ab67c61e6d DeallocatePool 2018-04-28 22:05:07 +02:00
ergo720 e14b775b7e AllocatePool 2018-04-28 22:05:06 +02:00
ergo720 125bc23d4f Pool manager initialization 2018-04-28 22:05:06 +02:00
ergo720 baabd55dc3 More eeprom menu work 2018-04-21 19:18:35 +02:00
ergo720 0b972c7989 Added support to read rsa key provided by the user 2018-04-12 22:19:45 +02:00
Luke Usher e1a65a3bde Introduce functional NV2A LLE 2018-04-01 20:18:22 +01:00
ergo720 29410562c0 Also update the factory game region as well 2018-03-30 22:18:52 +02:00
ergo720 0b81db3920 Implemented MmLockUnlockBufferPages 2018-03-28 22:54:26 +02:00
PatrickvL 5f27e27a06
Merge pull request #1006 from ergo720/Nt_memory_functions
Nt memory functions
2018-03-28 14:05:51 +02:00
ergo720 d1c09dbb94 Completed all remaining kernel thunks 2018-03-27 17:57:29 +02:00
ergo720 ba7ea6781c Implemented NtProtectVirtualMemory 2018-03-25 22:57:06 +02:00
ergo720 0916f609d9 Implemented NtFreeVirtualMemory 2018-03-25 19:56:26 +02:00
ergo720 0bf3ecaf62 More bug fixes (Xbox-specific code seems to be working fine now. Test: DOA ultimate) 2018-03-20 11:54:01 +01:00
ergo720 2011647d9b Cleanup + bug fixes (now it builds) 2018-03-20 11:53:12 +01:00