summaryrefslogtreecommitdiff
path: root/src/core/memory.h
AgeCommit message (Collapse)Author
2025-03-06revert ee3d858935600e23a7914620b21f45082cccf8bdZephyron
revert Follow Up Of the previous commit with the update of TLB update
2025-03-06revert 031c635095622a35982f7f6faef894df9583e888Zephyron
revert arm: corrected declarations
2025-03-05arm: corrected declarationsCamilleLaVey
2025-03-04Follow Up Of the previous commit with the update of TLB updateCamilleLaVey
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31core: Update copyright headersZephyron
- Update copyright headers to include Citron Homebrew Project - Add 2025 to copyright years
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2024-01-18Core: Invert guest memory depandancyFernando Sahmkow
2024-01-18Core: Clang format and other small issues.Fernando Sahmkow
2024-01-18SMMU: Add Android compatibilityFernando Sahmkow
2024-01-18SMMU: Initial adaptation to video_core.Fernando Sahmkow
2024-01-01Merge pull request #12543 from FernandoS27/stop-liking-posts-from-ur-friends-exliamwhite
VideoCore: A few fixes to DMA and swapchain
2023-12-31Vulkan: Only recreate swapchain if the frame is bigger than the swap image.Fernando Sahmkow
2023-12-31MaxwellDMA: Don't flush the outputs of a dma copy.Fernando Sahmkow
2023-12-25core: track separate heap allocation for linuxLiam
2023-12-04core: refactor emulated cpu core activationLiam
2023-11-25Address more review commentsGPUCode
2023-11-25arm: Implement native code execution backendLiam
2023-11-25core: Respect memory permissions in MapGPUCode
2023-08-09general: fix apple clang buildLiam
2023-07-22memory: minimize dependency on processLiam
2023-07-02Use spans over guest memory where possible instead of copying data.Kelebek1
2023-06-28Memory Tracking: Optimize tracking to only use atomic writes when contested ↵Fernando Sahmkow
with the host GPU
2023-03-23memory: rename global memory references to application memoryLiam
2023-03-22kernel: use KTypedAddress for addressesLiam
2022-11-12kernel: implement FlushProcessDataCacheLiam
2022-10-06MemoryManager: Fix errors popping out.Fernando Sahmkow
2022-08-19code: dodge PAGE_SIZE #defineKyle Kienapfel
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
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[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 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-22Project AndioKelebek1
2022-06-16core/debugger: memory breakpoint supportLiam
2022-06-01core/debugger: Implement new GDB stub debuggerLiam
2021-08-05memory: Address lioncash's reviewyzct12345
2021-08-05memory: Clean up codeyzct12345
2021-05-20hle: kernel: Use host memory allocations for KSlabMemory.bunnei
- There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
2021-05-05hle: kernel: Rename Process to KProcess.bunnei
2021-05-05core: memory: Add a work-around to allocate and access kernel memory regions ↵bunnei
by vaddr.
2021-02-18core: memory: Add templated GetPointer methods.bunnei
2021-01-01memory: Remove MemoryHookMerryMage
2020-06-27ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
2020-04-17core: memory: Updates for new VMM.bunnei
2020-04-17core: memory: Move to Core::Memory namespace.bunnei
- helpful to disambiguate Kernel::Memory namespace.
2020-04-08Memory: Address Feedback.Fernando Sahmkow
2020-04-06Buffer Cache: Use vAddr instead of physical memory.Fernando Sahmkow
2020-01-18core/memory: Create a special MapMemoryRegion for physical memory.Markus Wick
This allows us to create a fastmem arena within the memory.cpp helpers.
2019-11-26core/memory; Migrate over SetCurrentPageTable() to the Memory classLioncash
Now that literally every other API function is converted over to the Memory class, we can just move the file-local page table into the Memory implementation class, finally getting rid of global state within the memory code.
2019-11-26core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash
The Write functions are used slightly less than the Read functions, which make these a bit nicer to move over. The only adjustments we really need to make here are to Dynarmic's exclusive monitor instance. We need to keep a reference to the currently active memory instance to perform exclusive read/write operations.
2019-11-26core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash
With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
2019-11-26core/memory: Migrate over ZeroBlock() and CopyBlock() to the Memory classLioncash
These currently aren't used anywhere in the codebase, so these are very trivial to move over to the Memory class.