summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/memory (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-01-15common/bit_util: Replace CLZ/CTZ operations with standardized onesLioncash1-2/+2
Makes for less code that we need to maintain.
2021-01-11core: hle: kernel: Add some useful functions for checking kernel addresses.bunnei1-0/+19
2021-01-05core: Silence warnings when compiling without assertsReinUsesLisp1-0/+2
2021-01-02general: Fix various spelling errorsMorph2-13/+13
2020-12-30core/memory: Read and write page table atomicallyReinUsesLisp1-1/+1
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]
2020-12-07core: Mark unused fields as [[maybe_unused]]comex1-2/+2
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash1-3/+3
Cleans out the rest of the occurrences of variable shadowing and makes any further occurrences of shadowing compiler errors.
2020-11-29core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei1-0/+5
2020-10-21Revert "core: Fix clang build"bunnei5-27/+20
2020-10-18core: Fix clang buildLioncash5-20/+27
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-08-13General: Tidy up clang-format warnings part 2Lioncash1-10/+12
2020-08-05system_control: Make functions internally linked where applicableLioncash2-15/+11
These functions are only ever used internally as implementation details for GenerateRandomRange(), so these can be given internal linkage.
2020-08-05kernel: Remove unused variablesLioncash1-1/+0
Resolves a few compiler warnings.
2020-07-13memory_layout: Remove unused data memberLioncash1-2/+0
This isn't used, so it can be removed entirely, shrinking the structure size by 8 bytes.
2020-07-13address_space_info: Use type alias to simplify codeLioncash1-14/+13
We can define an alias for the index arrays and then just reuse it to make the code nicer to read.
2020-07-13address_space_info: Make use of designated initializersLioncash2-46/+27
We can alter the structure so that we can use designated initializers in the array, eliminating the comments that indicate their field names.
2020-06-25memory_manager: Remove useless assertionDavid Marcec1-1/+0
num_pages is an std::size_t. It will always be >= 0
2020-06-18memory_manager: Explicitly specifcy std::min<size_t>MerryMage1-2/+2
2020-05-03kernel/memory: Remove #pragma once within cpp fileLioncash1-2/+0
This isn't necessary in a cpp file and will cause warnings on clang.
2020-05-03kernel/memory: Remove unused includesLioncash7-8/+1
Prevents header churn and needing to recompile these files if these headers are ever changed in the future.
2020-05-03kernel/memory: Remove unused variables in memory_block_managerLioncash1-3/+0
Prevents unused variable warnings.
2020-05-03kernel/memory: Make use of std::array consistently in address_space_infoLioncash1-6/+6
This allows tuning standard library implementations to enable or disable range checks at runtime, which is nicer for debugging.
2020-05-03kernel/memory: Resolve -Wshadow warningsLioncash1-4/+4
Prevents variable name clashing.
2020-05-03kernel/memory: Amend potential encoding warningsLioncash6-12/+12
While èis generally representable in some language encodings, in some it isn't and will result in compilation warnings occurring. To remain friendly with other language's codepages on Windows, we normalize it to an ASCII e.
2020-04-23page_table: Remove unused capturesLioncash1-2/+2
Any time the lambda function is called, the permission being used in the capture would be passed in as an argument to the lambda, so the capture is unnecessary.
2020-04-23kernel: memory: Improve implementation of device shared memory. (#3707)bunnei5-3/+105
* kernel: memory: Improve implementation of device shared memory. * fixup! kernel: memory: Improve implementation of device shared memory. * fixup! kernel: memory: Improve implementation of device shared memory.
2020-04-18memory/slab_heap: Make use of static_cast over reinterpret_castLioncash1-2/+2
Casting from void* with static_cast is permitted by the standard, so we can just make use of that instead.
2020-04-17core: hle: Address various feedback & code cleanup.bunnei6-232/+135
- Should be no functional changes.
2020-04-17memory: Add copyright notice for Atmosphere where applicable.bunnei6-0/+18
2020-04-17kernel: memory: page_table: Simplify GetPhysicalAddr impl.bunnei2-5/+3
2020-04-17core: system: Rename GetDeviceManager -> DeviceManager.bunnei1-1/+1
- More consistent with other system components.
2020-04-17kernel: memory: Add PageTable class, to manage process address space.bunnei2-0/+1508
2020-04-17kernel: memory: Add MemoryLayout class, to build physical memory layout.bunnei1-0/+73
2020-04-17kernel: memory: Add MemoryManager class, to manage page heaps.bunnei2-0/+274
2020-04-17kernel: memory: Add MemoryBlockManager class, to manage memory blocks.bunnei2-0/+254
2020-04-17kernel: memory: Add PageHeap class, to manage a heap of pages.bunnei2-0/+481
2020-04-17kernel: memory: Add PageLinkedList class, to manage a list of pages.bunnei1-0/+93
2020-04-17kernel: memory: Add system_control code, which will be used for ASLR support.bunnei2-0/+59
2020-04-17kernel: memory: Add MemoryBlock class, for managing memory blocks and their state.bunnei1-0/+315
2020-04-17kernel: memory: Add memory_types.h, for things that are commonly used in memory code.bunnei1-0/+18
2020-04-17kernel: memory: Add SlabHeap class, for managing memory heaps.bunnei1-0/+161
- This will be used for TLS pages, among other things.
2020-04-17kernel: memory: Add AddressSpaceInfo class, for managing the memory address space.bunnei2-0/+164