summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/memory/page_table.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Simplify limitableresource namesChloe Marcec2021-02-031-6/+5
|
* kernel: Rewrite resource limit to be more accurateChloe Marcec2021-01-301-6/+7
| | | | Matches closer to hardware
* general: Fix various spelling errorsMorph2021-01-021-6/+6
|
* core/memory: Read and write page table atomicallyReinUsesLisp2020-12-301-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]
* core: arm: Implement InvalidateCacheRange for CPU cache invalidation.bunnei2020-11-291-0/+5
|
* Revert "core: Fix clang build"bunnei2020-10-211-4/+2
|
* core: Fix clang buildLioncash2020-10-181-2/+4
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* General: Tidy up clang-format warnings part 2Lioncash2020-08-131-10/+12
|
* kernel: Remove unused variablesLioncash2020-08-051-1/+0
| | | | Resolves a few compiler warnings.
* kernel/memory: Remove unused includesLioncash2020-05-031-1/+0
| | | | | Prevents header churn and needing to recompile these files if these headers are ever changed in the future.
* page_table: Remove unused capturesLioncash2020-04-231-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.
* kernel: memory: Improve implementation of device shared memory. (#3707)bunnei2020-04-231-0/+44
| | | | | | | * 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.
* core: hle: Address various feedback & code cleanup.bunnei2020-04-171-178/+78
| | | | - Should be no functional changes.
* kernel: memory: page_table: Simplify GetPhysicalAddr impl.bunnei2020-04-171-4/+0
|
* core: system: Rename GetDeviceManager -> DeviceManager.bunnei2020-04-171-1/+1
| | | | - More consistent with other system components.
* kernel: memory: Add PageTable class, to manage process address space.bunnei2020-04-171-0/+1234