Commit Graph

78 Commits

Author SHA1 Message Date
ergo720 5d4ee24b0f CleanUp and bug fixes (WIP) 2017-12-17 00:26:50 +01:00
Luke Usher a621f7a8d4 Add IOCTL_DISK_GET_DRIVE_GEOMETRY
This is one of the few IOCTLs required for dashupdate.xbe
2017-11-14 14:02:03 +01:00
Luke Usher 934945d048 Fix DPC bugs: Wrong calling convention was used 2017-08-31 06:12:15 +01:00
Luke Usher c4f2a548f2 Implement FileFsVolumeInformation in NtQueryVolumeInformationFile 2017-07-31 23:36:25 +02:00
PatrickvL 115ba5ffc6 Update XboxHardwareInfo
Removed macrovision flag, set sensible GPU and MCP revision numbers.
2017-07-20 17:13:27 +02:00
Luke Usher 1f10642cb6 Added stubs for All known Ke calls. 2017-07-05 19:56:25 +01:00
Luke Usher cd41fcd6ec Amendments 2017-03-27 11:38:39 +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 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 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 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 3313c1c8d8 TIB and FS related cleanup and a few additional comments 2017-02-13 12:18:05 +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 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 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 50c945ed3b IoFreeIrp stub 2017-01-07 00:56:24 +00:00
x1nixmzeng b9d12c5182 IoCheckShareAccess stub 2017-01-07 00:14:56 +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 9ad4449ef9 Emulated EEPROM read/write
Implemented ExQueryNonVolatileSetting and ExSaveNonVolatileSetting using
emulated EEPROM values.
2017-01-03 12:17:20 +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 6b2fa8f984 Implement RtlMultiByteToUnicodeN 2016-12-26 17:21:28 +01:00
PatrickvL d804711bab Implemented RtlMapGenericMask 2016-12-26 16:59:46 +01:00
PatrickvL ab33052f5c Implemented RtlIntegerToChar 2016-12-26 16:29:38 +01:00
PatrickvL 8509e97ed9 Implemented NtQueryEvent 2016-12-24 01:20:26 +01:00
PatrickvL 50d449d378 Implemented NtQuerySemaphore 2016-12-24 01:04:54 +01:00
Ivan Roberto de Oliveira 4eba2e31e3 File information struct conversions (#53)
* Selectively merging fs-experimental into master

In particular, I'm not merging the automatic parent folder creation stuff because I'm not convinced it's the right thing to do

* Implemented more FileInfo converters

This should take care of all types used by NtSet/QueryInformationFile. The remaining types are used by NtQueryDirectoryFile.

* FileName probably needs to be converted

* Fix compilation errors

* Restore string conversion

* Revert NtDeviceIoControlFile

Panzer Dragoon failed the initial XapiVerifyMediaInDrive check due to the changes made to this function. We need proper low level I/O device emulation for this to work.

* Fix XeImageFileName

Helps with Avalaunch initialization. It still crashes further down the
road.

* Comment on XBE location

* Implemented conversions for NtQueryInformationFile and NtQueryFullAttributesFile
2016-12-22 22:25:22 +00:00
PatrickvL 570a8743f7 Merge 2016-12-20 13:47:06 +01:00
PatrickvL 2a4158d441 Implemented all kernel Timer functions using NtDLll
Forwarded NtCreateTimer, NtSetTimer, NtQueryTimer, NtCancelTimer to
their respective Nt counterpart.
Declared all required types for this.
Also implemented KeSetEvent minimally.
2016-12-20 13:39:08 +01:00
PatrickvL 58d74eea90 Dug up some more xbox kernel signatures and types 2016-12-19 14:56:52 +01:00
StrikerX3 953e53f42c Added KWAIT_REASON enum 2016-12-15 19:21:39 -02:00
PatrickvL e6bae132b7 Implemented PsSetCreateThreadNotifyRoutine
Used EmuXRegisterThreadNotifyRoutine as a reference
2016-12-12 17:34:08 +01:00
PatrickvL 7e42995d91 Make PsCreateSystemThread use a placeholder instead of NULL
Also removed no-op EmuCleanupFS()
2016-12-12 17:11:04 +01:00
PatrickvL a6591ae07c Added PsCreateSystemThread as forward to PsCreateSystemThreadEx (which had to be corrected)
Also moved NtStatusToString to EmuFile.cpp.
Forwarded KeBugCheck to KeBugCheckEx, NtWaitForSingleObject,
NtWaitForSingleObjectEx and NtWaitForMultipleObjectsEx to
KeWaitForMultipleObjects (in which all implementation we have thus far,
is now concentrated).
2016-12-12 16:15:04 +01:00
PatrickvL 68d60d0cb2 Applied all possible forwards, extended OBJECT_TYPE, added NtOpenDirectoryObject and ObOpenObjectByName stubs 2016-12-11 22:49:35 +01:00