Lioncash
6d00780045
core/memory: Amend address widths in asserts
Addresses are 64-bit, these formatting specifiers are simply holdovers from citra. Adjust them to be the correct width.
8 years ago
Lioncash
59dae03dbe
core/memory: Move logging macros over to new fmt-capable ones
While we're at it, correct addresses to print all 64 bits where applicable, which were holdovers from citra.
8 years ago
bunnei
4415e00181
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
8 years ago
bunnei
d4fb8a887c
memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.
8 years ago
bunnei
d732142b66
memory: Add RasterizerMarkRegionCached code and cleanup.
8 years ago
bunnei
b5f3e7951b
memory: Fix typo in RasterizerFlushVirtualRegion.
8 years ago
bunnei
1a158dfcd6
memory: RasterizerFlushVirtualRegion should also check process image region.
8 years ago
bunnei
11047d7fd5
rasterizer: Flush and invalidate regions should be 64-bit.
8 years ago
bunnei
63d3924b5b
memory: Port RasterizerFlushVirtualRegion from Citra.
8 years ago
N00byKing
8afdbf6a1f
Remove more N3DS References
8 years ago
bunnei
7d6653268f
core: Move process creation out of global state.
8 years ago
MerryMage
cc368de1a0
memory: LOG_ERROR when falling off end of page table
8 years ago
Lioncash
fe0775d2f4
memory: Silence formatting sepecifier warnings
8 years ago
MerryMage
738f91a57d
memory: Replace all memory hooking with Special regions
8 years ago
Rozlette
de7aa3106a
memory: Return false for large VAddr in IsValidVirtualAddress
8 years ago
James Rowe
389979018c
Remove gpu debugger and get yuzu qt to compile
8 years ago
MerryMage
f10a304ecd
fix macos build
8 years ago
bunnei
93480b10ef
core/video_core: Fix a bunch of u64 -> u32 warnings.
8 years ago
bunnei
97d52b9f89
memory: Print addresses as 64-bit.
8 years ago
Subv
1f2de7501b
Memory: Make WriteBlock take a Process parameter on which to operate
8 years ago
Subv
811c01e5fe
Memory: Make ReadBlock take a Process parameter on which to operate
8 years ago
bunnei
46297c9653
memory: Log with 64-bit values.
8 years ago
bunnei
f01472a5ff
core: Various changes to support 64-bit addressing.
8 years ago
Huw Pascoe
a13ab958cb
Fixed type conversion ambiguity
8 years ago
Subv
35da7f57ef
Memory: Allow IsValidVirtualAddress to be called with a specific process parameter.
There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
8 years ago
Subv
41f6c9f87f
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions.
Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping.
This fixes a crash when loading applets and system modules.
8 years ago
MerryMage
67a70bd9e1
ARM_Interface: Implement PageTableChanged
8 years ago
MerryMage
4e5eb2044a
memory: Remove GetCurrentPageTablePointers
8 years ago
MerryMage
c02bbb7030
memory: Add GetCurrentPageTable/SetCurrentPageTable
Don't expose Memory::current_page_table as a global.
8 years ago
Subv
f18a176b60
Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping.
9 years ago
Subv
214150f00c
Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.
9 years ago
Subv
6d2734a074
Kernel/Memory: Give each Process its own page table.
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
9 years ago
danzel
8266064796
Use recursive_mutex instead of mutex to fix #2902
8 years ago
Subv
f484927ed0
Kernel/Memory: Acquire the global HLE lock when a memory read/write operation falls outside of the fast path, for it might perform an MMIO operation.
9 years ago
Yuri Kunde Schlesner
d553135748
Memory: Add function to flush a virtual range from the rasterizer cache
This is slightly more ergonomic to use, correctly handles virtual
regions which are disjoint in physical addressing space, and checks only
regions which can be cached by the rasterizer.
9 years ago
Yuri Kunde Schlesner
f2a5a77e27
Memory: Fix crash when unmapping a VMA covering cached surfaces
Unmapping pages tries to flush any cached GPU surfaces touching that
region. When a cached page is invalidated, GetPointerFromVMA() is used
to restore the original pagetable pointer. However, since that VMA has
already been deleted, this hits an UNREACHABLE case in that function.
Now when this happens, just set the page type to Unmapped and continue,
which arrives at the correct end result.
9 years ago
Yuri Kunde Schlesner
6ae0086b39
Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional
9 years ago
Yuri Kunde Schlesner
326e7c7020
Memory: Make PhysicalToVirtualAddress return a boost::optional
And fix a few places in the code to take advantage of that.
9 years ago
Yuri Kunde Schlesner
d3db770cad
Memory: Add constants for the n3DS additional RAM
This is 4MB of extra, separate memory that was added on the New 3DS.
9 years ago
bunnei
4798b1d04d
Revert "Memory: Always flush whole pages from surface cache"
9 years ago
Yuri Kunde Schlesner
f2b9be9bd3
Memory: Always flush whole pages from surface cache
This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup.
9 years ago
James Rowe
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
9 years ago
wwylele
3f87d70f0e
memory: fix IsValidVirtualAddress for RasterizerCachedMemory
RasterizerCachedMemory doesn't has pointer but should be considered as valid
9 years ago
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
9 years ago
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
9 years ago
wwylele
b2df959733
Memory: add ReadCString function
10 years ago
Subv
0aef634a54
Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.
10 years ago
Subv
660499ac01
Memory: Make ReadBlock and WriteBlock accept void pointers.
10 years ago
MerryMage
31d49e0109
Memory: CopyBlock
10 years ago