Commit Graph

244 Commits

Author SHA1 Message Date
Luke Usher 75ec726074 HalEnableSystemInterrupt is type VOID. 2017-06-22 20:04:07 +01:00
Luke Usher 4989dc6b18 Implement PhyGetLinkState 2017-06-20 21:06:53 +01:00
Luke Usher c463af91b2 Merge branch 'crypto-fixes' of http://github.com/lukeusher/cxbx-reloaded into crypto-fixes 2017-03-27 11:39:00 +01:00
Luke Usher cd41fcd6ec Amendments 2017-03-27 11:38:39 +01:00
PatrickvL aff8808fbc Update xbox.h 2017-03-27 11:16:08 +02:00
Luke Usher 856e1ba873 Implement support for real Xbox keys 2017-03-26 22:56:17 +01:00
Luke Usher f46f77c3ad Initial MemoryManager Implementation 2017-03-23 21:47:19 +00:00
PatrickvL 2d4d3d1a6e Logging split between PAGE and MEM flags 2017-03-21 14:26:31 +01:00
PatrickvL d333087098 Constantified PAGE_SIZE and PAGE_MASK 2017-03-20 13:56:56 +01:00
Luke Usher 86dfc06720 Add a proper implementation for NtUserIoApcDispatcher 2017-03-14 14:32:34 +00:00
PatrickvL 53b562704c Kernel : Added KeSynchronizeExecution and KeTestAlertThread stubs 2017-03-10 11:26:12 +01:00
PatrickvL 20e9cd0131 Kernel : AvSendTVEncoderOption expanded with all possible options 2017-02-26 02:43:25 +01:00
PatrickvL 13619ae0bb Kernel : Fixed ExSaveNonVolatileSetting, centralized EEPROM structs and read/write them via HalReadSMBusValue/HalWriteSMBusValue 2017-02-23 12:25:17 +01:00
PatrickvL db3f80fd0f Kernel : Implemented KeInitializeMutant 2017-02-21 01:49:10 +01:00
PatrickvL 0b027f89ec Kernel : Implemented KeInitializeApc 2017-02-21 01:30:57 +01:00
PatrickvL 3700207a84 Merge remote-tracking branch 'origin/master' 2017-02-20 18:16:30 +01:00
PatrickvL 94c980d7fd Kernel : KeConnectInterrupt and KeDisconnectInterrupt improvements - Countrary to prior research, IRQ's cannot be shared
Also signature fix on HalDisableSystemInterrupt and
HalEnableSystemInterrupt
2017-02-20 18:13:38 +01:00
PatrickvL 2cbc7a7086 Kernel : Stubbed KeResumeThread and KeSuspendThread 2017-02-19 01:22:54 +01:00
PatrickvL 0b03a44959 Kernel : Stubbed KeRestoreFloatingPointState and KeSaveFloatingPointState 2017-02-19 01:03:41 +01:00
PatrickvL 70b6fcac5a Kernel : Implemented PsQueryStatistics partially 2017-02-19 00:47:30 +01:00
PatrickvL 904ae0d0c4 Kernel : Added stubs for RtlEnterCriticalSectionAndRegion and RtlLeaveCriticalSectionAndRegion 2017-02-19 00:18:15 +01:00
PatrickvL a058b6679e Kernel : Fixed arguments to XProfpControl and XProfpGetData 2017-02-18 23:39:57 +01:00
PatrickvL 430516601d Kernel : Corrected and (partially) implemented ExfInterlockedInsertHeadList, ExfInterlockedInsertTailList and ExfInterlockedRemoveHeadList 2017-02-18 19:10:43 +01:00
PatrickvL 1c8689990e Kernel : Implemented ExInitializeReadWriteLock, KeInitializeQueue and KeInitielizeSemaphore 2017-02-18 18:50:53 +01:00
PatrickvL afb4a5cbbb Described more Cxbx FS-patching backgroud information 2017-02-14 11:16:35 +01:00
PatrickvL 9266a22eae Kernel : Added KeRaiseIrqlToSynchLevel stub
Also moved code around and added more comments.
2017-02-13 15:03:09 +01:00
PatrickvL 3313c1c8d8 TIB and FS related cleanup and a few additional comments 2017-02-13 12:18:05 +01:00
PatrickvL 7ed9893a77 Kernel : Corrected and implemented ObReferenceObjectByPointer 2017-02-06 14:12:25 +01:00
PatrickvL 4daff59e1b Kernel : Added ObfReferenceObject stub (the last thunk for Ob*) 2017-02-06 13:58:13 +01:00
PatrickvL ee283ecaa5 Kernel : Added ObReferenceObjectByPointer stub 2017-02-06 13:54:50 +01:00
PatrickvL 8111990205 Kernel : Added ObReferenceObjectByName stub 2017-02-06 13:53:25 +01:00
PatrickvL f79b82a4b3 Kernel : Added ObOpenObjectByPointer stub 2017-02-06 13:51:32 +01:00
PatrickvL d37f06d25b Kernel : Added ObMakeTemporaryObject stub 2017-02-06 13:48:30 +01:00
PatrickvL c0c55ca461 Kernel : Added ObInsertObject stub 2017-02-06 13:46:27 +01:00
PatrickvL 1b71c925f6 Kernel : Added ObCreateObject stub 2017-02-06 13:42:44 +01:00
PatrickvL 258ee34ff5 xboxkrnl : Added KMUTANT struct and comment headers 2017-02-06 13:22:34 +01:00
PatrickvL 92d83306be xboxkrnl: Expanded OBJECT_TYPE struct, updated all occurrences 2017-02-06 13:09:30 +01:00
PatrickvL 156fa48f6d xboxkrnl : Added OBJECT_TYPE struct 2017-02-06 12:10:00 +01:00
PatrickvL 6b9ab6a635 Renamed an argument and comment update 2017-02-06 11:26:51 +01:00
PatrickvL 174c397233 Implemented KeIsExecutingDpc, KeCancelTimer and KeDisconnectInterrupt
Also commented a few functions, and replaced a few magic numbers by
constants.
2017-02-02 18:32:18 +01:00
PatrickvL d441c9ce0e Extended KOBJECTS enum 2017-02-02 17:48:35 +01:00
PatrickvL 57e4f3570a At last introduced KeInterruptTime, used it in KeQueryInterruptTime (which is now protected against overflow)
Also fixed EmuThreadDpcHandler by applying CONTAINING_RECORD to DpcQueue
(DPC's do seem to get called now)
2017-02-01 20:59:32 +01:00
PatrickvL c540b3580c Kernel : Added KeRemoveQueueDpc and KeResetEvent
Fixed and completed KeInitializeEvent, KeInsertQueueDpc and KeSetTimerEx
Also ported LIST_ENTRY methods over from Dxbx and applied where possible
2017-02-01 11:49:38 +01:00
PatrickvL 979bcaaf76 Added incomplete version of KeInitializeEvent
Requires InitializeListHead
2017-01-31 17:14:09 +01:00
Luke Usher 3a59895402 Merge pull request #86 from x1nixmzeng/kernel-thunks
Io Kernel API stubs for logging
2017-01-07 18:36:12 +00:00
x1nixmzeng 1b96e452bc IofCompleteRequest stub 2017-01-07 13:57:25 +00:00
x1nixmzeng a962f33878 IofCallDriver stub 2017-01-07 13:53:49 +00:00
x1nixmzeng 9ab7947b10 IoMarkIrpMustComplete stub 2017-01-07 13:47:46 +00:00
x1nixmzeng 673b1d9e9a Fixed issues raised by @PatrickvL 2017-01-07 13:32:16 +00:00
x1nixmzeng b27a466b5f IoSynchronousFsdRequest stub 2017-01-07 02:26:04 +00:00
x1nixmzeng 2107c54fb8 IoSynchronousDeviceIoControlRequest stub 2017-01-07 02:20:10 +00:00
x1nixmzeng 3a3430381a Stubs for IoStartNextPacket, IoStartNextPacketByKey, IoStartPacket 2017-01-07 02:13:36 +00:00
x1nixmzeng 7d606c774d IoSetShareAccess stub 2017-01-07 01:57:34 +00:00
x1nixmzeng 3db796f461 IoSetIoCompletion stub 2017-01-07 01:51:14 +00:00
x1nixmzeng 5183b6e1df IoRemoveShareAccess stub 2017-01-07 01:44:03 +00:00
x1nixmzeng e25754ae17 IoQueueThreadIrp stub 2017-01-07 01:39:59 +00:00
x1nixmzeng d551304b9c IoQueryVolumeInformation stub 2017-01-07 01:35:48 +00:00
x1nixmzeng 74afee069e IoQueryFileInformation stub 2017-01-07 01:14:51 +00:00
x1nixmzeng e032edeee2 IoInvalidDeviceRequest stub 2017-01-07 01:10:30 +00:00
x1nixmzeng df3aac9731 IoInitializeIrp stub 2017-01-07 01:06:03 +00:00
x1nixmzeng 50c945ed3b IoFreeIrp stub 2017-01-07 00:56:24 +00:00
x1nixmzeng d79ff8e7cb IoDeleteDevice stub 2017-01-07 00:27:29 +00:00
x1nixmzeng 6bf0d128a5 Fixed existing Io thunk comments 2017-01-07 00:21:16 +00:00
x1nixmzeng b9d12c5182 IoCheckShareAccess stub 2017-01-07 00:14:56 +00:00
x1nixmzeng 2feda48514 IoBuildSynchronousFsdRequest stub 2017-01-06 23:34:23 +00:00
x1nixmzeng 2dd8488607 IoBuildDeviceIoControlRequest stub 2017-01-06 23:29:26 +00:00
x1nixmzeng f01c92afdb IoBuildAsynchronousFsdRequest stub 2017-01-06 23:24:00 +00:00
x1nixmzeng 7acd574f15 IoAllocateIrp stub 2017-01-06 23:18:12 +00:00
Luke Usher dc6ca7661a Implemented HalReadWritePciSpace
On the Xbox this function calls the X86 in/out opcodes, so this implementation calls IORead/IOWrite functions in EmuX86.
Once In/Out opcodes are implemented, they will also be implemented by calling these new IO functions.
2017-01-06 22:16:00 +00:00
PatrickvL e9267222ad Implemented KeConnectInterrupt
Also prevented unimplemented log message in MmClaimGpuInstanceMemory and
added comment headers to all function declarations in kernel.h
2017-01-05 11:21:15 +01:00
PatrickvL 095fbd1010 Fixed logging of nullptr (plus better logging in RtlAssert) 2017-01-04 15:34:18 +01:00
PatrickvL eff09f89ea Review results on Xc* kernel functions 2017-01-04 14:35:20 +01:00
x1nixmzeng 47e04465a1 Added unimplemented stubs for remaining Xc functions 2017-01-03 23:14:52 +00:00
PatrickvL 9ad4449ef9 Emulated EEPROM read/write
Implemented ExQueryNonVolatileSetting and ExSaveNonVolatileSetting using
emulated EEPROM values.
2017-01-03 12:17:20 +01:00
PatrickvL 9459a2d04f Implemented KeLeaveCriticalRegion 2016-12-31 17:31:17 +01:00
PatrickvL c4a61bcf02 Implemented KeEnterCriticalRegion 2016-12-31 17:28:43 +01:00
PatrickvL 29a76be994 Implemented NtQueryMutant 2016-12-31 17:18:21 +01:00
PatrickvL 6ac5b06bbc Renamed EEPROM_INDEX to XC_VALUE_INDEX
Started porting over all Dxbx Io* kernel signatures
2016-12-30 14:28:52 +01:00
PatrickvL 1e639d98af Implemented RtlUshortByteSwap 2016-12-26 19:51:22 +01:00
PatrickvL 9383e9f6a9 Implemented RtlUpperString 2016-12-26 19:47:35 +01:00
PatrickvL 0c31aeddb4 Implemented RtlUpperChar 2016-12-26 19:41:55 +01:00
PatrickvL cdd8b4dc93 Implemented RtlUpcaseUnicodeToMultiByteN 2016-12-26 19:39:57 +01:00
PatrickvL e01102d8d3 Implemented RtlUpcaseUnicodeString 2016-12-26 18:51:08 +01:00
PatrickvL 6f8a8a728a Implemented RtlUpcaseUnicodeChar 2016-12-26 18:10:20 +01:00
PatrickvL 5e243062d5 Implemented RtlUnicodeToMultiByteSize 2016-12-26 18:02:24 +01:00
PatrickvL a847c1d45c Implemented RtlUnicodeToMultiByteN 2016-12-26 17:45:33 +01:00
PatrickvL c009ff8eb4 Implemented RtlUnicodeStringToInteger 2016-12-26 17:38:49 +01:00
PatrickvL 75eab7a83d Implemented RtlUlongByteSwap 2016-12-26 17:32:08 +01:00
PatrickvL 6a1ae1e42f Implement RtlMultiByteToUnicodeSize 2016-12-26 17:26:30 +01:00
PatrickvL 6b2fa8f984 Implement RtlMultiByteToUnicodeN 2016-12-26 17:21:28 +01:00
PatrickvL d804711bab Implemented RtlMapGenericMask 2016-12-26 16:59:46 +01:00
PatrickvL 023261faf3 Implemented RtlIntegerToUnicodeString 2016-12-26 16:36:27 +01:00
PatrickvL ab33052f5c Implemented RtlIntegerToChar 2016-12-26 16:29:38 +01:00
PatrickvL b1cbc31c1b Implemented RtlFreeUnicodeString 2016-12-26 16:19:50 +01:00
PatrickvL 39a5c64786 Implemented RtlFillMemoryUlong 2016-12-26 16:14:58 +01:00
PatrickvL eb841563de Implemented RtlFillMemory 2016-12-26 13:44:44 +01:00
PatrickvL 7ced0be9e1 Implemented RtlExtendedMagicDivide 2016-12-26 13:33:51 +01:00
PatrickvL bcd6b98764 Implemented RtlExtendedLargeIntegerDivide 2016-12-26 13:28:51 +01:00
PatrickvL fbd7bfdba5 Implemented RtlExtendedIntegerMultiply 2016-12-26 13:23:00 +01:00
PatrickvL dc3d4beaa0 Implemented RtlEqualUnicodeString 2016-12-26 13:05:56 +01:00