Commit Graph

257 Commits

Author SHA1 Message Date
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
ergo720 c32fdbf406 XbAlloc/Free + DeallocatePT + final cleanup (now needs testing and rebasing) 2018-03-20 11:53:08 +01:00
ergo720 f662ce76e4 Debugger functions work 2018-03-20 11:51:16 +01:00
ergo720 ff1a6cc973 Persistent memory 2018-03-20 11:51:12 +01:00
ergo720 2da096022c MmUnmapIoSpace 2018-03-20 11:48:22 +01:00
ergo720 dbc6b77434 MmDbg kernel thunk stubs 2018-03-20 11:48:20 +01:00
ergo720 8766aa57bf DeAllocateSystemMemory 2018-03-20 11:48:20 +01:00
ergo720 e3feb1c8de Introduced memory regions 2018-03-20 11:45:01 +01:00
ergo720 e884c893cf ConvertXboxToSystemPteProtection 2018-03-20 11:44:58 +01:00
ergo720 168f63946a Use a list to track free pages 2018-03-20 11:43:46 +01:00
ergo720 9d95359a63 PDE/PTE/PFN still a lot to write 2018-03-20 11:40:03 +01:00
PatrickvL e15045edcb Kernel : Replaced NtDll usage in all (but one) Rtl* functions by actual implementations, from various sources (OpenXbox, Wine, ReactOS) 2018-02-17 11:56:31 +00:00
PatrickvL 00e95be25d Kernel : Start thread at PASSIVE_LEVEL IRQ level initially (turned up as an RtlAssert warning when running a debug build of the CreateDevice XDK sample) 2018-02-16 11:37:57 +01:00
PatrickvL 1c77b2626f Kernel : Trigger software interrupts from within KfLowerIrql and HalRequestSoftwareInterrupt. With that, the EmuThreadDpcHandler thread can be removed. 2018-02-13 11:40:54 +01:00
PatrickvL 83e1aa7825 Kernel : Slight refactorings regarding irq levels and such (shouldn't break anything) 2018-02-12 18:55:34 +01:00
PatrickvL 3c5e916503 Kernel : Completed KeInitializeMutant, implemented KeInsertByKeyDeviceQueue, KeRemoveByKeyDeviceQueue, KeRemoveDeviceQueue (which needed a signature fix, returning a PKDEVICE_QUEUE_ENTRY and removing the SortKey argument) and part of KeRaiseIrqlToSynchLevel. 2018-02-09 18:30:56 +01:00
PatrickvL 410c66ce5c Kernel : Implemented ExInterlockedAddLargeStatistic and ExInterlockedCompareExchange64 (this one also needed a signature fix : Lock-argument isn't present on Xbox) 2018-02-09 17:51:34 +01:00
ergo720 9bfae8be5d HalRegisterShutdownNotification implementation 2018-01-30 13:44:47 +01:00
ergo720 753d9d89c2 Dashboard fatal error + fix issue #878 2018-01-28 10:06:11 +01:00
ergo720 81b1d75b4a Xbox fatal error implementation 2018-01-26 09:56:26 +01:00
patrickvl bc091bcbbd Rtl* : Use argument types from xboxkrnl.h instead of standard c types 2018-01-02 23:05:46 +01:00