Weiyi Wang 
								
							 
						 
						
							
							
							
							
								
							
							
								045d0b5bbd 
								
							 
						 
						
							
							
								
								Merge pull request  #2799  from yuriks/virtual-cached-range-flush  
							
							... 
							
							
							
							Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache 
							
						 
						
							2017-07-22 10:15:52 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								d553135748 
								
							 
						 
						
							
							
								
								Memory: Add function to flush a virtual range from the rasterizer cache  
							
							... 
							
							
							
							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-21 22:57:12 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								f2a5a77e27 
								
							 
						 
						
							
							
								
								Memory: Fix crash when unmapping a VMA covering cached surfaces  
							
							... 
							
							
							
							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-21 22:56:31 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								6ae0086b39 
								
							 
						 
						
							
							
								
								Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional  
							
							
							
						 
						
							2017-06-21 22:55:18 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								326e7c7020 
								
							 
						 
						
							
							
								
								Memory: Make PhysicalToVirtualAddress return a boost::optional  
							
							... 
							
							
							
							And fix a few places in the code to take advantage of that. 
							
						 
						
							2017-06-21 22:55:17 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								d3db770cad 
								
							 
						 
						
							
							
								
								Memory: Add constants for the n3DS additional RAM  
							
							... 
							
							
							
							This is 4MB of extra, separate memory that was added on the New 3DS. 
							
						 
						
							2017-05-09 21:43:59 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									bunnei 
								
							 
						 
						
							
							
							
							
								
							
							
								4798b1d04d 
								
							 
						 
						
							
							
								
								Revert "Memory: Always flush whole pages from surface cache"  
							
							
							
						 
						
							2016-12-17 19:13:33 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								f2b9be9bd3 
								
							 
						 
						
							
							
								
								Memory: Always flush whole pages from surface cache  
							
							... 
							
							
							
							This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup. 
							
						 
						
							2016-12-14 23:46:59 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Rowe 
								
							 
						 
						
							
							
							
							
								
							
							
								bbe57a66ca 
								
							 
						 
						
							
							
								
								Expose page table to dynarmic for optimized reads and writes to the JIT  
							
							
							
						 
						
							2016-11-24 20:41:18 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								3f87d70f0e 
								
							 
						 
						
							
							
								
								memory: fix IsValidVirtualAddress for RasterizerCachedMemory  
							
							... 
							
							
							
							RasterizerCachedMemory doesn't has pointer but should be considered as valid 
							
						 
						
							2016-09-29 10:01:34 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								84fbbe2629 
								
							 
						 
						
							
							
								
								Use negative priorities to avoid special-casing the self-include  
							
							
							
						 
						
							2016-09-21 00:15:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emmanuel Gil Peyrot 
								
							 
						 
						
							
							
							
							
								
							
							
								ebdae19fd2 
								
							 
						 
						
							
							
								
								Remove empty newlines in #include blocks.  
							
							... 
							
							
							
							This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation. 
							
						 
						
							2016-09-21 11:15:47 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emmanuel Gil Peyrot 
								
							 
						 
						
							
							
							
							
								
							
							
								dc8479928c 
								
							 
						 
						
							
							
								
								Sources: Run clang-format on everything.  
							
							
							
						 
						
							2016-09-18 09:38:01 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									wwylele 
								
							 
						 
						
							
							
							
							
								
							
							
								b2df959733 
								
							 
						 
						
							
							
								
								Memory: add ReadCString function  
							
							
							
						 
						
							2016-08-27 21:38:06 +08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Subv 
								
							 
						 
						
							
							
							
							
								
							
							
								0aef634a54 
								
							 
						 
						
							
							
								
								Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.  
							
							
							
						 
						
							2016-05-28 13:52:50 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Subv 
								
							 
						 
						
							
							
							
							
								
							
							
								660499ac01 
								
							 
						 
						
							
							
								
								Memory: Make ReadBlock and WriteBlock accept void pointers.  
							
							
							
						 
						
							2016-05-28 13:52:49 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									MerryMage 
								
							 
						 
						
							
							
							
							
								
							
							
								31d49e0109 
								
							 
						 
						
							
							
								
								Memory: CopyBlock  
							
							
							
						 
						
							2016-05-28 13:44:49 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									MerryMage 
								
							 
						 
						
							
							
							
							
								
							
							
								ca17df5757 
								
							 
						 
						
							
							
								
								Memory: ZeroBlock  
							
							
							
						 
						
							2016-05-21 11:14:09 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									MerryMage 
								
							 
						 
						
							
							
							
							
								
							
							
								3873b36db3 
								
							 
						 
						
							
							
								
								Memory: ReadBlock/WriteBlock  
							
							
							
						 
						
							2016-05-21 11:12:36 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									MerryMage 
								
							 
						 
						
							
							
							
							
								
							
							
								c084fc824c 
								
							 
						 
						
							
							
								
								Memory: IsValidVirtualAddress/IsValidPhysicalAddress  
							
							
							
						 
						
							2016-05-21 11:12:35 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									tfarley 
								
							 
						 
						
							
							
							
							
								
							
							
								22f3a7e94c 
								
							 
						 
						
							
							
								
								HWRasterizer: Texture forwarding  
							
							
							
						 
						
							2016-04-21 17:27:56 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								6aa90e13f9 
								
							 
						 
						
							
							
								
								Memory: Do correct Phys->Virt address translation for non-APP linheap  
							
							
							
						 
						
							2016-03-05 22:09:59 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									MerryMage 
								
							 
						 
						
							
							
							
							
								
							
							
								2b93313348 
								
							 
						 
						
							
							
								
								Memory: Implement MMIO  
							
							
							
						 
						
							2016-01-30 18:41:04 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Gareth Poole 
								
							 
						 
						
							
							
							
							
								
							
							
								be217bca70 
								
							 
						 
						
							
							
								
								Fixed spelling errors  
							
							
							
						 
						
							2015-10-09 17:09:52 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Lioncash 
								
							 
						 
						
							
							
							
							
								
							
							
								9cf1cfe3fd 
								
							 
						 
						
							
							
								
								memory: Get rid of pointer casts  
							
							
							
						 
						
							2015-09-10 00:09:55 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								74d4bc0af1 
								
							 
						 
						
							
							
								
								Kernel: Add more infrastructure to support different memory layouts  
							
							... 
							
							
							
							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 01:03:47 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								e2c7954be5 
								
							 
						 
						
							
							
								
								Memory: Move address type conversion routines to memory.cpp/h  
							
							... 
							
							
							
							These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next. 
							
						 
						
							2015-08-16 01:03:46 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								51820691e7 
								
							 
						 
						
							
							
								
								Memory: Fix unmapping of pages  
							
							
							
						 
						
							2015-07-11 23:49:53 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Emmanuel Gil Peyrot 
								
							 
						 
						
							
							
							
							
								
							
							
								2d044a67c9 
								
							 
						 
						
							
							
								
								Common: Cleanup memory and misc includes.  
							
							
							
						 
						
							2015-06-28 00:36:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								0a60aa75c2 
								
							 
						 
						
							
							
								
								Kernel: Add VMManager to manage process address spaces  
							
							... 
							
							
							
							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-27 03:24:12 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								dd4430609a 
								
							 
						 
						
							
							
								
								Memory: Use a table based lookup scheme to read from memory regions  
							
							
							
						 
						
							2015-05-15 00:04:43 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								52158c1b8d 
								
							 
						 
						
							
							
								
								Memory: Read SharedPage directly from Memory::Read  
							
							
							
						 
						
							2015-05-15 00:04:41 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								ec514b16a6 
								
							 
						 
						
							
							
								
								Memory: Read ConfigMem directly from Memory::Read  
							
							
							
						 
						
							2015-05-15 00:04:39 -03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yuri Kunde Schlesner 
								
							 
						 
						
							
							
							
							
								
							
							
								7ada357b2d 
								
							 
						 
						
							
							
								
								Memmap: Re-organize memory function in two files  
							
							... 
							
							
							
							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 00:04:38 -03:00