Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								f8e4eecbfb 
								
							 
						 
						
							
							
								
								Kernel: Replace calls to Prekernel::panic() with PANIC macro on aarch64  
							
							
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								e81e1fa9c8 
								
							 
						 
						
							
							
								
								Kernel: Implement __panic() for the aarch64 Kernel  
							
							... 
							
							
							
							Now that dump_backtrace() works, we can actually print a helpful
backtrace when the Kernel panics. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								e7cf591ec0 
								
							 
						 
						
							
							
								
								Kernel: Load the kernel symbol table for the aarch64 Kernel  
							
							... 
							
							
							
							Since kmalloc() now works, we can actually load the kernel symbol table!
This in turn allows us to call dump_backtrace(), and actually get a
useful backtrace in the aarch64 Kernel. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								b464321618 
								
							 
						 
						
							
							
								
								Kernel: Add kmalloc_init() to the init function of the aarch64 Kernel  
							
							... 
							
							
							
							With the previous commits, we are now able to call kmalloc() :^) 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								3b4d2d9b51 
								
							 
						 
						
							
							
								
								Kernel: Remove VERIFY_NOT_REACHED in {current, idle}_thread for aarch64  
							
							... 
							
							
							
							These functions are called by kmalloc, and since there is no support for
threading in the aarch64 build yet, we can simply remove the
VERIFY_NOT_REACHED(). 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								8e0bd63b0c 
								
							 
						 
						
							
							
								
								Kernel: Add bare-minimum implementation for aarch64 Spinlock  
							
							
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								9abcb6700c 
								
							 
						 
						
							
							
								
								Kernel: Move Arch/x86/Spinlock.h and add stubs for aarch64  
							
							... 
							
							
							
							The code in Spinlock.h has no architectural specific logic, thus can be
moved to the Arch directory. This contains no functional change.
Also add the Spinlock.cpp file for aarch64 which contains stubs for the
lock and unlock functions. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								0d6d4508df 
								
							 
						 
						
							
							
								
								Kernel: Add the .ksyms section to the aarch64 Kernel binary  
							
							... 
							
							
							
							Previously the embedmap.sh script generated a warning, since there was
no section defined where the actual kernel.map could be stored. This is
necesarry for generating kernel backtraces. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								9f76b16124 
								
							 
						 
						
							
							
								
								Kernel: Implement safe_memcpy for the aarch64 build  
							
							... 
							
							
							
							The implementation just calls the regular memcpy, and is not safe yet.
This can be done later. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								feba7bc8a8 
								
							 
						 
						
							
							
								
								Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h  
							
							... 
							
							
							
							The file does not contain any specific architectural code, thus it can
be moved to the Kernel/Arch directory. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								267febae55 
								
							 
						 
						
							
							
								
								Kernel: Add KSyms.cpp to the aarch64 build  
							
							... 
							
							
							
							This is the first step in making dump_backtrace() work. 
							
						 
						
							2022-05-03 21:53:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								15f32379bb 
								
							 
						 
						
							
							
								
								Kernel: Remove UART::{print_num, print_hex} since they are unused  
							
							
							
						 
						
							2022-05-03 00:59:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								47a58c51c6 
								
							 
						 
						
							
							
								
								Kernel: Modify UART::print_str() to also take into account the length  
							
							... 
							
							
							
							Previously in the aarch64 Kernel, this would cause dbgln() to actually
print more characters of the next string in memory, because strings in
the Kernel are not zero terminated by default. Prevent this by using the
passed in length of the string. 
							
						 
						
							2022-05-03 00:59:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								4a2dcea685 
								
							 
						 
						
							
							
								
								Kernel: Remove aarch64/Utils.{cpp, h} since they are not used anymore  
							
							
							
						 
						
							2022-05-03 00:59:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								83265b4cb2 
								
							 
						 
						
							
							
								
								Kernel: Replace calls to UART::print_str() with dbgln()  
							
							... 
							
							
							
							Since we can now use dbgln() in the aarch64 Kernel, lets use it! :^) 
							
						 
						
							2022-05-03 00:59:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								b046c82f75 
								
							 
						 
						
							
							
								
								Kernel: Let Processor::is_initialized() of aarch64 return false  
							
							... 
							
							
							
							When calling dbgln(), the formatting code in AK/Format.h calls
Processor::is_initialized() to determine whether to add some text about
the current processor to the debug output. Instead of crashing, we just
return false, such that we can use dbgln() etc in the aarch64 Kernel. 
							
						 
						
							2022-05-03 00:59:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timon Kruiper 
								
							 
						 
						
							
							
							
							
								
							
							
								b9944ca905 
								
							 
						 
						
							
							
								
								Kernel: Add aarch64 version of kprintf.cpp  
							
							... 
							
							
							
							This allows us to use the AK formatting functions in the aarch64 Kernel.
Also add FIXME to make sure that this file will be removed when the
proper abstractions are in place in the normal Kernel/kprintf.cpp. 
							
						 
						
							2022-05-03 00:59:35 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								cd3e337487 
								
							 
						 
						
							
							
								
								Kernel: Strip null terminators from all CPUID strings, not just brand  
							
							... 
							
							
							
							I've noticed that the KVM hypervisor vendor ID string contained null
terminators in the serialized JSON string in /proc/cpuinfo - let's avoid
that, and err on the side of caution and strip them from all strings
built from CPUID register values. They may not be fixed width after all. 
							
						 
						
							2022-04-26 20:20:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								62185452f0 
								
							 
						 
						
							
							
								
								Kernel: Query OS-enabled CPUID features again at the end of cpu_setup()  
							
							... 
							
							
							
							For OSPKE this is a no-op as we don't enable PKU yet, but the state of
the OSXSAVE flag might have changed if we enabled XSAVE. 
							
						 
						
							2022-04-08 18:53:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								87aabb5ef7 
								
							 
						 
						
							
							
								
								Kernel: Rename OSPKU CPUID feature flag to OSPKE  
							
							... 
							
							
							
							Unlike "XSAVE enabled by OS" being indicated by the OSXSAVE flag, in
this case it's "PKU enabled by OS" being indicated by the OSPKE flag. 
							
						 
						
							2022-04-08 18:53:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Tiaan Louw 
								
							 
						 
						
							
							
							
							
								
							
							
								678555af97 
								
							 
						 
						
							
							
								
								Kernel: Adjust includes after file reorganization  
							
							
							
						 
						
							2022-04-08 15:06:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								d94c7fa417 
								
							 
						 
						
							
							
								
								Kernel: Improve the aarch64 kernel source files disk layout  
							
							
							
						 
						
							2022-04-06 08:56:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								df9a833d7a 
								
							 
						 
						
							
							
								
								Kernel: Add VERIFY_NOT_REACHED to aarch64 PageDirectory.cpp  
							
							
							
						 
						
							2022-04-04 14:35:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								283d8e8f51 
								
							 
						 
						
							
							
								
								Kernel: Add VERIFY_NOT_REACHED to aarch64 locking functions  
							
							
							
						 
						
							2022-04-04 14:35:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								e98ea8a977 
								
							 
						 
						
							
							
								
								Kernel: Add VERIFY_NOT_REACHED to the aarch64 handle_crash function  
							
							
							
						 
						
							2022-04-04 14:35:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								d014c0501d 
								
							 
						 
						
							
							
								
								Kernel: Remove unused dummy function from dummy.cpp  
							
							
							
						 
						
							2022-04-04 14:35:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								bd7acd4b90 
								
							 
						 
						
							
							
								
								Kernel: Add VERIFY_NOT_REACHED to stub functions in aarch64 dummy.cpp  
							
							
							
						 
						
							2022-04-04 14:35:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								92a8383101 
								
							 
						 
						
							
							
								
								Kernel: Add VERIFY_NOT_REACHED to stub aarch64 Processor functions  
							
							
							
						 
						
							2022-04-04 14:35:54 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								463910df98 
								
							 
						 
						
							
							
								
								Kernel: Print out assertion info in __assertion_failed on aarch64  
							
							
							
						 
						
							2022-04-04 22:25:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								2b442ae44f 
								
							 
						 
						
							
							
								
								Kernel: Add kmalloc.cpp to aarch64  
							
							
							
						 
						
							2022-04-03 23:21:04 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								b0f701d053 
								
							 
						 
						
							
							
								
								Kernel: Convert ProcessorInfo::build_brand_string() to StringBuilder  
							
							
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								3f9c2495e5 
								
							 
						 
						
							
							
								
								Kernel: Remove EBX, ECX, and EDX values from hypervisor dmesgln()  
							
							
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								8d96525b9d 
								
							 
						 
						
							
							
								
								Kernel: Move hypervisor vendor ID string to ProcessorInfo  
							
							... 
							
							
							
							This will make it possible to expose it in /proc/cpuinfo. :^) 
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								f6181cd47e 
								
							 
						 
						
							
							
								
								Kernel: Make ProcessorInfo::build_foo_string() private  
							
							
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								afce63fffc 
								
							 
						 
						
							
							
								
								Kernel: Move feature string building to ProcessorInfo  
							
							... 
							
							
							
							Other than a dmesgln(), ProcessorInfo is the only user of this function
and is already responsible for building other CPUID-related strings. 
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								53a95a5347 
								
							 
						 
						
							
							
								
								Kernel: Rename some ProcessorInfo members to match Intel manual  
							
							... 
							
							
							
							Let's use terminology from the the Intel manual to avoid confusion.
Also add `_string` suffixes to better distinguish the numeric values
from the string values. 
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								ebe2cf8995 
								
							 
						 
						
							
							
								
								Kernel: Move private ProcessorInfo members to the end  
							
							
							
						 
						
							2022-04-03 23:20:33 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								9186ed3101 
								
							 
						 
						
							
							
								
								Kernel: Add all memory files to aarch64 and fix resulting linker errors  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								d79c772c87 
								
							 
						 
						
							
							
								
								Kernel: Make MemoryManager compile on aarch64  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								6299a69253 
								
							 
						 
						
							
							
								
								Kernel: Make handle_crash available to aarch64  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								d3b6201b40 
								
							 
						 
						
							
							
								
								Kernel: Make PageDirectory.cpp compile on aarch64  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								783a44b18e 
								
							 
						 
						
							
							
								
								Kernel: Make PhysicalRegion.cpp compile on aarch64  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								627fd231d5 
								
							 
						 
						
							
							
								
								Kernel: Make Region.cpp compile on aarch64  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								a883079b29 
								
							 
						 
						
							
							
								
								Kernel: Add missing new/delete and kcalloc to dummy.cpp  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								031b0c76b5 
								
							 
						 
						
							
							
								
								Kernel: Re-add dummy.cpp and remove duplicate definitions  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								d50e237281 
								
							 
						 
						
							
							
								
								Kernel: Add idle_thread() to aarch64 Processor.h  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								026efae8a8 
								
							 
						 
						
							
							
								
								Kernel: Add PAGE_MASK to an aarch64 CPU header  
							
							
							
						 
						
							2022-04-02 19:34:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								086969277e 
								
							 
						 
						
							
							
								
								Everywhere: Run clang-format  
							
							
							
						 
						
							2022-04-01 21:24:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								1e82c2708d 
								
							 
						 
						
							
							
								
								Kernel: Support all AMD-defined CPUID feature flags for EAX=80000001h  
							
							... 
							
							
							
							We're now able to detect all the AMD-defined CPUID feature flags from
ECX/EDX for EAX=80000001h :^) 
							
						 
						
							2022-03-27 18:54:56 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								96e6420d8d 
								
							 
						 
						
							
							
								
								Kernel: Support all Intel-defined extended CPUID feature flags for EAX=7  
							
							... 
							
							
							
							We're now able to detect all the extended CPUID feature flags from
EBX/ECX/EDX for EAX=7 :^) 
							
						 
						
							2022-03-27 18:54:56 +02:00