aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/memory
AgeCommit message (Collapse)Author
2021-02-18hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.bunnei
2021-02-18hle: kernel: Migrate MemoryManager to KMemoryManager.bunnei
2021-02-18hle: kernel: Migrate PageLinkedList to KPageLinkedList.bunnei
2021-02-18hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.bunnei
2021-02-18hle: kernel: Migrate SlabHeap to KSlabHeap.bunnei
2021-02-18hle: kernel: Migrate MemoryLayout to KMemoryLayout.bunnei
2021-02-18hle: kernel: Migrate AddressSpaceInfo to KAddressSpaceInfo.bunnei
2021-02-18hle: kernel: memory_manager: Rename AllocateContinuous to AllocateContinuous.bunnei
2021-02-18hle: kernel: KSystemControl does not belong in Memory namespace.bunnei
2021-02-18hle: kernel: memory: PageHeap: Migrate to KPageBitmap class.bunnei
2021-02-18hle: kernel: system_control: Add function GenerateRandomU64.bunnei
2021-02-12kernel: KScopedReservation implementationameerj
This implements KScopedReservation, allowing resource limit reservations to be more HW accurate, and release upon failure without requiring too many conditionals.
2021-02-12kernel: Unify result codes (#5890)Chloe
* kernel: Unify result codes Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways. * oops * rename errors to svc_results
2021-02-03Simplify limitableresource namesChloe Marcec
2021-01-30kernel: Rewrite resource limit to be more accurateChloe Marcec
Matches closer to hardware
2021-01-15common/bit_util: Replace CLZ/CTZ operations with standardized onesLioncash
Makes for less code that we need to maintain.
2021-01-11core: hle: kernel: Add some useful functions for checking kernel addresses.bunnei
2021-01-05core: Silence warnings when compiling without assertsReinUsesLisp
2021-01-02general: Fix various spelling errorsMorph
2020-12-29core/memory: Read and write page table atomicallyReinUsesLisp
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-06Merge pull request #5148 from comex/xx-unused-fieldsbunnei
core: Mark unused fields as [[maybe_unused]]
2020-12-06core: Mark unused fields as [[maybe_unused]]comex
2020-12-05video_core: Resolve more variable shadowing scenarios pt.3Lioncash
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.bunnei
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-08-15Merge pull request #4492 from lioncash/linkagebunnei
system_control: Make functions internally linked where applicable
2020-08-13General: Tidy up clang-format warnings part 2Lioncash
2020-08-05system_control: Make functions internally linked where applicableLioncash
These functions are only ever used internally as implementation details for GenerateRandomRange(), so these can be given internal linkage.
2020-08-05kernel: Remove unused variablesLioncash
Resolves a few compiler warnings.
2020-07-16Merge pull request #4327 from lioncash/desig2Rodrigo Locatti
address_space_info: Make use of designated initializers
2020-07-13memory_layout: Remove unused data memberLioncash
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 codeLioncash
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 initializersLioncash
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 Marcec
num_pages is an std::size_t. It will always be >= 0
2020-06-18memory_manager: Explicitly specifcy std::min<size_t>MerryMage
2020-05-05Merge pull request #3881 from lioncash/mem-warningbunnei
kernel/memory: Resolve several compiler warnings
2020-05-03kernel/memory: Remove #pragma once within cpp fileLioncash
This isn't necessary in a cpp file and will cause warnings on clang.
2020-05-03kernel/memory: Remove unused includesLioncash
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_managerLioncash
Prevents unused variable warnings.
2020-05-03kernel/memory: Make use of std::array consistently in address_space_infoLioncash
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 warningsLioncash
Prevents variable name clashing.
2020-05-03kernel/memory: Amend potential encoding warningsLioncash
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 capturesLioncash
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)bunnei
* 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-17memory/slab_heap: Make use of static_cast over reinterpret_castLioncash
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.bunnei
- Should be no functional changes.
2020-04-17memory: Add copyright notice for Atmosphere where applicable.bunnei
2020-04-17kernel: memory: page_table: Simplify GetPhysicalAddr impl.bunnei
2020-04-17core: system: Rename GetDeviceManager -> DeviceManager.bunnei
- More consistent with other system components.