Commit Graph

69 Commits

Author SHA1 Message Date
Dr. Chat
712a5da64b KernelState::Save/Restore (and misc. changes) 2015-12-29 12:35:58 -08:00
Ben Vanik
3fc1d02a09 Suspend some host threads that make guest callbacks. 2015-09-21 21:24:26 -07: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
cb3dbcccbc Notes. 2015-09-06 11:05:16 -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
7711568af9 Implementing SetTimer and CompleteOverlappedEx APC callbacks.
Fixes #410.
2015-08-29 23:43:26 -07:00
Ben Vanik
ad090a40eb Fixing misuse of std::chrono. 2015-08-18 10:18:30 -07:00
Ben Vanik
0686227d23 Style fixes. 2015-08-08 16:40:14 -07:00
Ben Vanik
a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik
7ecc6362de Debugger stuff. Lots of wasted work :/ 2015-07-26 22:47:16 -07:00
Dr. Chat
8d0fef1433 Kernel state terminate notification support 2015-07-21 22:11:33 -05:00
Ben Vanik
bebda48a4f More clang fixes. 2015-07-19 20:46:14 -07:00
Ben Vanik
91d7acf59e Fixing some particularly bad /W4. 2015-07-18 23:04:21 -07: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
82986c6eec Use TerminateTitle rather than relying on XamLoader* being called from the main thread. 2015-07-05 16:22:45 -05:00
Dr. Chat
5ccea06e7f KernelState::TerminateTitle 2015-07-05 15:42:30 -05:00
Dr. Chat
fbfdfc8914 Don't call DllMain on non-DLLs
Gracefully handle the kernel dispatch thread already running
2015-07-05 13:31:13 -05:00
Dr. Chat
1788ee1589 Linting. 2015-07-03 20:11:08 -05:00
Dr. Chat
a25090f3ca Templated XUserModule::GetOptHeader 2015-07-03 10:27:08 -05:00
Dr. Chat
029babaf5d Drop dependency on old-style xex2 headers 2015-07-03 08:15:53 -05:00
Ben Vanik
5b2f049d4c Adding deferred xoverlapped completion helper. 2015-06-29 12:02:08 -07:00
Ben Vanik
996f99bd85 Quick fix for RtlImageXexHeaderField - still some more to do. 2015-06-28 12:17:48 -07:00
Ben Vanik
e772a8cb92 Fixing module export. 2015-06-28 12:07:13 -07:00
Ben Vanik
7875a4b0ba Merge pull request #300 from DrChat/hmodule_fix
Swap to using HMODULE instead of handles for xex modules.
2015-06-28 12:01:32 -07:00
Dr. Chat
bb900ba9db XexExecutableModuleHandle export now points to the executing HMODULE 2015-06-27 23:42:46 -05:00
Ben Vanik
1ac19f1b08 Replacing vfs memory mapping with base memory mapping.
Progress on #294.
2015-06-27 18:02:20 -07:00
gibbed
b14ca702d1 Initialize process_type properly. 2015-06-05 19:21:52 -05:00
Ben Vanik
52060af847 Best-guess process info block. 2015-06-04 17:46:00 -07:00
Ben Vanik
169ced8194 Removing kernel_state and ppc_context from kernel export args. 2015-06-01 19:33:13 -07:00
Ben Vanik
a2b66f9109 LookupObject'ing code. 2015-05-25 00:52:19 -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
9ea88ff901 Hack for testing completion routines - this is not correct.
Assert left in on purpose.
2015-05-14 16:35:46 -07: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
1b111f0313 Thread safety 2015-05-04 22:16:48 -05:00
Dr. Chat
f12a8dbe20 Release modules on destruction 2015-05-04 22:07:58 -05:00
Dr. Chat
9f0663efa2 XexLoadImage for user modules 2015-05-04 22:03:14 -05:00
Ben Vanik
e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik
99816056be Code cleanup: removing poly.h 2015-05-02 02:29:26 -07:00
Ben Vanik
ec84a688e9 Starting to properly attribute virtual vs. physical memory accesses. 2015-03-29 11:11:35 -07:00
Ben Vanik
dc731f6a31 Most of XamContent* methods, besides enumeration.
Progress on #152.
2015-02-12 14:16:43 -08:00
Ben Vanik
93ded5ef0f Old style mfcr. 2015-02-01 20:49:47 -08:00