Commit Graph

63 Commits

Author SHA1 Message Date
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Triang3l
c156616103 [Memory] Invalidate physical memory in Release/Decommit (#1559) 2020-02-24 01:04:30 +03:00
Triang3l
f858631245 [Kernel] Trigger memory callbacks after file read 2020-02-22 18:06:56 +03:00
Triang3l
8ec813de82 [Memory, D3D12] Various refactoring from data provider development 2020-02-15 21:35:24 +03:00
Triang3l
8ba6f3fc37 [Memory] Trigger watches when making pages writable, not the other way around 2019-11-10 14:21:36 +03:00
Triang3l
7e6bf8022f [Memory] Refactor GetPhysicalAddress and use it for XMA, resolve #1448 2019-08-24 17:42:06 +03:00
Triang3l
e35c609224 Revert "[APU] Temp XMA context allocation region workaround"
This reverts commit 968c337d22.
2019-08-16 21:11:55 +03:00
Triang3l
968c337d22 [APU] Temp XMA context allocation region workaround 2019-08-16 09:47:28 +03:00
Triang3l
e862169156 [Memory] BaseHeap::TranslateRelative including host address offset 2019-08-15 00:31:21 +03:00
Triang3l
2152c79965 [Memory] 0xE… adjustment in TranslateVirtual 2019-08-14 00:07:27 +03:00
Triang3l
741b5ae2ec [Memory] Add HostToGuestVirtual and use it in a couple of places 2019-08-13 23:49:49 +03:00
Triang3l
cb0e18c7dc [Memory] BaseHeap::host_address_offset 2019-08-04 23:55:54 +03:00
Triang3l
25675cb8b8 [Memory] E0000000 adjustment in watches only for Windows 2019-08-04 23:10:59 +03:00
Triang3l
d20c2fa9da [Memory/Vulkan] Move old memory watches to the Vulkan backend 2019-08-03 21:06:59 +03:00
Triang3l
0370f8bbd9 [Memory] Pass exact_range to watch callbacks 2019-08-03 19:16:04 +03:00
Triang3l
24383b9137 [Memory/D3D12] Unwatch up to 256 KB ranges 2019-07-31 00:18:12 +03:00
Triang3l
b5fb84473d [Memory] Replace forgotten InvalidateRange in NtReadFile 2019-07-30 09:06:23 +03:00
Triang3l
4aceeb73c4 [Memory] Move new watches to heap-aware Memory from MMIOHandler 2019-07-30 08:00:20 +03:00
Triang3l
6e36101b42 [D3D12] Experimental write watch implementation for shared memory 2018-09-24 23:18:16 +03:00
Triang3l
db625892ea [D3D12] Shared memory typo fix and improvements 2018-08-01 01:09:51 +03:00
Triang3l
4f7edff19d [D3D12] SHM: Watches prototype, some uploading 2018-07-26 22:52:26 +03:00
DrChat
d0460122f4 [Core] BaseHeap::QueryBaseAndSize 2018-02-10 21:58:44 -06:00
DrChat
e3787c05c1 [Core] QueryRegionInfo - report the original allocation size 2018-02-10 19:14:58 -06:00
DrChat
325599948a [Core] Remove hardcoded type field from HeapAllocationInfo 2018-02-10 16:47:53 -06:00
DrChat
4db94473ec [Core] Memory::GetPhysicalHeap 2018-02-10 16:45:06 -06:00
Dr. Chat
aee5601c68 xboxkrnl: Initial (untested) implementation of NtProtectVirtualMemory 2017-07-24 21:41:47 -05:00
gibbed
16a15bab98 Exposed total page count. 2016-06-21 10:10:08 -05:00
gibbed
32e0ef397c Attempt at reporting something of an 'accurate' unreserved physical page
count. Still needs work.
2016-06-21 09:37:21 -05:00
Dr. Chat
0e3c113375 Physical write watches -> access watches (read and/or write watching) 2016-03-17 21:55:16 -05: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
Ben Vanik
ca8d658ffe Speeding up PPC tests significantly. 2015-12-27 12:03:30 -08:00
Ben Vanik
00240945fe Cleanup for the latest clang-format version. 2015-12-03 19:52:02 -08:00
Ben Vanik
249b952de9 Adding some comments. 2015-12-02 17:37:48 -08: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
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
5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik
ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -07:00
Ben Vanik
8154d1dad6 Moving xe::Memory and code cache to abstracted APIs. 2015-07-15 22:10:05 -07:00
Ben Vanik
72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Ben Vanik
52b8f4b54b Removing memory reservation value check for load/store. 2015-06-07 21:57:44 -07:00
Ben Vanik
40a6a12800 Attempting to inline a lot of MMIO operations. Works for GPU stuff mainly. 2015-06-02 20:15:43 -07:00
Ben Vanik
f5a2b85d42 Switching to xe::mutex. 2015-05-25 00:52:21 -07:00
Ben Vanik
da655d15b3 Sharing memory. 2015-05-25 00:51:23 -07:00
Ben Vanik
147a70b9c1 Rewriting memory manager. 2015-05-17 00:16:56 +01:00
Ben Vanik
7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Ben Vanik
4c8f3501ad Removing xdb and old tracing code before rewrite. 2015-05-03 22:01:31 -07:00
Ben Vanik
e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik
30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik
ec84a688e9 Starting to properly attribute virtual vs. physical memory accesses. 2015-03-29 11:11:35 -07:00