Ben Vanik
|
d7eff7c9e3
|
Marking some memory instructions as kM.
|
2015-12-29 17:53:49 -08:00 |
Ben Vanik
|
077f73449d
|
More gracefully handle killed threads. Still needs some UI love.
|
2015-12-29 15:19:31 -08:00 |
Ben Vanik
|
cc37fb1358
|
Updating to the latest capstone. Fixes #440.
|
2015-12-29 15:19:08 -08:00 |
Ben Vanik
|
3ca0bff246
|
Avoid duplicate object handle assignment on creation.
|
2015-12-29 14:03:23 -08:00 |
Ben Vanik
|
9c694f07b3
|
Better trap message.
|
2015-12-29 13:40:53 -08:00 |
Ben Vanik
|
948aa2400d
|
Formatting all code. Too gnarly to rebase properly.
|
2015-12-29 13:13:34 -08:00 |
Dr. Chat
|
4e7dfa477b
|
Assign XModule path on load rather than in the constructor
|
2015-12-29 13:10:03 -08:00 |
Dr. Chat
|
c242a01043
|
Mark XThreads as running before calling Execute
|
2015-12-29 13:10:02 -08:00 |
Dr. Chat
|
6108ff1608
|
Use a 64-bit bitmap rather than a 32-bit bitmap.
|
2015-12-29 13:10:02 -08:00 |
Dr. Chat
|
764dcba75a
|
Update TLS comments
|
2015-12-29 13:10:01 -08:00 |
Dr. Chat
|
5cb591b993
|
Compensate for static TLS when accessing dynamic TLS.
|
2015-12-29 13:10:01 -08:00 |
Dr. Chat
|
bca5fb5382
|
XThread acquire mutants on restore
|
2015-12-29 13:10:00 -08:00 |
Dr. Chat
|
5c94062110
|
XFile setup async_event_ in the restore constructor
|
2015-12-29 13:10:00 -08:00 |
Dr. Chat
|
fefc2036b3
|
Fix XSemaphores saving/restoring a bad counter
|
2015-12-29 13:09:59 -08:00 |
Dr. Chat
|
d4da8cab4e
|
BitMap: Change the size param to the number of entries (bits)
|
2015-12-29 13:09:59 -08: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
|
c5ac4185ac
|
Threadsafe bitmap class
|
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
|
2855036f72
|
Remove modules from the object table if they fail to load.
|
2015-12-29 13:09:57 -08:00 |
Dr. Chat
|
3e6c70defa
|
Fixup UserModule::LoadFromFile to use new vfs API
|
2015-12-29 13:09:56 -08:00 |
Dr. Chat
|
f4154810b6
|
XamModule::LoaderData::launch_data_present
|
2015-12-29 13:09:56 -08:00 |
Dr. Chat
|
08663fd745
|
Non-const ByteStream::data()
|
2015-12-29 13:09:55 -08:00 |
Dr. Chat
|
68f9949829
|
Make XObject::GetWaitHandle a protected function
|
2015-12-29 13:09:55 -08:00 |
Dr. Chat
|
e619e4590c
|
debugger: Don't feed the stack walker an XThread's wait handle
|
2015-12-29 13:09:54 -08:00 |
Dr. Chat
|
8f92c60a0b
|
ObCreateSymbolicLink/ObDeleteSymbolicLink
|
2015-12-29 13:09:54 -08:00 |
Dr. Chat
|
9cf324f689
|
Fix VFS files not having correct paths recorded.
|
2015-12-29 13:09:53 -08:00 |
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
|
b9159ddee8
|
X64CodeCache: Add a couple of overflow debug asserts
|
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
|
5f79d8f97e
|
Fix RingBuffer::EndRead not detecting a split read (where second length == 0)
|
2015-12-29 13:09:45 -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
|
ee0a41aa2c
|
Fix AudioSystem Restore and cleanup some code
|
2015-12-29 13:09:43 -08:00 |
Dr. Chat
|
b94ab4acbc
|
AudioSystem Save/Restore
|
2015-12-29 13:09:42 -08:00 |
Dr. Chat
|
d2d97fe58f
|
XThread - Fix unconditional conditional branch check
|
2015-12-29 13:09:42 -08:00 |
Dr. Chat
|
4eff2d8420
|
AudioSystem - switch to a free flag for free clients rather than a queue.
|
2015-12-29 13:09:41 -08:00 |
Dr. Chat
|
6997970d52
|
GraphicsSystem Save/Restore
|
2015-12-29 13:09:41 -08:00 |
Dr. Chat
|
9ed81b6876
|
Fix not assigning write access to WriteCombine pages on restore.
|
2015-12-29 13:09:40 -08:00 |
Dr. Chat
|
1442f50058
|
X64Backend: Take a reference of the pair rather than a copy (and formatting)
|
2015-12-29 13:09:40 -08:00 |
Dr. Chat
|
49ed0915d4
|
Add (temporary) shortcuts to save(F7)/restore(F8) to a file called "test.sav"
|
2015-12-29 13:09:39 -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
|
0f82e0d090
|
Make the processor automatically generate any ungenerated functions when installing a breakpoint.
|
2015-12-29 13:09:37 -08:00 |
Dr. Chat
|
5ef21d3714
|
memory: Write no access pages to the savefile.
|
2015-12-29 13:09:36 -08:00 |
Dr. Chat
|
20fb20d7f6
|
Hold the global lock while restoring from a file.
|
2015-12-29 13:09:36 -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
|
ce2d6da2a1
|
Processor breakpoints: Change iterators to C++11 syntax where necessary
|
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
|
3678a22c90
|
Use TLS to store the current thread.
|
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
|
0b5def1ff6
|
MappedMemory: Support opening empty files (and extending them) / remapping files / Truncate on close
|
2015-12-29 13:09:21 -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 |
Ben Vanik
|
bbff23a8bb
|
REBASE: Fixing Memory::Reset().
|
2015-12-29 13:09:18 -08:00 |
Dr. Chat
|
432e32f7c2
|
memory Save/Restore
|
2015-12-29 13:09:18 -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
|
1ce6a7580b
|
Fix CaptureStackTrace with null out_stack_hash
|
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
|
d99008bfac
|
RawModule::SetAddressRange - Notify the backend about this range.
|
2015-12-29 12:35:58 -08:00 |
Dr. Chat
|
38a09cbcc2
|
ExecuteRaw: Pass in 0xBC... magic so Xenia will return to the guest caller.
|
2015-12-29 12:35:57 -08:00 |
Dr. Chat
|
6d98628962
|
Remove Function::Call extern handler shortcut (as we need old behavior for savestates)
|
2015-12-29 12:35:56 -08:00 |
Dr. Chat
|
67a45203e3
|
Uninstall the X64 backend exception callback on exit.
|
2015-12-29 12:35:56 -08:00 |
Dr. Chat
|
62351a62de
|
filesystem::CreateFile
|
2015-12-29 12:35:55 -08:00 |
Dr. Chat
|
e206d13af7
|
Flag mfmsr/mtmsr/mtmsrd as context-synchronizing instructions
|
2015-12-29 12:35:04 -08:00 |