bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							63fd1bb503 
							
						 
					 
					
						
						
							
							core: arm: Implement InvalidateCacheRange for CPU cache invalidation.  
						
						
						
					 
					
						2020-11-29 01:31:52 -08:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							7b642c7781 
							
						 
					 
					
						
						
							
							hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.  
						
						
						
					 
					
						2020-11-29 01:31:51 -08:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							5bc4eabe36 
							
						 
					 
					
						
						
							
							core: Eliminate remaining usages of the global system instance  
						
						... 
						
						
						
						Removes all remaining usages of the global system instance. After this,
migration can begin to migrate to being constructed and managed entirely
by the various frontends. 
						
					 
					
						2020-11-27 11:40:45 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							fc6db97a09 
							
						 
					 
					
						
						
							
							core: Remove usage of unicorn  
						
						... 
						
						
						
						Unicorn long-since lost most of its use, due to dynarmic gaining support
for handling most instructions. At this point any further issues
encountered should be used to make dynarmic better.
This also allows us to remove our dependency on Python. 
						
					 
					
						2020-11-03 20:22:05 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3d592972dc 
							
						 
					 
					
						
						
							
							Revert "core: Fix clang build"  
						
						
						
					 
					
						2020-10-20 19:07:39 -07:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							be1954e04c 
							
						 
					 
					
						
						
							
							core: Fix clang build  
						
						... 
						
						
						
						Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes  #4795  
						
					 
					
						2020-10-17 19:50:39 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							ff45c39578 
							
						 
					 
					
						
						
							
							General: Make use of std::nullopt where applicable  
						
						... 
						
						
						
						Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals. 
						
					 
					
						2020-09-22 17:32:33 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							1ee9ceb5af 
							
						 
					 
					
						
						
							
							arm_dynarmic_cp15: Initialize member variables  
						
						... 
						
						
						
						Ensures that the member variables are always initialized to a
deterministic value on creation. 
						
					 
					
						2020-09-17 13:03:49 -04:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							836ec9176a 
							
						 
					 
					
						
						
							
							dynarmic: Add unsafe optimizations  
						
						
						
					 
					
						2020-08-16 14:15:39 +01:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							505aa3a4c1 
							
						 
					 
					
						
						
							
							configure_cpu: Show/Hide debugging options  
						
						
						
					 
					
						2020-07-11 16:38:38 +01:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							0193202964 
							
						 
					 
					
						
						
							
							configuration: Add settings to enable/disable specific CPU optimizations  
						
						
						
					 
					
						2020-07-11 14:34:09 +01:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							2f8947583f 
							
						 
					 
					
						
						
							
							Core/Common: Address Feedback.  
						
						
						
					 
					
						2020-06-27 18:20:06 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							4105f38022 
							
						 
					 
					
						
						
							
							SVC: Implement 32-bits wrappers and update Dynarmic.  
						
						
						
					 
					
						2020-06-27 11:36:27 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							b8df61c642 
							
						 
					 
					
						
						
							
							ARM: Update Dynarmic and Setup A32 according to latest interface.  
						
						
						
					 
					
						2020-06-27 11:36:26 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							ec11918323 
							
						 
					 
					
						
						
							
							ArmDynarmic32: Setup CNTPCT correctly  
						
						
						
					 
					
						2020-06-27 11:36:24 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							0a8013d71e 
							
						 
					 
					
						
						
							
							ARMDynarmicInterface: Correct GCC Build Errors.  
						
						
						
					 
					
						2020-06-27 11:36:17 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							3714f2e471 
							
						 
					 
					
						
						
							
							ARMInterface/Externals: Update dynarmic and fit to latest version.  
						
						
						
					 
					
						2020-06-27 11:36:13 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							dda6147b0d 
							
						 
					 
					
						
						
							
							ARMInterface: Correct rebase errors.  
						
						
						
					 
					
						2020-06-27 11:36:12 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							7b44187fd2 
							
						 
					 
					
						
						
							
							Dynarmic Interface: don't clear cache if JIT has not been created.  
						
						
						
					 
					
						2020-06-27 11:36:08 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							48fa3b7a0f 
							
						 
					 
					
						
						
							
							General: Cleanup legacy code.  
						
						
						
					 
					
						2020-06-27 11:36:05 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							f5e32935ca 
							
						 
					 
					
						
						
							
							SingleCore: Use Cycle Timing instead of Host Timing.  
						
						
						
					 
					
						2020-06-27 11:36:01 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							1567824d2d 
							
						 
					 
					
						
						
							
							General: Move ARM_Interface into Threads.  
						
						
						
					 
					
						2020-06-27 11:35:58 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							1b82ccec22 
							
						 
					 
					
						
						
							
							Core: Refactor ARM Interface.  
						
						
						
					 
					
						2020-06-27 11:35:56 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							534466754f 
							
						 
					 
					
						
						
							
							X64 Clock: Reduce accuracy to be less or equal to guest accuracy.  
						
						
						
					 
					
						2020-06-27 11:35:55 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							87c49aa7be 
							
						 
					 
					
						
						
							
							SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface.  
						
						
						
					 
					
						2020-06-27 11:35:53 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							25565dffd5 
							
						 
					 
					
						
						
							
							ARM: Addapt to new Exclusive Monitor Interface.  
						
						
						
					 
					
						2020-06-27 11:35:50 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							7020d498c5 
							
						 
					 
					
						
						
							
							General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.  
						
						
						
					 
					
						2020-06-27 11:35:48 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							cd1c38be8d 
							
						 
					 
					
						
						
							
							ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.  
						
						
						
					 
					
						2020-06-27 11:35:37 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							a33fbaddec 
							
						 
					 
					
						
						
							
							Core: Correct rebase.  
						
						
						
					 
					
						2020-06-27 11:35:29 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							e31425df38 
							
						 
					 
					
						
						
							
							General: Recover Prometheus project from harddrive failure  
						
						... 
						
						
						
						This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host 
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and 
Suspended State, Recreates the bootmanager, Initializes Multicore 
system. 
						
					 
					
						2020-06-27 11:35:06 -04:00 
						 
				 
			
				
					
						
							
							
								Morph 
							
						 
					 
					
						
						
						
						
							
						
						
							f2df941e8d 
							
						 
					 
					
						
						
							
							arm_dynarmic_64: Log the instruction when an exception is raised  
						
						
						
					 
					
						2020-06-22 07:00:24 -04:00 
						 
				 
			
				
					
						
							
							
								Morph 
							
						 
					 
					
						
						
						
						
							
						
						
							e0af4cdf98 
							
						 
					 
					
						
						
							
							arm_dynarmic_32: Log under Core_ARM instead of HW_GPU  
						
						
						
					 
					
						2020-06-22 06:59:41 -04:00 
						 
				 
			
				
					
						
							
							
								ReinUsesLisp 
							
						 
					 
					
						
						
						
						
							
						
						
							778043a44c 
							
						 
					 
					
						
						
							
							arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0  
						
						... 
						
						
						
						On MSVC builds we treat conversion warnings as errors. 
						
					 
					
						2020-06-18 16:52:15 -03:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							52bcfac116 
							
						 
					 
					
						
						
							
							arm_dynarmic_cp15: Implement CNTPCT  
						
						
						
					 
					
						2020-06-17 17:10:24 +01:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							109df7705f 
							
						 
					 
					
						
						
							
							arm_dynarmic_cp15: Update CP15  
						
						
						
					 
					
						2020-06-17 17:10:24 +01:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							32a127faaa 
							
						 
					 
					
						
						
							
							arm_dynarmic_32: InterpreterFallback should never happen  
						
						
						
					 
					
						2020-06-17 17:10:24 +01:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							cc84b48ce5 
							
						 
					 
					
						
						
							
							physical_core: Make use of std::make_unique instead of std::make_shared in ctor  
						
						... 
						
						
						
						We can also allow unicorn to be constructed in 32-bit mode or 64-bit
mode to satisfy the need for both interpreter instances.
Allows this code to compile successfully of non x86-64 architectures. 
						
					 
					
						2020-04-24 00:20:58 -04:00 
						 
				 
			
				
					
						
							
							
								MerryMage 
							
						 
					 
					
						
						
						
						
							
						
						
							a3a12deecc 
							
						 
					 
					
						
						
							
							dynarmic: Add option to disable CPU JIT optimizations  
						
						
						
					 
					
						2020-04-20 13:36:26 +01:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							f1b607829e 
							
						 
					 
					
						
						
							
							dynarmic: Enable strict alignment checks.  
						
						... 
						
						
						
						- Also add a missing include. 
						
					 
					
						2020-04-17 00:59:29 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							4caff51710 
							
						 
					 
					
						
						
							
							core: memory: Move to Core::Memory namespace.  
						
						... 
						
						
						
						- helpful to disambiguate Kernel::Memory namespace. 
						
					 
					
						2020-04-17 00:59:28 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							82d457af37 
							
						 
					 
					
						
						
							
							core: kernel: Move SVC to its own namesapce.  
						
						
						
					 
					
						2020-04-17 00:59:28 -04:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							c083ea7d78 
							
						 
					 
					
						
						
							
							core: Implement separate A32/A64 ARM interfaces.  
						
						
						
					 
					
						2020-03-02 21:51:57 -05:00 
						 
				 
			
				
					
						
							
							
								bunnei 
							
						 
					 
					
						
						
						
						
							
						
						
							64facb403e 
							
						 
					 
					
						
						
							
							core: dynarmic: Add CP15 from Citra.  
						
						
						
					 
					
						2020-03-02 21:43:15 -05:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							f3d4d4eaa8 
							
						 
					 
					
						
						
							
							ARM_Interface: Cache the JITs instead of deleting/recreating.  
						
						... 
						
						
						
						This was a bug inherited from citra which was fixed by then at some 
time. This commit corrects such bug and ensures JITs are correctly 
recycled. 
						
					 
					
						2020-02-26 15:53:47 -04:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							1e6f8aba04 
							
						 
					 
					
						
						
							
							Core: Set all hardware emulation constants in a single file.  
						
						
						
					 
					
						2020-02-11 20:19:11 -04:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							472319e573 
							
						 
					 
					
						
						
							
							core/arm: Remove usage of global GetCurrentThread()  
						
						... 
						
						
						
						Now both CPU backends go through their referenced system instance to
obtain the current thread. 
						
					 
					
						2020-01-30 18:52:25 -05:00 
						 
				 
			
				
					
						
							
							
								Fernando Sahmkow 
							
						 
					 
					
						
						
						
						
							
						
						
							e4a1ead897 
							
						 
					 
					
						
						
							
							Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager.  
						
						... 
						
						
						
						This commit instends on better naming the new purpose of this classes. 
						
					 
					
						2020-01-26 14:07:22 -04:00 
						 
				 
			
				
					
						
							
							
								Markus Wick 
							
						 
					 
					
						
						
						
						
							
						
						
							0986caa8d8 
							
						 
					 
					
						
						
							
							core/memory + arm/dynarmic: Use a global offset within our arm page table.  
						
						... 
						
						
						
						This saves us two x64 instructions per load/store instruction.
TODO: Clean up our memory code. We can use this optimization here as well. 
						
					 
					
						2020-01-01 12:24:54 +01:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							e4c381b885 
							
						 
					 
					
						
						
							
							core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory class  
						
						... 
						
						
						
						The Write functions are used slightly less than the Read functions,
which make these a bit nicer to move over.
The only adjustments we really need to make here are to Dynarmic's
exclusive monitor instance. We need to keep a reference to the currently
active memory instance to perform exclusive read/write operations. 
						
					 
					
						2019-11-26 21:55:39 -05:00 
						 
				 
			
				
					
						
							
							
								Lioncash 
							
						 
					 
					
						
						
						
						
							
						
						
							b05bfc6036 
							
						 
					 
					
						
						
							
							core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory class  
						
						... 
						
						
						
						With all of the trivial parts of the memory interface moved over, we can
get right into moving over the bits that are used.
Note that this does require the use of GetInstance from the global
system instance to be used within hle_ipc.cpp and the gdbstub. This is
fine for the time being, as they both already rely on the global system
instance in other functions. These will be removed in a change directed
at both of these respectively.
For now, it's sufficient, as it still accomplishes the goal of
de-globalizing the memory code. 
						
					 
					
						2019-11-26 21:55:39 -05:00