aboutsummaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
AgeCommit message (Collapse)Author
2018-03-14core: Move process creation out of global state.bunnei
2018-02-21memory: LOG_ERROR when falling off end of page tableMerryMage
2018-02-14memory: Silence formatting sepecifier warningsLioncash
2018-01-27memory: Replace all memory hooking with Special regionsMerryMage
2018-01-20memory: Return false for large VAddr in IsValidVirtualAddressRozlette
2018-01-12Remove gpu debugger and get yuzu qt to compileJames Rowe
2018-01-08fix macos buildMerryMage
2018-01-01core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei
2017-10-18memory: Print addresses as 64-bit.bunnei
2017-10-09Merge remote-tracking branch 'upstream/master' into nxbunnei
# Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
2017-10-01Memory: Make WriteBlock take a Process parameter on which to operateSubv
2017-10-01Memory: Make ReadBlock take a Process parameter on which to operateSubv
2017-09-30memory: Log with 64-bit values.bunnei
2017-09-30core: Various changes to support 64-bit addressing.bunnei
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2017-09-29Merge pull request #2961 from Subv/load_titlesbunnei
Loaders: Don't automatically set the current process every time we load an application.
2017-09-26Merge pull request #2954 from Subv/cache_unmapped_memJames Rowe
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions
2017-09-26Memory: Allow IsValidVirtualAddress to be called with a specific process ↵Subv
parameter. There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
2017-09-25Memory/RasterizerCache: Ignore unmapped memory regions when caching physical ↵Subv
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.
2017-09-24ARM_Interface: Implement PageTableChangedMerryMage
2017-09-24memory: Remove GetCurrentPageTablePointersMerryMage
2017-09-24memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage
Don't expose Memory::current_page_table as a global.
2017-09-15Merge pull request #2842 from Subv/switchable_page_tableB3n30
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15Kernel/Memory: Make IsValidPhysicalAddress not go through the current ↵Subv
process' virtual memory mapping.
2017-09-15Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the ↵Subv
current process' page table to obtain a pointer.
2017-09-10Kernel/Memory: Give each Process its own page table.Subv
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-08-29Use recursive_mutex instead of mutex to fix #2902danzel
2017-08-23Merge pull request #2839 from Subv/global_kernel_lockJames Rowe
Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
2017-08-22Kernel/Memory: Acquire the global HLE lock when a memory read/write ↵Subv
operation falls outside of the fast path, for it might perform an MMIO operation.
2017-07-22Merge pull request #2799 from yuriks/virtual-cached-range-flushWeiyi Wang
Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache
2017-06-21Memory: Add function to flush a virtual range from the rasterizer cacheYuri Kunde Schlesner
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.
2017-06-21Memory: Fix crash when unmapping a VMA covering cached surfacesYuri Kunde Schlesner
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.
2017-06-21Memory: Add TryVirtualToPhysicalAddress, returning a boost::optionalYuri Kunde Schlesner
2017-06-21Memory: Make PhysicalToVirtualAddress return a boost::optionalYuri Kunde Schlesner
And fix a few places in the code to take advantage of that.
2017-05-09Memory: Add constants for the n3DS additional RAMYuri Kunde Schlesner
This is 4MB of extra, separate memory that was added on the New 3DS.
2016-12-17Revert "Memory: Always flush whole pages from surface cache"bunnei
2016-12-14Memory: Always flush whole pages from surface cacheYuri Kunde Schlesner
This prevents individual writes touching a cached page, but which don't overlap the surface, from constantly hitting the surface cache lookup.
2016-11-24Expose page table to dynarmic for optimized reads and writes to the JITJames Rowe
2016-09-29memory: fix IsValidVirtualAddress for RasterizerCachedMemorywwylele
RasterizerCachedMemory doesn't has pointer but should be considered as valid
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-08-27Memory: add ReadCString functionwwylele
2016-05-28Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types ↵Subv
in the memory block manipulation functions.
2016-05-28Memory: Make ReadBlock and WriteBlock accept void pointers.Subv
2016-05-28Memory: CopyBlockMerryMage
2016-05-21Memory: ZeroBlockMerryMage
2016-05-21Memory: ReadBlock/WriteBlockMerryMage
2016-05-21Memory: IsValidVirtualAddress/IsValidPhysicalAddressMerryMage
2016-04-21HWRasterizer: Texture forwardingtfarley