Commit Graph

48 Commits

Author SHA1 Message Date
gibbed 0d6bfc1a6b [Kernel] Rename NotifyListener to XNotifyListener to bring it in line with the naming scheme of kernel objects. 2019-07-29 13:43:13 -05:00
gibbed 4cc2aaf5b9 Remove unnecessary usage of xe::be. 2018-05-27 16:35:01 -05:00
Dr. Chat a148b965f1 KernelState should handle module launching 2016-10-24 11:01:10 -05:00
Dr. Chat eee0bb070c Store thread TLS in guest memory rather than using host APIs 2015-12-29 13:09:58 -08:00
Dr. Chat bb5fd73b9e Register user-modules with the kernel in UserModule::Restore 2015-12-29 13:09:57 -08:00
Dr. Chat f5237d486a KernelState::TerminateTitle - Release the global lock in smaller regions / No need for an argument specifying if called from guest 2015-12-29 13:09:51 -08:00
Dr. Chat 24f8295daa Make KernelState::TerminateTitle try to terminate XThreads safely. 2015-12-29 13:09:39 -08:00
Dr. Chat 712a5da64b KernelState::Save/Restore (and misc. changes) 2015-12-29 12:35:58 -08:00
Ben Vanik e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik 8588fbc6cf Shuffling kernel util types to util/. 2015-09-06 13:45:52 -07:00
Ben Vanik 669f5b061f Moving DPC list into KernelState and removing unused file. 2015-09-06 09:36:39 -07:00
Ben Vanik 3c96b6fa0a DANGER DANGER. Switching to global critical region.
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Ben Vanik a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Dr. Chat 8d0fef1433 Kernel state terminate notification support 2015-07-21 22:11:33 -05:00
Ben Vanik ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -07:00
Dr. Chat 870aa092bb KernelState::GetKernelModule 2015-07-05 17:27:25 -05:00
Dr. Chat 5ccea06e7f KernelState::TerminateTitle 2015-07-05 15:42:30 -05:00
Ben Vanik 5b2f049d4c Adding deferred xoverlapped completion helper. 2015-06-29 12:02:08 -07:00
Ben Vanik 0716cf84c0 Renaming xe::fs to xe::filesystem and xe::kernel::fs to xe::vfs.
Progress on #294.
2015-06-27 13:31:21 -07:00
Ben Vanik f07d620553 Moving misc stuff out of xbox.h.
Progress on #297.
2015-06-27 11:44:40 -07:00
Ben Vanik 52060af847 Best-guess process info block. 2015-06-04 17:46:00 -07:00
Ben Vanik d746743d20 More object_ref'ing. 2015-05-25 00:51:28 -07:00
Ben Vanik 5cfb69434c Modules using object_ref. 2015-05-25 00:51:27 -07:00
Ben Vanik 8ac1f61c64 RAII object reference, debug mutex, etc. 2015-05-25 00:51:24 -07:00
Ben Vanik f88bf33b4f Moving threads to XHostThread and making shutdown not crash. 2015-05-19 22:20:49 -07:00
Dr. Chat f2ac2af8cd Change kernel state's object mutex to a recursive mutex
KernelState::IsKernelModule
2015-05-18 00:40:43 -05:00
Ben Vanik 46eedeab01 Fixing up some overlapped completion routine stuff. 2015-05-14 16:35:29 -07:00
Ben Vanik abf7b794e6 Adding --headless and basic message box UI. 2015-05-14 16:21:08 -07:00
Ben Vanik 23eb343484 Calling DllMain, fixing ref count, and fixing module search. 2015-05-09 00:56:42 -07:00
Dr. Chat 9f0663efa2 XexLoadImage for user modules 2015-05-04 22:03:14 -05:00
Ben Vanik 642259e16f Code cleanup: moving ExportResolver to xe::cpu 2015-05-02 02:11:11 -07:00
Ben Vanik 30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik dc731f6a31 Most of XamContent* methods, besides enumeration.
Progress on #152.
2015-02-12 14:16:43 -08:00
Ben Vanik 00e4a4fe1b Fix #include format. 2015-01-31 22:49:47 -08:00
Ben Vanik a0eebf8898 Removing old run loop/ref/core/etc. 2014-12-31 19:26:51 -08:00
Ben Vanik 4fabd20980 Better process type emulation. 2014-11-01 11:42:44 -07:00
Ben Vanik 6053f1d35c Spamming some notifications on startup to unhang games. 2014-10-29 21:09:54 -07:00
Ben Vanik 6cb9ca432f More shared header cleanup. 2014-08-16 19:07:21 -07:00
Ben Vanik bca49bed4b Removing xe_mutex_t. 2014-08-16 00:56:50 -07:00
Ben Vanik bf48e9fbbd Part 2 of kernel cleanup: merging functions into shims. 2014-08-16 00:11:24 -07:00
Ben Vanik c275562594 Mostly complete tracing. Probably a lot of bugs. 2014-08-15 22:02:08 -07:00
Ben Vanik 0a9d936f1e Better faking of the user profile. 2014-08-03 21:26:10 -07:00
Ben Vanik 57dda9c755 Factoring out XMsg app stuff. 2014-08-03 14:38:04 -07:00
Ben Vanik 71eb408d67 Various fiddlings. 2014-06-22 19:41:26 -07:00
Ben Vanik c50fbafbd9 Start of DPCs. Queuing them, but not yet dispatching. 2014-01-11 21:40:23 -08:00
Ben Vanik dc496e8102 Unifying kernel modules and user modules to XModule. XexLoadImage/etc. 2014-01-11 17:24:34 -08:00
Ben Vanik 5fd0b211ce Thread ID lookup and naming. 2014-01-07 20:54:47 -08:00
Ben Vanik 4d92720109 Moving all kernel files around just to fuck with whoever's keeping track ;) 2014-01-04 17:12:46 -08:00