summaryrefslogtreecommitdiffstats
path: root/src/core/memory.cpp (follow)
Commit message (Expand)AuthorAgeFilesLines
* arm: Implement native code execution backendLiam2023-11-251-0/+13
* core: Respect memory permissions in MapGPUCode2023-11-251-4/+4
* Merge pull request #11995 from FernandoS27/you-dont-need-the-new-iphoneliamwhite2023-11-161-5/+20
|\
| * Memory: Fix invalidation handling from the CPU/ServicesFernando Sahmkow2023-11-121-5/+20
* | kernel: add KPageTableBaseLiam2023-11-101-3/+3
|/
* Merge pull request #11155 from liamwhite/memory3liamwhite2023-07-281-3/+18
|\
| * memory: check page against address space sizeLiam2023-07-251-3/+18
* | Merge pull request #10990 from comex/ubsanliamwhite2023-07-261-13/+17
|\ \ | |/ |/|
| * Fixes and workarounds to make UBSan happier on macOScomex2023-07-151-13/+17
* | memory: minimize dependency on processLiam2023-07-221-58/+57
* | k_process: PageTable -> GetPageTableLiam2023-07-151-4/+4
|/
* Use spans over guest memory where possible instead of copying data.Kelebek12023-07-031-5/+49
* Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPUFernando Sahmkow2023-06-281-6/+33
* MemoryTracking: Initial setup of atomic writes.Fernando Sahmkow2023-06-281-3/+4
* Address feedback, add CR notice, etcFernando Sahmkow2023-05-071-6/+5
* Settings: add option to enable / disable reactive flushingFernando Sahmkow2023-05-071-1/+2
* GPU: Add Reactive flushingFernando Sahmkow2023-05-071-6/+21
* Accuracy Normal: reduce accuracy further for perf improvements in Project LimeFernando Sahmkow2023-04-231-1/+1
* memory: rename global memory references to application memoryLiam2023-03-241-25/+11
* kernel: use KTypedAddress for addressesLiam2023-03-221-143/+176
* general: rename CurrentProcess to ApplicationProcessLiam2023-02-141-5/+5
* Revert "MemoryManager: use fastmem directly."Merry2023-01-251-1/+1
* memory: fix watchpoint use when fastmem is enabledLiam2023-01-151-0/+4
* MemoryManager: use fastmem directly.Fernando Sahmkow2023-01-051-1/+1
* Merge pull request #9415 from liamwhite/dcMai2022-12-111-14/+15
|\
| * memory: correct semantics of data cache management operationsLiam2022-12-111-14/+15
* | memory: remove DEBUG_ASSERT pointer testLiam2022-12-101-2/+0
|/
* kernel: implement FlushProcessDataCacheLiam2022-11-121-0/+65
* general: Resolve -Wunused-lambda-capture and C5233Morph2022-10-221-21/+16
* core: device_memory: Templatize GetPointer(..).bunnei2022-10-191-3/+3
* MemoryManager: Fix errors popping out.Fernando Sahmkow2022-10-061-0/+9
* code: dodge PAGE_SIZE #defineKyle Kienapfel2022-08-201-39/+42
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-3/+2
* Project AndioKelebek12022-07-221-1/+5
* core/debugger: memory breakpoint supportLiam2022-06-161-1/+78
* core/debugger: Implement new GDB stub debuggerLiam2022-06-011-0/+13
* Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory."bunnei2022-03-261-1/+1
* Memory: Don't protect reads on Normal accuracy.Fernando Sahmkow2022-03-251-1/+1
* core: device_memory: Use memory size reported by KSystemControl.bunnei2022-02-211-2/+1
* prevent access violation from iob in Memory::IsValidVirtualAddressAndrew Strelsky2021-09-301-1/+5
* memory: Address lioncash's reviewyzct123452021-08-071-52/+6
* memory: Dedup Read and Write and fix logging bugsyzct123452021-08-071-129/+115
* memory: Clean up CopyBlock tooyzct123452021-08-051-36/+15
* memory: Address lioncash's reviewyzct123452021-08-051-6/+7
* memory: Clean up codeyzct123452021-08-051-229/+77
* General: Add settings for fastmem and disabling adress space check.FernandoS272021-06-111-4/+10
* core: Make use of fastmemMarkus Wick2021-06-111-0/+12
* core/memory: Check our memory fallbacks for out-of-bound behavior.Markus Wick2021-05-291-4/+39
* hle: kernel: Use host memory allocations for KSlabMemory.bunnei2021-05-211-21/+0
* hle: kernel: Rename Process to KProcess.bunnei2021-05-061-17/+17
* core: memory: Add a work-around to allocate and access kernel memory regions by vaddr.bunnei2021-05-061-1/+29
* hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.bunnei2021-02-191-1/+1
* memory: Remove MemoryHookMerryMage2021-01-011-30/+0
* core/memory: Read and write page table atomicallyReinUsesLisp2020-12-301-123/+64
* core: memory: Ensure thread safe access when pages are rasterizer cached (#5206)bunnei2020-12-251-12/+40
* memory: Resolve -Wdocumentation warning for Write()Lioncash2020-12-081-2/+0
* Revert "core: Fix clang build"bunnei2020-10-211-1/+1
* core: Fix clang buildLioncash2020-10-181-1/+1
* core/CMakeLists: Make some warnings errorsLioncash2020-10-131-6/+6
* memory: Resolve a -Wdocumentation warningLioncash2020-09-231-1/+1
* common/atomic_ops: Don't cast away volatile from pointersLioncash2020-07-281-6/+4
* memory: Set page-table pointers before setting attribute = MemoryMerryMage2020-07-051-2/+5
* General: Initial Setup for Single Core.Fernando Sahmkow2020-06-271-4/+4
* ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow2020-06-271-0/+98
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-7/+4
* core: memory: Fix memory access on page boundaries.bunnei2020-04-171-6/+39
* core: memory: Updates for new VMM.bunnei2020-04-171-100/+52
* core: memory: Move to Core::Memory namespace.bunnei2020-04-171-2/+2
* Buffer Cache: Use vAddr instead of physical memory.Fernando Sahmkow2020-04-061-0/+115
* GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddrFernando Sahmkow2020-04-061-6/+6
* core/memory: Create a special MapMemoryRegion for physical memory.Markus Wick2020-01-181-0/+11
* core/memory + arm/dynarmic: Use a global offset within our arm page table.Markus Wick2020-01-011-9/+16
* core/memory; Migrate over SetCurrentPageTable() to the Memory classLioncash2019-11-271-15/+16
* core/memory: Migrate over GetPointerFromVMA() to the Memory classLioncash2019-11-271-36/+36
* core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash2019-11-271-92/+128
* core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash2019-11-271-96/+132
* core/memory: Migrate over ZeroBlock() and CopyBlock() to the Memory classLioncash2019-11-271-89/+110
* core/memory: Migrate over RasterizerMarkRegionCached() to the Memory classLioncash2019-11-271-63/+67
* core/memory: Migrate over ReadCString() to the Memory classLioncash2019-11-271-14/+19
* core/memory: Migrate over GetPointer()Lioncash2019-11-271-15/+23
* core/memory: Move memory read/write implementation functions into an anonymous namespaceLioncash2019-11-271-97/+98
* core/memory: Migrate over address checking functions to the new Memory classLioncash2019-11-271-20/+31
* core/memory: Migrate over memory mapping functions to the new Memory classLioncash2019-11-271-71/+106
* core/memory: Introduce skeleton of Memory classLioncash2019-11-271-0/+12
* core: Remove Core::CurrentProcess()Lioncash2019-10-061-5/+5
* Core/Memory: Only FlushAndInvalidate GPU if the page is marked as RasterizerCachedMemoryFernando Sahmkow2019-09-191-2/+7
* memory: Remove unused includesLioncash2019-07-061-2/+0
* core/cpu_core_manager: Create threads separately from initialization.Lioncash2019-04-121-8/+8
* core/memory: Remove GetCurrentPageTable()Lioncash2019-04-071-4/+0
* memory: Check that core is powered on before attempting to use GPU.bunnei2019-03-211-1/+1
* core: Move PageTable struct into Common.bunnei2019-03-171-74/+60
* memory: Simplify rasterizer cache operations.bunnei2019-03-161-60/+21
* gpu: Use host address for caching instead of guest address.bunnei2019-03-151-5/+8
* gpu: Move command processing to another thread.bunnei2019-03-071-4/+4
* Memory: don't lock hle mutex in memory read/writeWeiyi Wang2019-03-021-6/+0
* Speed up memory page mapping (#2141)Annomatg2019-02-271-6/+11
* Fixed uninitialized memory due to missing returns in canaryDavid Marcec2018-12-191-0/+1
* memory: Convert ASSERT into a DEBUG_ASSERT within GetPointerFromVMA()Lioncash2018-12-061-1/+1
* vm_manager: Make vma_map privateLioncash2018-12-061-6/+5
* Call shrink_to_fit after page-table vector resizing to cause crt to actually lower vector capacity. For 36-bit titles saves 800MB of commit.heapo2018-12-051-0/+8
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-1/+1
* kernel/process: Make data member variables privateLioncash2018-09-301-7/+7
* memory: Dehardcode the use of fixed memory range constantsLioncash2018-09-251-5/+7
* memory: Dehardcode the use of a 36-bit address spaceLioncash2018-09-251-2/+16
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-27/+28
* gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei2018-08-311-36/+15
* gpu: Make memory_manager privateLioncash2018-08-281-2/+2
* renderer_base: Make Rasterizer() return the rasterizer by referenceLioncash2018-08-041-4/+4
* video_core: Eliminate the g_renderer global variableLioncash2018-08-041-8/+10
* memory: Remove unused GetSpecialHandlers() functionLioncash2018-08-031-16/+0
* core/memory: Get rid of 3DS leftoversLioncash2018-08-031-106/+0
* Merge pull request #690 from lioncash/movebunnei2018-07-191-3/+5
|\
| * core/memory, core/hle/kernel: Use std::move where applicableLioncash2018-07-191-3/+5
* | core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock()Lioncash2018-07-191-7/+0
|/
* Update clang formatJames Rowe2018-07-031-12/+12
* Rename logging macro back to LOG_*James Rowe2018-07-031-12/+12
* Kernel/Arbiters: Fix casts, cleanup comments/magic numbersMichael Scire2018-06-221-0/+4
* core: Implement multicore support.bunnei2018-05-111-2/+7
* general: Make formatting of logged hex values more straightforwardLioncash2018-05-021-11/+11
* general: Convert assertion macros over to be fmt-compatibleLioncash2018-04-271-10/+9
* Merge pull request #387 from Subv/maxwell_2dbunnei2018-04-261-0/+4
|\
| * Memory: Added a missing shortcut for Memory::CopyBlock for the current process.Subv2018-04-251-0/+4
* | core/memory: Amend address widths in assertsLioncash2018-04-251-2/+2
* | core/memory: Move logging macros over to new fmt-capable onesLioncash2018-04-251-22/+24
|/
* gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei2018-04-251-16/+48
* memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.bunnei2018-03-271-4/+8
* memory: Add RasterizerMarkRegionCached code and cleanup.bunnei2018-03-271-200/+190
* Merge pull request #265 from bunnei/tegra-progress-2bunnei2018-03-241-0/+40
|\
| * memory: Fix typo in RasterizerFlushVirtualRegion.bunnei2018-03-231-3/+3
| * memory: RasterizerFlushVirtualRegion should also check process image region.bunnei2018-03-231-0/+1
| * rasterizer: Flush and invalidate regions should be 64-bit.bunnei2018-03-231-2/+2
| * memory: Port RasterizerFlushVirtualRegion from Citra.bunnei2018-03-231-0/+39
* | Remove more N3DS ReferencesN00byKing2018-03-221-9/+0
|/
* core: Move process creation out of global state.bunnei2018-03-141-15/+15
* memory: LOG_ERROR when falling off end of page tableMerryMage2018-02-211-0/+11
* memory: Silence formatting sepecifier warningsLioncash2018-02-141-21/+30
* memory: Replace all memory hooking with Special regionsMerryMage2018-01-271-317/+163
* memory: Return false for large VAddr in IsValidVirtualAddressRozlette2018-01-201-0/+3
* Remove gpu debugger and get yuzu qt to compileJames Rowe2018-01-131-40/+1
* fix macos buildMerryMage2018-01-091-4/+4
* core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei2018-01-011-8/+8
* memory: Print addresses as 64-bit.bunnei2017-10-191-2/+2
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-143/+211
|\
| * Memory: Make WriteBlock take a Process parameter on which to operateSubv2017-10-011-10/+17
| * Memory: Make ReadBlock take a Process parameter on which to operateSubv2017-10-011-12/+28
| * Fixed type conversion ambiguityHuw Pascoe2017-09-301-14/+22
| * Merge pull request #2961 from Subv/load_titlesbunnei2017-09-291-7/+18
| |\
| | * Memory: Allow IsValidVirtualAddress to be called with a specific process parameter.Subv2017-09-271-7/+18
| * | Merge pull request #2954 from Subv/cache_unmapped_memJames Rowe2017-09-271-1/+16
| |\ \ | | |/ | |/|
| | * Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions.Subv2017-09-261-1/+16
| * | ARM_Interface: Implement PageTableChangedMerryMage2017-09-251-0/+5
| * | memory: Remove GetCurrentPageTablePointersMerryMage2017-09-241-4/+0
| * | memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage2017-09-241-1/+9
| |/
| * Merge pull request #2842 from Subv/switchable_page_tableB3n302017-09-151-79/+74
| |\
| | * Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping.Subv2017-09-151-2/+1
| | * Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.Subv2017-09-151-3/+62
| | * Kernel/Memory: Give each Process its own page table.Subv2017-09-101-75/+12
| * | Use recursive_mutex instead of mutex to fix #2902danzel2017-08-291-2/+2
| * | Merge pull request #2839 from Subv/global_kernel_lockJames Rowe2017-08-241-1/+8
| |\ \ | | |/ | |/|
| | * 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.Subv2017-08-221-1/+8
* | | memory: Log with 64-bit values.bunnei2017-09-301-8/+8
* | | core: Various changes to support 64-bit addressing.bunnei2017-09-301-22/+22
|/ /
* | Merge pull request #2799 from yuriks/virtual-cached-range-flushWeiyi Wang2017-07-221-52/+76
|\ \ | |/ |/|
| * Memory: Add function to flush a virtual range from the rasterizer cacheYuri Kunde Schlesner2017-06-221-39/+52
| * Memory: Add TryVirtualToPhysicalAddress, returning a boost::optionalYuri Kunde Schlesner2017-06-221-4/+12
| * Memory: Make PhysicalToVirtualAddress return a boost::optionalYuri Kunde Schlesner2017-06-221-9/+12
* | Memory: Fix crash when unmapping a VMA covering cached surfacesYuri Kunde Schlesner2017-06-221-5/+20
|/
* Memory: Add constants for the n3DS additional RAMYuri Kunde Schlesner2017-05-101-2/+6
* Revert "Memory: Always flush whole pages from surface cache"bunnei2016-12-181-10/+0
* Memory: Always flush whole pages from surface cacheYuri Kunde Schlesner2016-12-151-0/+10
* Expose page table to dynarmic for optimized reads and writes to the JITJames Rowe2016-11-251-6/+8
* memory: fix IsValidVirtualAddress for RasterizerCachedMemorywwylele2016-09-291-0/+3
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-4/+1
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-35/+49
* Memory: add ReadCString functionwwylele2016-08-271-0/+14
* Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.Subv2016-05-281-1/+60
* Memory: Make ReadBlock and WriteBlock accept void pointers.Subv2016-05-281-4/+4
* Memory: CopyBlockMerryMage2016-05-281-0/+41
* Memory: ZeroBlockMerryMage2016-05-211-0/+38
* Memory: ReadBlock/WriteBlockMerryMage2016-05-211-3/+74
* Memory: IsValidVirtualAddress/IsValidPhysicalAddressMerryMage2016-05-211-0/+21
* HWRasterizer: Texture forwardingtfarley2016-04-211-0/+140
* Memory: Do correct Phys->Virt address translation for non-APP linheapYuri Kunde Schlesner2016-03-061-1/+1
* Memory: Implement MMIOMerryMage2016-01-301-6/+80
* Fixed spelling errorsGareth Poole2015-10-091-2/+2
* memory: Get rid of pointer castsLioncash2015-09-101-14/+7
* Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner2015-08-161-1/+4
* Memory: Move address type conversion routines to memory.cpp/hYuri Kunde Schlesner2015-08-161-1/+36
* Memory: Fix unmapping of pagesYuri Kunde Schlesner2015-07-121-4/+2
* Common: Cleanup memory and misc includes.Emmanuel Gil Peyrot2015-06-281-3/+0
* Kernel: Add VMManager to manage process address spacesYuri Kunde Schlesner2015-05-271-4/+8
* Memory: Use a table based lookup scheme to read from memory regionsYuri Kunde Schlesner2015-05-151-120/+123
* Memory: Read SharedPage directly from Memory::ReadYuri Kunde Schlesner2015-05-151-1/+2
* Memory: Read ConfigMem directly from Memory::ReadYuri Kunde Schlesner2015-05-151-1/+2
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-0/+197