Commit Graph

  • c5ac4185ac Threadsafe bitmap class Dr. Chat 2015-12-27 13:13:07 -06:00
  • bb5fd73b9e Register user-modules with the kernel in UserModule::Restore Dr. Chat 2015-12-26 16:37:43 -06:00
  • 2855036f72 Remove modules from the object table if they fail to load. Dr. Chat 2015-12-26 16:17:18 -06:00
  • 3e6c70defa Fixup UserModule::LoadFromFile to use new vfs API Dr. Chat 2015-12-26 15:37:37 -06:00
  • f4154810b6 XamModule::LoaderData::launch_data_present Dr. Chat 2015-12-26 15:36:57 -06:00
  • 08663fd745 Non-const ByteStream::data() Dr. Chat 2015-12-26 15:36:11 -06:00
  • 68f9949829 Make XObject::GetWaitHandle a protected function Dr. Chat 2015-12-17 18:32:45 -06:00
  • e619e4590c debugger: Don't feed the stack walker an XThread's wait handle Dr. Chat 2015-12-17 18:27:03 -06:00
  • 8f92c60a0b ObCreateSymbolicLink/ObDeleteSymbolicLink Dr. Chat 2015-12-17 17:14:43 -06:00
  • 9cf324f689 Fix VFS files not having correct paths recorded. Dr. Chat 2015-12-17 15:35:39 -06:00
  • ab9fac9a98 XMutant Save/Restore Dr. Chat 2015-12-16 17:27:25 -06:00
  • 5aff9d12ee Call XObject::WaitCallback on successful waits Dr. Chat 2015-12-16 17:07:43 -06:00
  • d0f547020a XamLoaderLaunchData: Fix incorrect return values when launch data is not present. Dr. Chat 2015-12-16 15:39:12 -06:00
  • b9159ddee8 X64CodeCache: Add a couple of overflow debug asserts Dr. Chat 2015-12-16 14:48:42 -06:00
  • f5237d486a KernelState::TerminateTitle - Release the global lock in smaller regions / No need for an argument specifying if called from guest Dr. Chat 2015-12-16 12:00:35 -06:00
  • 366f91e191 XFile Save/Restore Dr. Chat 2015-12-15 18:21:49 -06:00
  • 383a173a18 REBASE: fixing xthread instruction decoding. Ben Vanik 2015-12-29 12:54:46 -08:00
  • bcacb9b127 Remove vfs dependency on kernel, implement I/O completion ports Dr. Chat 2015-12-15 16:52:41 -06:00
  • a5c22ec214 XThread: Only need to retain a pointer to our object - not a handle. Dr. Chat 2015-12-14 15:17:43 -06:00
  • 621d3f8abb XThread free stack on destruction Dr. Chat 2015-12-14 14:34:44 -06:00
  • 07d31862f1 XThread: Special case save/restore for threads no longer running. Dr. Chat 2015-12-14 14:32:55 -06:00
  • b58e9afbf1 Fix XThread::StepIntoBranch not properly stepping into blr/bctr Dr. Chat 2015-12-12 19:35:51 -06:00
  • 44c9e8fe25 Save/Restore the guest clock in XThreads Dr. Chat 2015-12-12 16:44:59 -06:00
  • adec5602c2 XModule log on save/restore Dr. Chat 2015-12-12 14:31:06 -06:00
  • 6f4626118e Fix infinite loop in StepToSafePoint after stepping to an address once Dr. Chat 2015-12-12 13:36:00 -06:00
  • 4cbe219476 Don't update the dispatch header in KetSetEvent/KeResetEvent (threading issues) Dr. Chat 2015-12-12 13:33:19 -06:00
  • 5f79d8f97e Fix RingBuffer::EndRead not detecting a split read (where second length == 0) Dr. Chat 2015-12-12 13:21:46 -06:00
  • d0284e943d XSemaphore Save/Restore Dr. Chat 2015-12-11 19:51:47 -06:00
  • afb514528e Save/Restore XThreads before any other kernel objects Dr. Chat 2015-12-08 21:26:08 -06:00
  • b97a39150b Rewrite Rtl critical section implementation (and implement full waiters) Dr. Chat 2015-12-08 15:15:23 -06:00
  • 606aa9af6f XThread: Update the PC when we step out of an export! Dr. Chat 2015-12-08 00:35:38 -06:00
  • ee0a41aa2c Fix AudioSystem Restore and cleanup some code Dr. Chat 2015-12-08 00:34:31 -06:00
  • b94ab4acbc AudioSystem Save/Restore Dr. Chat 2015-12-07 23:34:34 -06:00
  • d2d97fe58f XThread - Fix unconditional conditional branch check Dr. Chat 2015-12-07 13:22:18 -06:00
  • 4eff2d8420 AudioSystem - switch to a free flag for free clients rather than a queue. Dr. Chat 2015-12-07 12:37:15 -06:00
  • 6997970d52 GraphicsSystem Save/Restore Dr. Chat 2015-12-07 10:55:30 -06:00
  • 9ed81b6876 Fix not assigning write access to WriteCombine pages on restore. Dr. Chat 2015-12-07 10:53:45 -06:00
  • 1442f50058 X64Backend: Take a reference of the pair rather than a copy (and formatting) Dr. Chat 2015-12-06 23:36:21 -06:00
  • 49ed0915d4 Add (temporary) shortcuts to save(F7)/restore(F8) to a file called "test.sav" Dr. Chat 2015-12-06 21:07:10 -06:00
  • 24f8295daa Make KernelState::TerminateTitle try to terminate XThreads safely. Dr. Chat 2015-12-06 21:02:12 -06:00
  • 3007a98d2d Install false-branch breakpoint only if the opcode is conditional. Dr. Chat 2015-12-06 18:45:58 -06:00
  • f9de61ceed XThread::StepToSafePoint - Handle cases where the thread hasn't started yet. Dr. Chat 2015-12-06 18:32:34 -06:00
  • 0f82e0d090 Make the processor automatically generate any ungenerated functions when installing a breakpoint. Dr. Chat 2015-12-06 18:20:12 -06:00
  • 5ef21d3714 memory: Write no access pages to the savefile. Dr. Chat 2015-12-06 18:02:59 -06:00
  • 20fb20d7f6 Hold the global lock while restoring from a file. Dr. Chat 2015-12-06 17:45:40 -06:00
  • a6322c7bf4 NativeList getters/setters Dr. Chat 2015-12-06 17:19:46 -06:00
  • 89c408965e Can't call constructors from other constructors Dr. Chat 2015-12-06 16:47:19 -06:00
  • ce2d6da2a1 Processor breakpoints: Change iterators to C++11 syntax where necessary Dr. Chat 2015-12-06 15:43:28 -06:00
  • 7d30e1297a NotifyListener Save/Restore Dr. Chat 2015-12-06 15:40:42 -06:00
  • 87931369e4 XObject no kernel state constructor Dr. Chat 2015-12-06 15:34:10 -06:00
  • b3ed0fa445 NativeList default constructor Dr. Chat 2015-12-06 15:25:11 -06:00
  • 23b6a1f943 Fix xam_net.cc Dr. Chat 2015-12-06 15:23:56 -06:00
  • 4a3773d2fb XModule Save/Restore Dr. Chat 2015-12-05 19:37:48 -06:00
  • 93602ed48a No need to double-retain Ke* objects, as having them in the object table is enough. Dr. Chat 2015-12-05 19:36:56 -06:00
  • a4865bd24a Retain objects when restored into the object table. Dr. Chat 2015-12-05 19:35:25 -06:00
  • c8a2298b9d Remove ~NotifyListener call to UnregisterNotifyListener (as it's impossible for this to occur) Dr. Chat 2015-12-05 18:42:44 -06:00
  • 290d5d9594 Fix incorrect double-retaining of objects on restore. Dr. Chat 2015-12-05 18:20:33 -06:00
  • 3678a22c90 Use TLS to store the current thread. Dr. Chat 2015-12-02 20:11:19 -06:00
  • 7e88e54cbe XObject::host_object -> XObject::is_host_object Dr. Chat 2015-12-02 19:57:59 -06:00
  • 1e36ea8b69 Use c_str() when passing a string to sprintf! Dr. Chat 2015-12-02 19:54:28 -06:00
  • c44742b0e3 XEvent write signaled state Dr. Chat 2015-12-02 19:50:00 -06:00
  • e54850e1f2 XThread::set_name - Use more efficient xe::format_string instead of a StringBuffer Dr. Chat 2015-12-02 14:35:28 -06:00
  • e4e1bc1060 Remove dead code from UserModule (how did this even get here?) Dr. Chat 2015-12-02 14:28:54 -06:00
  • 0b5def1ff6 MappedMemory: Support opening empty files (and extending them) / remapping files / Truncate on close Dr. Chat 2015-12-02 14:21:40 -06:00
  • 8a9493a048 Remove unused XboxkrnlModule::LaunchModule Dr. Chat 2015-12-02 14:20:56 -06:00
  • 442f063ddf XThread Save: Handle emulated instructions/MMIO/etc that call out of guest code Dr. Chat 2015-12-02 13:56:51 -06:00
  • 785824531c Fix the assert on no restore handler found Dr. Chat 2015-12-01 21:02:46 -06:00
  • 6e0057020c XEvent Save/Restore (TODO: Write signaled state) Dr. Chat 2015-12-01 18:52:19 -06:00
  • ce92dd5691 ObjectTable Save/Restore (and overloads/PurgeAllObjects/GetAllObjects) Dr. Chat 2015-12-01 17:37:03 -06:00
  • bbff23a8bb REBASE: Fixing Memory::Reset(). Ben Vanik 2015-12-29 12:45:27 -08:00
  • 432e32f7c2 memory Save/Restore Dr. Chat 2015-12-01 17:26:55 -06:00
  • aa7919bd89 emulator.cc savestates Change UserModule::Launch to be non-blocking (returns the main thread) Dr. Chat 2015-12-01 17:25:47 -06:00
  • 52ec24ea6a Stash handles rather than native pointers in Ke* objects. Dr. Chat 2015-12-01 17:15:50 -06:00
  • 4301641bdf XThread Save/Restore Dr. Chat 2015-12-01 16:53:07 -06:00
  • 194c13f977 REBASE: Fix vector out of range access. Ben Vanik 2015-12-29 13:00:51 -08:00
  • 5517518d36 XObject savestate setup (Save/Restore, tracks all handles, tracks if host object) Dr. Chat 2015-12-01 16:51:15 -06:00
  • 1ce6a7580b Fix CaptureStackTrace with null out_stack_hash Dr. Chat 2015-12-01 16:49:27 -06:00
  • 712a5da64b KernelState::Save/Restore (and misc. changes) Dr. Chat 2015-12-01 16:48:50 -06:00
  • d99008bfac RawModule::SetAddressRange - Notify the backend about this range. Dr. Chat 2015-12-01 16:47:17 -06:00
  • 38a09cbcc2 ExecuteRaw: Pass in 0xBC... magic so Xenia will return to the guest caller. Dr. Chat 2015-12-01 16:46:38 -06:00
  • 6d98628962 Remove Function::Call extern handler shortcut (as we need old behavior for savestates) Dr. Chat 2015-12-01 16:44:58 -06:00
  • 67a45203e3 Uninstall the X64 backend exception callback on exit. Dr. Chat 2015-11-28 18:50:06 -06:00
  • 62351a62de filesystem::CreateFile Dr. Chat 2015-11-28 16:30:20 -06:00
  • e206d13af7 Flag mfmsr/mtmsr/mtmsrd as context-synchronizing instructions Dr. Chat 2015-11-28 16:28:50 -06:00
  • ed85346f3b XObject Save/Restore Dr. Chat 2015-11-28 16:18:05 -06:00
  • 938d849c06 ByteStream class Dr. Chat 2015-11-28 16:16:57 -06:00
  • 4a13316daa Track export data on kernel trampolines as well. Dr. Chat 2015-11-28 15:21:55 -06:00
  • b8d4f26e46 Fix NtWaitForMultipleObjectsEx definition Dr. Chat 2015-11-28 14:41:41 -06:00
  • 87cdce1440 Export kBlocking tag Dr. Chat 2015-11-28 14:24:43 -06:00
  • db8eb83057 Track export data on Guest Functions Dr. Chat 2015-11-28 13:55:14 -06:00
  • 42c657c40a Remove processor dependency on XThread for breakpoints Dr. Chat 2015-11-28 13:12:01 -06:00
  • 666f5543a8 Cleanup ThreadState and XThread Dr. Chat 2015-11-27 23:07:06 -06:00
  • 41d5b41523 Automatically install any CPU breakpoints in any newly-defined functions if necessary. Dr. Chat 2015-11-27 23:00:38 -06:00
  • d09e3b7953 Fix incorrect backend breakpoints implementation Dr. Chat 2015-11-27 22:50:00 -06:00
  • 28468f8a18 cpu::Processor now tracks a pointer to the emulator. Dr. Chat 2015-11-27 22:33:48 -06:00
  • 7d59258839 Processor::ExecuteRaw Changed the breakpoint lock to a recursive mutex. Dr. Chat 2015-11-27 22:28:21 -06:00
  • ac706f6923 Allow breakpoint addresses to be changed after creation Dr. Chat 2015-11-25 22:31:12 -06:00
  • e383e2f101 Processor breakpoint support Dr. Chat 2015-11-25 21:35:05 -06:00
  • 5019f1aa98 Possible fix for failing to create files. Ben Vanik 2015-12-29 11:02:28 -08:00
  • 214957da3a Adding finer-grained instruction classification. Ben Vanik 2015-12-29 11:02:00 -08:00