Dr. Chat
ab9fac9a98
XMutant Save/Restore
2015-12-29 13:09:53 -08:00
Dr. Chat
5aff9d12ee
Call XObject::WaitCallback on successful waits
2015-12-29 13:09:52 -08:00
Dr. Chat
d0f547020a
XamLoaderLaunchData: Fix incorrect return values when launch data is not present.
2015-12-29 13:09:52 -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
366f91e191
XFile Save/Restore
2015-12-29 13:09:51 -08:00
Ben Vanik
383a173a18
REBASE: fixing xthread instruction decoding.
2015-12-29 13:09:50 -08:00
Dr. Chat
bcacb9b127
Remove vfs dependency on kernel, implement I/O completion ports
2015-12-29 13:09:50 -08:00
Dr. Chat
a5c22ec214
XThread: Only need to retain a pointer to our object - not a handle.
2015-12-29 13:09:49 -08:00
Dr. Chat
621d3f8abb
XThread free stack on destruction
2015-12-29 13:09:49 -08:00
Dr. Chat
07d31862f1
XThread: Special case save/restore for threads no longer running.
2015-12-29 13:09:48 -08:00
Dr. Chat
b58e9afbf1
Fix XThread::StepIntoBranch not properly stepping into blr/bctr
2015-12-29 13:09:48 -08:00
Dr. Chat
44c9e8fe25
Save/Restore the guest clock in XThreads
2015-12-29 13:09:47 -08:00
Dr. Chat
adec5602c2
XModule log on save/restore
2015-12-29 13:09:47 -08:00
Dr. Chat
6f4626118e
Fix infinite loop in StepToSafePoint after stepping to an address once
2015-12-29 13:09:46 -08:00
Dr. Chat
4cbe219476
Don't update the dispatch header in KetSetEvent/KeResetEvent (threading issues)
2015-12-29 13:09:46 -08:00
Dr. Chat
d0284e943d
XSemaphore Save/Restore
2015-12-29 13:09:45 -08:00
Dr. Chat
afb514528e
Save/Restore XThreads before any other kernel objects
2015-12-29 13:09:44 -08:00
Dr. Chat
b97a39150b
Rewrite Rtl critical section implementation (and implement full waiters)
2015-12-29 13:09:44 -08:00
Dr. Chat
606aa9af6f
XThread: Update the PC when we step out of an export!
2015-12-29 13:09:43 -08:00
Dr. Chat
d2d97fe58f
XThread - Fix unconditional conditional branch check
2015-12-29 13:09:42 -08:00
Dr. Chat
24f8295daa
Make KernelState::TerminateTitle try to terminate XThreads safely.
2015-12-29 13:09:39 -08:00
Dr. Chat
3007a98d2d
Install false-branch breakpoint only if the opcode is conditional.
2015-12-29 13:09:38 -08:00
Dr. Chat
f9de61ceed
XThread::StepToSafePoint - Handle cases where the thread hasn't started yet.
2015-12-29 13:09:37 -08:00
Dr. Chat
a6322c7bf4
NativeList getters/setters
2015-12-29 13:09:36 -08:00
Dr. Chat
89c408965e
Can't call constructors from other constructors
2015-12-29 13:09:35 -08:00
Dr. Chat
7d30e1297a
NotifyListener Save/Restore
2015-12-29 13:09:34 -08:00
Dr. Chat
87931369e4
XObject no kernel state constructor
2015-12-29 13:09:34 -08:00
Dr. Chat
b3ed0fa445
NativeList default constructor
2015-12-29 13:09:33 -08:00
Dr. Chat
23b6a1f943
Fix xam_net.cc
2015-12-29 13:09:33 -08:00
Dr. Chat
4a3773d2fb
XModule Save/Restore
2015-12-29 13:09:32 -08:00
Dr. Chat
93602ed48a
No need to double-retain Ke* objects, as having them in the object table is enough.
2015-12-29 13:09:32 -08:00
Dr. Chat
a4865bd24a
Retain objects when restored into the object table.
2015-12-29 13:09:31 -08:00
Dr. Chat
c8a2298b9d
Remove ~NotifyListener call to UnregisterNotifyListener (as it's impossible for this to occur)
2015-12-29 13:09:26 -08:00
Dr. Chat
290d5d9594
Fix incorrect double-retaining of objects on restore.
2015-12-29 13:09:24 -08:00
Dr. Chat
7e88e54cbe
XObject::host_object -> XObject::is_host_object
2015-12-29 13:09:23 -08:00
Dr. Chat
1e36ea8b69
Use c_str() when passing a string to sprintf!
2015-12-29 13:09:23 -08:00
Dr. Chat
c44742b0e3
XEvent write signaled state
2015-12-29 13:09:22 -08:00
Dr. Chat
e54850e1f2
XThread::set_name - Use more efficient xe::format_string instead of a StringBuffer
2015-12-29 13:09:22 -08:00
Dr. Chat
e4e1bc1060
Remove dead code from UserModule (how did this even get here?)
2015-12-29 13:09:22 -08:00
Dr. Chat
8a9493a048
Remove unused XboxkrnlModule::LaunchModule
2015-12-29 13:09:21 -08:00
Dr. Chat
442f063ddf
XThread Save: Handle emulated instructions/MMIO/etc that call out of guest code
2015-12-29 13:09:20 -08:00
Dr. Chat
785824531c
Fix the assert on no restore handler found
2015-12-29 13:09:20 -08:00
Dr. Chat
6e0057020c
XEvent Save/Restore (TODO: Write signaled state)
2015-12-29 13:09:19 -08:00
Dr. Chat
ce92dd5691
ObjectTable Save/Restore (and overloads/PurgeAllObjects/GetAllObjects)
2015-12-29 13:09:19 -08:00
Dr. Chat
aa7919bd89
emulator.cc savestates
...
Change UserModule::Launch to be non-blocking (returns the main thread)
2015-12-29 13:09:17 -08:00
Dr. Chat
52ec24ea6a
Stash handles rather than native pointers in Ke* objects.
2015-12-29 13:09:17 -08:00
Dr. Chat
4301641bdf
XThread Save/Restore
2015-12-29 13:09:16 -08:00
Ben Vanik
194c13f977
REBASE: Fix vector out of range access.
2015-12-29 13:09:16 -08:00
Dr. Chat
5517518d36
XObject savestate setup (Save/Restore, tracks all handles, tracks if host object)
2015-12-29 12:35:59 -08:00
Dr. Chat
712a5da64b
KernelState::Save/Restore (and misc. changes)
2015-12-29 12:35:58 -08:00
Dr. Chat
ed85346f3b
XObject Save/Restore
2015-12-29 12:32:50 -08:00
Dr. Chat
4a13316daa
Track export data on kernel trampolines as well.
2015-12-29 12:32:49 -08:00
Dr. Chat
b8d4f26e46
Fix NtWaitForMultipleObjectsEx definition
2015-12-29 12:32:49 -08:00
Dr. Chat
87cdce1440
Export kBlocking tag
2015-12-29 12:32:48 -08:00
Dr. Chat
666f5543a8
Cleanup ThreadState and XThread
2015-12-29 12:32:46 -08:00
Ben Vanik
990d973c74
New ppc opcode decoder.
...
Seems to work and match up with the old decoder (which may be bad).
Old decoder remains until all functionality is replaced.
2015-12-27 22:53:05 -08:00
Ben Vanik
0a316808a5
Include order fixes.
2015-12-27 10:27:46 -08:00
Ben Vanik
0e58208add
Dropping elemental-forms and swapping out with imgui.
...
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
sephiroth99
a281f6d70d
ObjectTable: Remove explicit specialization in class scope
...
Function template 'LookupObject' in ObjectTable class has
a specialization in class scope, which is not allowed.
While MSVC seems OK with that, clang complains about it.
Fix this issue by moving the definition of the specialisation
outside the class scope, and moving the declaration in the
'.cc' file.
2015-12-17 01:04:44 -05:00
Ben Vanik
15816327b4
Renaming xe::cpu::frontend to xe::cpu::ppc.
2015-12-14 21:17:55 -08:00
Ben Vanik
bea8870700
Shuffling old-style ucode.h under gl4.
2015-11-28 16:10:27 -08:00
Ben Vanik
1956b8708e
Fixing include orders and whitelisting others.
...
Will be broken until clang SVN 253772 is available on travis/snapshots.
2015-11-21 11:34:46 -08:00
Dr. Chat
4dfe1addaa
Verify that LookupObject actually returns an object of the requested type.
2015-11-12 19:06:15 -06:00
Dr. Chat
7fc22f1987
Add a static kType field to all objects
2015-11-12 19:01:55 -06:00
Dan Weatherford
e178853e46
Partially implement XamUserWriteProfileSettings
...
Handles writing binary blob settings to the user profile which can then be read
by XamUserReadProfileSettings.
2015-11-09 16:53:52 -06:00
Ben Vanik
4af6c41740
Moving profiling.h to base - UI could be separated for cleanliness.
2015-11-07 12:31:07 -08:00
Ben Vanik
440c807936
Fix error state shutdown crash.
2015-11-06 16:27:07 -08:00
Ben Vanik
b9326be93c
Merge pull request #447 from DrChat/excreatethread_ptr_fix
...
Fix ExCreateThread returning a handle when game requests a pointer
2015-11-03 20:01:12 -08:00
Dr. Chat
cd12b3d198
Converted MmCreateKernelStack / Implemented MmDeleteKernelStack
2015-11-01 21:59:27 -06:00
Dr. Chat
b628577855
Implemented KeSetCurrentStackPointers
2015-11-01 21:56:40 -06:00
Dr. Chat
cee0e582c2
Remove workarounds for handles passed into Ke* functions.
2015-10-31 10:31:35 -05:00
Dr. Chat
4d22c21688
ExCreateThread: Flag 0x80 indicates we should return the thread pointer, not handle.
2015-10-31 10:28:53 -05:00
Dr. Chat
3547d31c3d
Generate trampoline functions for GetProcAddressByOrdinal on kernel modules.
2015-10-24 14:14:08 -05:00
Dr. Chat
c33e95981b
Formatting.
2015-09-25 18:46:50 -05:00
Dr. Chat
71818a3129
Convert NtCreateEvent to new format
2015-09-25 18:39:14 -05:00
Dr. Chat
b12480820c
word_t shim parameter
2015-09-25 18:38:33 -05:00
Dr. Chat
f5ee6f4cf5
XEX2 lan key header
2015-09-25 18:38:10 -05:00
Dr. Chat
ba399d52b9
NtAllocateVirtualMemory: Return STATUS_MAPPED_ALIGNMENT if the base address is unaligned
2015-09-25 18:37:49 -05:00
Dr. Chat
d78f43c574
XamContentOpenFile stub
2015-09-25 18:35:57 -05:00
Dr. Chat
9ceab26560
Print the LAN key header
...
Check if the module is a XEX module before calling Unload on XexModule
2015-09-25 18:34:54 -05:00
Dr. Chat
3cbc65ac29
XThread Get/Set Last Error
2015-09-25 18:22:13 -05:00
Ben Vanik
ee92f75a84
Updating to the latest clang-format. Make sure to update yourselves!
2015-09-22 08:26:19 -07:00
sephiroth99
ab2ef82d55
xobject: remove accept method of object_ref class
...
The removed method was causing an error in clang ("call to non-static member
function without an object argument"). As it was not used, simply remove
it.
2015-09-22 07:43:08 -07:00
Ben Vanik
3fc1d02a09
Suspend some host threads that make guest callbacks.
2015-09-21 21:24:26 -07:00
Ben Vanik
5d033f9cb3
A new debugger.
...
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Ben Vanik
a1a996c1e6
Shrinking UI elements in the debugger.
2015-09-06 20:49:20 -07:00
Ben Vanik
e5fbf840d2
Shuffling kernel/.
2015-09-06 18:07:52 -07:00
Ben Vanik
494cba7131
Removing unused XAsyncRequest.
2015-09-06 14:10:34 -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
6c07eb8e5c
Faster RtlFillMemoryUlong.
2015-09-05 14:38:07 -07:00
Dr. Chat
3d1f079e86
NetDll_inet_addr needs to convert endianness!
2015-09-01 23:47:54 -05:00
Ben Vanik
311b65537d
--log_high_frequency_kernel_calls (defaults to false) to cull some lines.
2015-09-01 18:20:08 -07:00
Ben Vanik
3c1e012098
Lookup thread/event/etc objects by name on create to try to reuse.
2015-09-01 18:09:44 -07:00
Ben Vanik
3f433fe20a
Object table names are case insensitive.
2015-09-01 18:08:00 -07:00
Ben Vanik
f3c75b8d87
Support ObReferenceObjectByHandle for XEvents.
2015-09-01 17:42:07 -07:00
Ben Vanik
b9debbaa63
Fixing section lookup when the name is 8 characters.
2015-09-01 17:03:40 -07:00
Ben Vanik
f5e374f9b5
Changing the way the global lock works. Some things are better, I think.
...
Regressions are likely.
2015-09-01 09:45:32 -07:00
Ben Vanik
1b916ccca2
Log module dump directly.
2015-08-30 21:33:33 -07:00
Ben Vanik
a4ed79695d
WSACreateEvent/CloseEvent/SetEvent.
2015-08-30 21:31:52 -07:00
Ben Vanik
39989a6107
Adding log lines to help find unimplemented NtQueryInformationFile calls.
2015-08-30 16:38:51 -07:00
Ben Vanik
b80a028589
Much better errors on undefined externs.
2015-08-30 15:27:12 -07:00
Ben Vanik
87094b8257
Adding XamUserContentRestriction* functions.
2015-08-30 15:00:04 -07:00
Ben Vanik
7711568af9
Implementing SetTimer and CompleteOverlappedEx APC callbacks.
...
Fixes #410 .
2015-08-29 23:43:26 -07:00
Ben Vanik
7172f7575e
Removing assert in keyboard display on flags.
2015-08-29 22:30:12 -07:00
Ben Vanik
1d7f345960
Fix logging with null varargs.
2015-08-29 22:22:07 -07:00
Ben Vanik
a86b3821f2
Adding thread handle to logging.
2015-08-29 20:49:26 -07:00
Ben Vanik
c486fcfcba
Merge pull request #407 from DrChat/libav
...
Rewrote the Audio Decoder
2015-08-29 20:47:04 -07:00
Dr. Chat
3d684ac304
Fixup the premake files
2015-08-29 22:04:12 -05:00
Ben Vanik
3508cce5b3
Fixing module loading.
2015-08-29 19:35:43 -07:00
Dr. Chat
0f9cd8cfb3
New WIP audio decoder
2015-08-29 21:16:57 -05:00
Dr. Chat
f2b2a22687
Add gflags to projects that need it only
2015-08-29 21:16:57 -05:00
Ben Vanik
b7203c2989
Logging to with a ringbuffer. Much faster.
2015-08-29 18:06:30 -07:00
Ben Vanik
8b0d4fb51c
Linux tweaks.
2015-08-18 14:18:00 -07:00
Ben Vanik
19299fad4b
Removing apu/ deps on Emulator.
2015-08-18 10:54:56 -07:00
Ben Vanik
ad090a40eb
Fixing misuse of std::chrono.
2015-08-18 10:18:30 -07:00
Dr. Chat
3c968f3f1e
Whoops - Fix InterlockedPopEntrySList dereferencing a NULL pointer
2015-08-16 16:54:55 -05:00
Dr. Chat
6cd08384e7
(Experimental) ELF module support
2015-08-16 09:47:39 -05:00
Dr. Chat
3fcc6648d7
Fix (to the best of my knowledge) InterlockedPopEntrySList
...
Couple of other asserts/fixes
2015-08-13 19:06:58 -05: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
14beb27ebc
xb style.
2015-08-07 07:56:57 -07:00
Ben Vanik
5e08889d93
More style cleanup.
2015-08-06 20:17:01 -07:00
Ben Vanik
e6461f326c
Some xb style cleanup.
2015-08-05 22:06:20 -07:00
Ben Vanik
37ded9acc3
Window->Form.
2015-08-01 10:24:41 -07:00
Ben Vanik
2f1965082c
Dropping dummy drive size down to a reasonable size. Fix #377 .
2015-07-31 14:15:07 -07:00
Ben Vanik
e523ffcd51
Tweaking some thread names.
2015-07-29 23:28:45 -07:00
Ben Vanik
d8be8fdbbb
Never run WSACleanup, it breaks the debugger. Some games do this
...
on startup just because, which decrements our WSA instance to zero.
2015-07-29 21:41:39 -07:00
Ben Vanik
9bea299a16
Massaging xinput arguments. Fixes RCR.
2015-07-29 21:41:09 -07:00
Ben Vanik
122114d1d1
Fixing debugger startup race.
2015-07-29 19:52:53 -07:00
Ben Vanik
e01c2ac98d
Fixing formatting.
2015-07-28 00:32:01 -07:00
Ben Vanik
dffc1f0e14
Merge pull request #371 from DrChat/xam_enumerate_fix
...
Fix XamEnumerate returning a RESULT instead of a HRESULT
2015-07-27 19:59:57 -07:00
Ben Vanik
b1baaa45bc
Merge pull request #369 from DrChat/handle_release_fix
...
Fix releasing the primary handle of an object in RemoveHandle
2015-07-27 19:59:45 -07:00
Dr. Chat
1e0ba0b24c
Fix XamEnumerate returning a RESULT instead of a HRESULT in extended error.
2015-07-27 21:50:26 -05:00
Dr. Chat
fe7a710460
Revert license mask.
2015-07-27 18:32:41 -05:00
Dr. Chat
997de209ec
Reversed engineered X_OBJECT_HEADER a bit better
2015-07-27 18:26:07 -05:00
Dr. Chat
e37479c7b0
Convert strings before returning them
2015-07-27 18:23:11 -05:00
Dr. Chat
6a26fd08cd
Xam keyboard input UI
...
Moved XamShowDeviceSelectorUI here
2015-07-27 18:22:51 -05:00
Dr. Chat
9b722eb602
XamContent change HDD size to 1TB, rewrite XamContentCreateEnumerator
2015-07-27 18:22:10 -05:00
Dr. Chat
df500e162e
Rewrite XamEnumerate to copy one item at a time (for now anyways)
2015-07-27 18:20:50 -05:00
Dr. Chat
ee1565b0e8
XEnumerator write single item
2015-07-27 18:18:05 -05:00
Ben Vanik
987589dcbc
Stop overwriting already-specified thread names.
2015-07-26 23:49:32 -07:00
Ben Vanik
7ecc6362de
Debugger stuff. Lots of wasted work :/
2015-07-26 22:47:16 -07:00
Dr. Chat
30f3994476
Fix accidentally releasing the primary handle of a duplicated object when the duplicated handle is removed.
2015-07-25 20:00:18 -05:00
Ben Vanik
ea4ec28acc
Adding --show_profiler to show profiler by default, changing hotkey to F3.
2015-07-25 12:34:15 -07:00
Dr. Chat
4301806061
Cleanup some Ke* threading APIs (and update the dispatch header when possible)
2015-07-25 11:43:25 -05:00
Dr. Chat
18d8fad098
Couple of fixes for IO (null pointer deref and improper XctdCompressionInformation)
2015-07-24 23:50:02 -05:00
Dr. Chat
270686a0be
Whoops, don't need these
2015-07-24 23:24:23 -05:00