summaryrefslogtreecommitdiffstats
path: root/src/core/memory.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rasterizer: Flush and invalidate regions should be 64-bit.bunnei2018-03-231-1/+1
|
* memory: Port RasterizerFlushVirtualRegion from Citra.bunnei2018-03-231-1/+19
|
* memory: Add regions for map region, "new" map region, etc.bunnei2018-03-161-19/+29
|
* arm_dynarmic: Support direct page table accessMerryMage2018-02-121-4/+5
|
* memory: Replace all memory hooking with Special regionsMerryMage2018-01-271-51/+21
|
* Update memory.hDavid2018-01-171-2/+2
|
* Increased heap size and changed tls area vaddrDavid Marcec2018-01-161-2/+2
|
* core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei2018-01-011-5/+5
|
* svc: Implement MapMemory.bunnei2017-12-291-1/+1
|
* memory: Support 32-bit paging, move heap address space up.bunnei2017-10-231-2/+2
|
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-101-14/+77
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
| * Memory: Make WriteBlock take a Process parameter on which to operateSubv2017-10-011-0/+2
| |
| * Memory: Make ReadBlock take a Process parameter on which to operateSubv2017-10-011-0/+2
| |
| * Memory: Allow IsValidVirtualAddress to be called with a specific process parameter.Subv2017-09-271-0/+7
| | | | | | | | There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
| * memory: Remove GetCurrentPageTablePointersMerryMage2017-09-241-6/+0
| |
| * memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage2017-09-241-1/+2
| | | | | | | | Don't expose Memory::current_page_table as a global.
| * Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.Subv2017-09-151-2/+0
| |
| * Kernel/Memory: Give each Process its own page table.Subv2017-09-101-1/+59
| | | | | | | | The loader is in charge of setting the newly created process's page table as the main one during the loading process.
* | loader: Various improvements for NSO/NRO loaders.bunnei2017-10-101-2/+2
| |
* | core: Various changes to support 64-bit addressing.bunnei2017-09-301-8/+8
|/
* Memory: Add function to flush a virtual range from the rasterizer cacheYuri Kunde Schlesner2017-06-221-0/+13
| | | | | | This is slightly more ergonomic to use, correctly handles virtual regions which are disjoint in physical addressing space, and checks only regions which can be cached by the rasterizer.
* Memory: Add TryVirtualToPhysicalAddress, returning a boost::optionalYuri Kunde Schlesner2017-06-221-3/+11
|
* Memory: Make PhysicalToVirtualAddress return a boost::optionalYuri Kunde Schlesner2017-06-221-3/+4
| | | | And fix a few places in the code to take advantage of that.
* Memory: Add enum definitions for the n3DS FCRAM sizeYuri Kunde Schlesner2017-06-211-1/+3
|
* Memory: Add constants for the n3DS additional RAMYuri Kunde Schlesner2017-05-101-0/+10
| | | | This is 4MB of extra, separate memory that was added on the New 3DS.
* Expose page table to dynarmic for optimized reads and writes to the JITJames Rowe2016-11-251-0/+9
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-1/+0
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-35/+35
|
* Memory: add ReadCString functionwwylele2016-08-271-0/+3
|
* Memory: Make ReadBlock and WriteBlock accept void pointers.Subv2016-05-281-2/+2
|
* Memory: CopyBlockMerryMage2016-05-281-2/+2
|
* Memory: ZeroBlockMerryMage2016-05-211-0/+1
|
* Memory: ReadBlock/WriteBlockMerryMage2016-05-211-1/+3
|
* Memory: IsValidVirtualAddress/IsValidPhysicalAddressMerryMage2016-05-211-0/+3
|
* Merge pull request #1695 from Subv/tls_allocbunnei2016-05-131-6/+0
|\ | | | | Kernel/Threads: Dynamically allocate the TLS region for threads.
| * Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.Subv2016-05-071-6/+0
| | | | | | | | | | | | Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries. This is consistent with what the real kernel does.
* | HWRasterizer: Texture forwardingtfarley2016-04-211-0/+16
|/
* Fix broken boot introduced by last-minute change in #1025Yuri Kunde Schlesner2015-08-221-1/+1
|
* Kernel: Implement svcGetProcessInfo in a basic wayYuri Kunde Schlesner2015-08-161-1/+3
| | | | | This also adds some basic memory usage accounting. These two types are used by Super Smash Bros. during startup.
* Kernel: Add more infrastructure to support different memory layoutsYuri Kunde Schlesner2015-08-161-0/+5
| | | | | | This adds some structures necessary to support multiple memory regions in the future. It also adds support for different system memory types and the new linear heap mapping at 0x30000000.
* Memory: Move address type conversion routines to memory.cpp/hYuri Kunde Schlesner2015-08-161-0/+11
| | | | | These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next.
* Memory: Move PAGE_MASK and PAGE_BITS to memory.hYuri Kunde Schlesner2015-08-161-0/+2
|
* Common: Cleanup memory and misc includes.Emmanuel Gil Peyrot2015-06-281-0/+2
|
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-1/+1
|
* Memory: Use a table based lookup scheme to read from memory regionsYuri Kunde Schlesner2015-05-151-0/+4
|
* Memmap: Re-organize memory function in two filesYuri Kunde Schlesner2015-05-151-0/+125
memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.