aboutsummaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-231-25/+11
|
* kernel: use KTypedAddress for addressesLiam2023-03-221-143/+176
|
* general: rename CurrentProcess to ApplicationProcessLiam2023-02-131-5/+5
|
* Revert "MemoryManager: use fastmem directly."Merry2023-01-251-1/+1
| | | | This reverts commit 7f18e3bb898911343e3909f676dc96f3a34b1e95.
* 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 operations
| * 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-181-3/+3
|
* MemoryManager: Fix errors popping out.Fernando Sahmkow2022-10-061-0/+9
|
* code: dodge PAGE_SIZE #defineKyle Kienapfel2022-08-191-39/+42
| | | | | | | | | | | | | | | | | | | | | Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number This is great except in yuzu we're using PAGE_SIZE as a variable Specific example `static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;` PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables. Simply deleted the underscores, and then added YUZU_ prefix Might be worth noting that there are multiple uses in different classes/namespaces This list may not be exhaustive Core::Memory 12 bits (4096) QueryCacheBase 12 bits ShaderCache 14 bits (16384) TextureCache 20 bits (1048576, or 1MB) Fixes #8779
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to b2eb10382941bef0914f4a0a4685b9033440aa9f
* 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 ↵bunnei2022-03-261-1/+1
| | | | CPU Cached memory."
* 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
| | | | - That way, we can consolidate the memory layout to one place.
* prevent access violation from iob in Memory::IsValidVirtualAddressAndrew Strelsky2021-09-291-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
| | | | | | This makes it by far harder to crash yuzu. Also implement the 48bit masking of AARCH64 while touching this code.
* hle: kernel: Use host memory allocations for KSlabMemory.bunnei2021-05-201-21/+0
| | | | - There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
* hle: kernel: Rename Process to KProcess.bunnei2021-05-051-17/+17
|
* core: memory: Add a work-around to allocate and access kernel memory regions ↵bunnei2021-05-051-1/+29
| | | | by vaddr.
* hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.bunnei2021-02-181-1/+1
|
* memory: Remove MemoryHookMerryMage2021-01-011-30/+0
|
* core/memory: Read and write page table atomicallyReinUsesLisp2020-12-291-123/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | Squash attributes into the pointer's integer, making them an uintptr_t pair containing 2 bits at the bottom and then the pointer. These bits are currently unused thanks to alignment requirements. Configure Dynarmic to mask out these bits on pointer reads. While we are at it, remove some unused attributes carried over from Citra. Read/Write and other hot functions use a two step unpacking process that is less readable to stop MSVC from emitting an extra AND instruction in the hot path: mov rdi,rcx shr rdx,0Ch mov r8,qword ptr [rax+8] mov rax,qword ptr [r8+rdx*8] mov rdx,rax -and al,3 and rdx,0FFFFFFFFFFFFFFFCh je Core::Memory::Memory::Impl::Read<unsigned char> mov rax,qword ptr [vaddr] movzx eax,byte ptr [rdx+rax]
* core: memory: Ensure thread safe access when pages are rasterizer cached (#5206)bunnei2020-12-241-12/+40
| | | * core: memory: Ensure thread safe access when pages are rasterizer cached.
* memory: Resolve -Wdocumentation warning for Write()Lioncash2020-12-081-2/+0
| | | | | Write() doesn't return anything, so the @returns tag shouldn't be present.
* Revert "core: Fix clang build"bunnei2020-10-201-1/+1
|
* core: Fix clang buildLioncash2020-10-171-1/+1
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* core/CMakeLists: Make some warnings errorsLioncash2020-10-131-6/+6
| | | | | | | | | Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
* memory: Resolve a -Wdocumentation warningLioncash2020-09-231-1/+1
| | | | memory doesn't exist as a parameter any more.
* common/atomic_ops: Don't cast away volatile from pointersLioncash2020-07-281-6/+4
| | | | Preserves the volatility of the pointers being casted.
* 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
|