summaryrefslogtreecommitdiffstats
path: root/src/core/memory.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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.