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
PatrickvL
b37b1bdeaa
Copied over a few declarations from https://github.com/xqemu/nxdk
2016-12-10 19:26:28 +01:00
PatrickvL
65b00fa856
Added IoDismountVolume stub
...
Also added the types needed for it's arguments.
2016-12-10 18:10:49 +01:00
PatrickvL
8bfe7bc426
Prevent naming collisions on kernel symbols using a KRNL() macro
2016-12-02 17:31:34 +01:00
PatrickvL
14427e9996
Added MmClaimGpuInstanceMemory implementation
2016-12-02 15:43:23 +01:00
PatrickvL
3dd16ce418
Added remaining Mm* kernel functions
...
Introduced and used VOLATILE define
Removed using namespace xboxkrnl
Fixed ambiguous warnings
2016-12-02 10:38:46 +01:00
Luke Usher
56185eed5f
Fix compilation of Interlocked API
...
This was achieved by prefixing XboxKrnl functions with Xb to prevent a name conflict with WinNT.h
Additionally, rather than importing native Interlocked functions from NTDLL, we use the versions defined in WinNT.h
2016-12-01 22:03:48 +00:00
PatrickvL
9c821d09c0
Added more kernel stubs
...
Also applied FASTCALL define. Failed attempt to add Interlocked API's
(VC++ complains about undefined intrinsics or something like that).
2016-12-01 18:01:16 +01:00
PatrickvL
0a31daeb27
Added typedef (P)ERWLOCK
2016-11-25 22:25:01 +01:00
PatrickvL
3dd0a8fa8e
Remove LONGBOOL - a Delphi Dxbx derelict
...
Also corrected return type of HalDisableSystemInterrupt to VOID
2016-11-24 16:32:16 +01:00
PatrickvL
f4a4026a03
Added UNIMPLEMENTED stubs for all remaining Hal* kernel functions
2016-11-23 17:34:57 +01:00
PatrickvL
2522524c4e
Added UNIMPLEMENTED stubs for al Ex* kernel functions
2016-11-21 16:16:24 +01:00
PatrickvL
5640d74248
Slowly working my way through adding UNIMPLEMENTED skeletons
...
Rtl* functions can be passed-through to host - as soon as headers are
defined...
2016-11-16 01:43:10 +01:00
PatrickvL
456c5b1c1f
Added UNIMPLEMENTED skeletons for remaining Av* and Dbg* kernel entries
2016-11-16 00:34:49 +01:00
PatrickvL
3ade9fce9d
Couple the xbox thunks for xboxkrnl::KeInterruptTime and xboxkrnl::KeSystemTime to their actual counterparts on Windows
...
This way we won't have to spend any time on updating them ourselves, and
still get highly accurate timers!
(Untested. Ported back from Dxbx)
2016-11-14 18:18:12 +01:00
PatrickvL
0df04c2f45
Added a few more variables to the kernel thunk table
2016-11-13 00:46:56 +01:00
Luke Usher
a160db2c72
XApiVerifyMediaInDrive now passes validation without patches
2016-09-30 06:45:47 +01:00
Luke Usher
c6dca6127a
Implemented XeImageFileName kernel structure
2016-08-21 14:57:46 +01:00
Luke Usher
933a7be906
Include many of the changes from Blueshogun's Cxbx branch
2016-08-21 00:53:25 +01:00
Echelon9
b31e36c6dd
More correct implementation of the KDPC structure.
2012-12-01 00:41:01 +11:00