Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2017-09-30 | Fixed type conversion ambiguity | Huw Pascoe | 1 | -14/+22 | |
2017-09-27 | Memory: Allow IsValidVirtualAddress to be called with a specific process parameter. | Subv | 1 | -7/+18 | |
There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process. | |||||
2017-09-26 | Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions. | Subv | 1 | -1/+16 | |
Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping. This fixes a crash when loading applets and system modules. | |||||
2017-09-25 | ARM_Interface: Implement PageTableChanged | MerryMage | 1 | -0/+5 | |
2017-09-24 | memory: Remove GetCurrentPageTablePointers | MerryMage | 1 | -4/+0 | |
2017-09-24 | memory: Add GetCurrentPageTable/SetCurrentPageTable | MerryMage | 1 | -1/+9 | |
Don't expose Memory::current_page_table as a global. | |||||
2017-09-15 | Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping. | Subv | 1 | -2/+1 | |
2017-09-15 | Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer. | Subv | 1 | -3/+62 | |
2017-09-10 | Kernel/Memory: Give each Process its own page table. | Subv | 1 | -75/+12 | |
The loader is in charge of setting the newly created process's page table as the main one during the loading process. | |||||
2017-08-29 | Use recursive_mutex instead of mutex to fix #2902 | danzel | 1 | -2/+2 | |
2017-08-22 | Kernel/Memory: Acquire the global HLE lock when a memory read/write operation falls outside of the fast path, for it might perform an MMIO operation. | Subv | 1 | -1/+8 | |
2017-06-22 | Memory: Add function to flush a virtual range from the rasterizer cache | Yuri Kunde Schlesner | 1 | -39/+52 | |
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. | |||||
2017-06-22 | Memory: Fix crash when unmapping a VMA covering cached surfaces | Yuri Kunde Schlesner | 1 | -5/+20 | |
Unmapping pages tries to flush any cached GPU surfaces touching that region. When a cached page is invalidated, GetPointerFromVMA() is used to restore the original pagetable pointer. However, since that VMA has already been deleted, this hits an UNREACHABLE case in that function. Now when this happens, just set the page type to Unmapped and continue, which arrives at the correct end result. | |||||
2017-06-22 | Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional | Yuri Kunde Schlesner | 1 | -4/+12 | |
2017-06-22 | Memory: Make PhysicalToVirtualAddress return a boost::optional | Yuri Kunde Schlesner | 1 | -9/+12 | |
And fix a few places in the code to take advantage of that. | |||||
2017-05-10 | Memory: Add constants for the n3DS additional RAM | Yuri Kunde Schlesner | 1 | -2/+6 | |
This is 4MB of extra, separate memory that was added on the New 3DS. | |||||
2016-12-18 | Revert "Memory: Always flush whole pages from surface cache" | bunnei | 1 | -10/+0 | |
2016-12-15 | Memory: Always flush whole pages from surface cache | Yuri Kunde Schlesner | 1 | -0/+10 | |
This prevents individual writes touching a cached page, but which don't overlap the surface, from constantly hitting the surface cache lookup. | |||||
2016-11-25 | Expose page table to dynarmic for optimized reads and writes to the JIT | James Rowe | 1 | -6/+8 | |
2016-09-29 | memory: fix IsValidVirtualAddress for RasterizerCachedMemory | wwylele | 1 | -0/+3 | |
RasterizerCachedMemory doesn't has pointer but should be considered as valid | |||||
2016-09-21 | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 1 | -1/+1 | |
2016-09-21 | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 1 | -4/+1 | |
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | |||||
2016-09-18 | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 1 | -35/+49 | |
2016-08-27 | Memory: add ReadCString function | wwylele | 1 | -0/+14 | |
2016-05-28 | Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions. | Subv | 1 | -1/+60 | |
2016-05-28 | Memory: Make ReadBlock and WriteBlock accept void pointers. | Subv | 1 | -4/+4 | |
2016-05-28 | Memory: CopyBlock | MerryMage | 1 | -0/+41 | |
2016-05-21 | Memory: ZeroBlock | MerryMage | 1 | -0/+38 | |
2016-05-21 | Memory: ReadBlock/WriteBlock | MerryMage | 1 | -3/+74 | |
2016-05-21 | Memory: IsValidVirtualAddress/IsValidPhysicalAddress | MerryMage | 1 | -0/+21 | |
2016-04-21 | HWRasterizer: Texture forwarding | tfarley | 1 | -0/+140 | |
2016-03-06 | Memory: Do correct Phys->Virt address translation for non-APP linheap | Yuri Kunde Schlesner | 1 | -1/+1 | |
2016-01-30 | Memory: Implement MMIO | MerryMage | 1 | -6/+80 | |
2015-10-09 | Fixed spelling errors | Gareth Poole | 1 | -2/+2 | |
2015-09-10 | memory: Get rid of pointer casts | Lioncash | 1 | -14/+7 | |
2015-08-16 | Kernel: Add more infrastructure to support different memory layouts | Yuri Kunde Schlesner | 1 | -1/+4 | |
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. | |||||
2015-08-16 | Memory: Move address type conversion routines to memory.cpp/h | Yuri Kunde Schlesner | 1 | -1/+36 | |
These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next. | |||||
2015-07-12 | Memory: Fix unmapping of pages | Yuri Kunde Schlesner | 1 | -4/+2 | |
2015-06-28 | Common: Cleanup memory and misc includes. | Emmanuel Gil Peyrot | 1 | -3/+0 | |
2015-05-27 | Kernel: Add VMManager to manage process address spaces | Yuri Kunde Schlesner | 1 | -4/+8 | |
This enables more dynamic management of the process address space, compared to just directly configuring the page table for major areas. This will serve as the foundation upon which the rest of the Kernel memory management functions will be built. | |||||
2015-05-15 | Memory: Use a table based lookup scheme to read from memory regions | Yuri Kunde Schlesner | 1 | -120/+123 | |
2015-05-15 | Memory: Read SharedPage directly from Memory::Read | Yuri Kunde Schlesner | 1 | -1/+2 | |
2015-05-15 | Memory: Read ConfigMem directly from Memory::Read | Yuri Kunde Schlesner | 1 | -1/+2 | |
2015-05-15 | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 1 | -84/+6 | |
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. | |||||
2015-05-15 | Memmap: Remove unused declarations | Yuri Kunde Schlesner | 1 | -11/+3 | |
2015-05-09 | Memory: Support more regions in the VAddr-PAddr translation functions | Yuri Kunde Schlesner | 1 | -24/+24 | |
Also adds better documentation and removes the one-off reimplementation of the function in pica.h. | |||||
2015-05-09 | Memory: Re-organize and rename memory area address constants | Yuri Kunde Schlesner | 1 | -38/+26 | |
2015-05-07 | Common: Remove common.h | Yuri Kunde Schlesner | 1 | -1/+3 | |
2015-05-02 | Memory: Properly cleanup & shutdown. | bunnei | 1 | -13/+8 | |
2015-04-06 | Clean-up mem_map constants and fix framebuffer translation errors | Yuri Kunde Schlesner | 1 | -7/+11 | |
2015-03-17 | dyncom: Make Load/Store instructions support big endian | Lioncash | 1 | -0/+6 | |
2015-02-22 | Cleaned up unaligned access. | Kevin Hartman | 1 | -18/+0 | |
2015-02-11 | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 1 | -2/+2 | |
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft. | |||||
2015-01-16 | Add some support for the shared page (currently 3d slider is implemented) | Zhuowei Zhang | 1 | -0/+5 | |
2014-12-30 | MemMap: Add support for DSP Read & Writes in the memory map | purpasmart96 | 1 | -2/+8 | |
2014-12-21 | License change | purpasmart96 | 1 | -1/+1 | |
2014-12-14 | MemMap: Added AXI_WRAM & SHARED_PAGE along with other stuff | purpasmart96 | 1 | -10/+0 | |
Got rid of I/O address's since the I/O addresses range's overlap with other address's types such as vram, these I/O addresses need to be done in an different way. | |||||
2014-12-13 | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 1 | -6/+6 | |
2014-12-12 | MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP. | bunnei | 1 | -16/+16 | |
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU). | |||||
2014-12-03 | MemMap: Updated memory map to subtract base address instead of mask. | bunnei | 1 | -21/+21 | |
- More readable, a little less error prone. Conflicts: src/core/mem_map.h src/core/mem_map_funcs.cpp | |||||
2014-11-27 | Fixed formatting and switch statement warnings | vaguilar | 1 | -2/+2 | |
2014-11-19 | Add static to some variables | Lioncash | 1 | -9/+9 | |
2014-09-28 | Fix warnings in core and common | Lioncash | 1 | -1/+1 | |
2014-09-09 | core: Prune redundant includes | archshift | 1 | -1/+0 | |
2014-08-31 | Introduce VAddr and PAddr typedefs for ARM addresses. | Yuri Kunde Schlesner | 1 | -16/+16 | |
2014-08-17 | Core: Fix undefined behavior in mem_map_funcs' WriteBlock function | Lioncash | 1 | -4/+8 | |
2014-08-12 | Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones. | Tony Wasserka | 1 | -32/+36 | |
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible. This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though. | |||||
2014-08-06 | MemMap: Fixed typo with GetPointer to VRAM address. | bunnei | 1 | -1/+1 | |
2014-08-06 | MemMap: Added an error for unaligned 16-bit memory reads. | bunnei | 1 | -0/+7 | |
2014-08-06 | MemMap: Removed Read64 function. | bunnei | 1 | -6/+0 | |
- Unused code - Was not correct for unaligned memory reads | |||||
2014-08-06 | MemMap: Fix Read32 for unaligned memory reads. | bunnei | 1 | -12/+23 | |
MemMap: Cleaned up Read32 unaligned memory access. | |||||
2014-07-05 | Memory: Removed deprecated MapBlock_Shared function. | bunnei | 1 | -22/+0 | |
2014-07-05 | mem_map: Updated interface to expose template functions to other modules. | bunnei | 1 | -10/+10 | |
2014-06-25 | MemMap: Added a WriteBlock function to write a buffer of data to memory. | bunnei | 1 | -0/+12 | |
2014-05-30 | hle: cleaned up log messages | bunnei | 1 | -3/+2 | |
2014-05-16 | added memory mapped region for system mem - sdk demos load a segment here on ELF load | bunnei | 1 | -1/+13 | |
2014-05-08 | - removed HLE mem "hack" and replaced with kernel mem region | bunnei | 1 | -11/+11 | |
- added a helper function for getting command buffer for services - fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue) | |||||
2014-05-07 | added mem_map read for config_mem | bunnei | 1 | -7/+12 | |
2014-05-01 | added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded) | bunnei | 1 | -1/+13 | |
2014-05-01 | reorganized memory regions enum, added regions for ExeFS code | bunnei | 1 | -1/+1 | |
2014-04-28 | added virtual address conversion for firmware FW0B | bunnei | 1 | -5/+9 | |
2014-04-27 | added helper functions to mem_map to convert physical addresses to virtual addresses | bunnei | 1 | -1/+1 | |
2014-04-26 | - changed HW IO map to use virtual addresses | bunnei | 1 | -2/+10 | |
- added hooks to catch LCD IO read/writes | |||||
2014-04-26 | added vram to memory_map | bunnei | 1 | -7/+13 | |
2014-04-25 | removed some cruft | bunnei | 1 | -7/+1 | |
2014-04-25 | - added preliminary support for svc_MapMemoryBlock | bunnei | 1 | -6/+21 | |
- added shared memory region - moarrrr cleanups to memory_map | |||||
2014-04-25 | added functions to map Heap and Shared memory space | bunnei | 1 | -3/+51 | |
2014-04-18 | added GSP heap memory allocation | bunnei | 1 | -0/+26 | |
2014-04-18 | fixed bug in Memory::GetPointer | bunnei | 1 | -2/+2 | |
2014-04-18 | added memory read/write to GSP heap | bunnei | 1 | -3/+11 | |
2014-04-18 | more various refactors to memory interface | bunnei | 1 | -23/+17 | |
2014-04-18 | cleaned up memory interfaces a lot, removed some hackish stuff | bunnei | 1 | -96/+48 | |
2014-04-17 | changed unknown memory read/write to report the size | bunnei | 1 | -2/+3 | |
2014-04-13 | added OS memory read/write for thread command buffer | bunnei | 1 | -5/+5 | |
2014-04-13 | - added HLE to connect to "srv:" service | bunnei | 1 | -2/+16 | |
- added a manager for keeping track of services/ports - added a memory mapped region for memory accessed by HLE - added HLE for GetThreadCommandBuffer function | |||||
2014-04-11 | cleaned up some logging messages | bunnei | 1 | -1/+1 | |
2014-04-09 | fixed project includes to use new directory structure | bunnei | 1 | -3/+3 | |
2014-04-09 | got rid of 'src' folders in each sub-project | bunnei | 1 | -0/+0 | |
2014-04-09 | fixed all license file headers in core | bunnei | 1 | -23/+3 | |
2014-04-07 | added hack physical memory reads with Memory::GetPointer | bunnei | 1 | -2/+9 | |
2014-04-05 | added initial support for hw.cpp module | bunnei | 1 | -3/+15 | |
2014-04-05 | added hw module to interface h/w register reads/writes | bunnei | 1 | -3/+2 | |
2014-04-05 | renamed some functions | bunnei | 1 | -11/+11 | |
2014-04-04 | added hack to allow physical mem read/writes | bunnei | 1 | -2/+20 | |
2014-04-04 | removed some useless log messages | bunnei | 1 | -2/+0 | |
2014-04-02 | -converted tabs to spaces | bunnei | 1 | -100/+99 | |
-moved scratchpad memory out of MemArena | |||||
2014-04-01 | added support for reading/writing to stack mem | bunnei | 1 | -1/+10 | |
2014-03-25 | added a GetPointer function to Memory for use with ELF loading | bunnei | 1 | -28/+28 | |
2013-09-20 | added mem_map hardware writing | ShizZy | 1 | -52/+71 | |
2013-09-19 | added hw R/W/ memory functions | ShizZy | 1 | -0/+157 | |