4cb6f29e0d 
								
							 
						 
						
							
							
								
								Clean up boot-order  
							
							... 
							
							
							
							Extract shared code, fix comments. 
							
						 
						
							2020-11-20 03:08:40 +02:00  
				
					
						
							
							
								 
						
							
								43d5e4ea21 
								
							 
						 
						
							
							
								
								Suppress clippy warning  
							
							... 
							
							
							
							For now, no api change. 
							
						 
						
							2020-11-19 14:50:52 +02:00  
				
					
						
							
							
								 
						
							
								3147e5327a 
								
							 
						 
						
							
							
								
								Add display demo in main  
							
							
							
						 
						
							2020-11-19 04:05:52 +02:00  
				
					
						
							
							
								 
						
							
								e72fac01b0 
								
							 
						 
						
							
							
								
								Add Display output  
							
							
							
						 
						
							2020-11-19 04:05:52 +02:00  
				
					
						
							
							
								 
						
							
								2ac804793b 
								
							 
						 
						
							
							
								
								Add minimal RPi power management  
							
							... 
							
							
							
							* Turn the board off
* Reboot the board 
							
						 
						
							2020-11-18 02:29:09 +02:00  
				
					
						
							
							
								 
						
							
								367ad5bbb2 
								
							 
						 
						
							
							
								
								Adjust for nightly rustfmt bug  
							
							... 
							
							
							
							See https://github.com/rust-lang/rustfmt/issues/4528 
for the bug description, namely rustfmt removes
this comment completely if it's left in the
extern block. 
							
						 
						
							2020-11-17 22:56:56 +02:00  
				
					
						
							
							
								 
						
							
								5dffa9eb8e 
								
							 
						 
						
							
							
								
								Add PL011 UART  
							
							
							
						 
						
							2020-11-14 22:15:52 +02:00  
				
					
						
							
							
								 
						
							
								d124b02e7c 
								
							 
						 
						
							
							
								
								Add set_clock_rate mailbox command  
							
							
							
						 
						
							2020-11-14 22:15:52 +02:00  
				
					
						
							
							
								 
						
							
								e8da38e04f 
								
							 
						 
						
							
							
								
								Add qemu-gdb target  
							
							... 
							
							
							
							Refactor QEMU runners. 
							
						 
						
							2020-11-14 17:59:50 +02:00  
				
					
						
							
							
								 
						
							
								7604f7c166 
								
							 
						 
						
							
							
								
								Add cargo expand task  
							
							
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								09003a7da2 
								
							 
						 
						
							
							
								
								Traps: print more detailed exception report  
							
							
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								373f4753dc 
								
							 
						 
						
							
							
								
								Disable alignment checks right on boot  
							
							... 
							
							
							
							Specifically, before we print any numbers - rust
core fmt_u64 uses a little optimisation that
ldrh/strh to unaligned addresses. 
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								482c62d341 
								
							 
						 
						
							
							
								
								Change mmu detail printer formatting  
							
							... 
							
							
							
							Print mmu features before and after init. 
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								df0510266e 
								
							 
						 
						
							
							
								
								Fix formatting  
							
							
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								dc2a73f6c6 
								
							 
						 
						
							
							
								
								Provide memory intrinsics via compiler builtins  
							
							... 
							
							
							
							Use unstable feature to remove rlibc crate dependency. 
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								bfba78118f 
								
							 
						 
						
							
							
								
								Move build-std flags to cargo config  
							
							
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								aac05a8776 
								
							 
						 
						
							
							
								
								Increase stack print buffer size to print test panics  
							
							... 
							
							
							
							Tests may write pretty long messages in panic output. 
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								50d9caa5f6 
								
							 
						 
						
							
							
								
								Set stack pointer immediately upon boot  
							
							
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								20c7c8bd7e 
								
							 
						 
						
							
							
								
								Refactor non-DRY boot code  
							
							
							
						 
						
							2020-11-14 17:33:43 +02:00  
				
					
						
							
							
								 
						
							
								79028dba96 
								
							 
						 
						
							
							
								
								Add nm helper target  
							
							
							
						 
						
							2020-11-04 22:24:39 +02:00  
				
					
						
							
							
								 
						
							
								6da44a69ac 
								
							 
						 
						
							
							
								
								Improve gdb runner  
							
							
							
						 
						
							2020-11-04 22:24:34 +02:00  
				
					
						
							
							
								 
						
							
								d38661b63f 
								
							 
						 
						
							
							
								
								Add openocd/gdb targets to makefile  
							
							... 
							
							
							
							Refactor build system scripts a bit. 
							
						 
						
							2020-11-03 19:29:43 +02:00  
				
					
						
							
							
								 
						
							
								3415ccd68c 
								
							 
						 
						
							
							
								
								Add JTAG helpers  
							
							
							
						 
						
							2020-11-03 14:03:22 +02:00  
				
					
						
							
							
								 
						
							
								c378250aba 
								
							 
						 
						
							
							
								
								Init serial before the rest  
							
							... 
							
							
							
							So we could see output from all modules. 
							
						 
						
							2020-11-02 20:55:18 +02:00  
				
					
						
							
							
								 
						
							
								d342031331 
								
							 
						 
						
							
							
								
								Add kernel global CONSOLE  
							
							... 
							
							
							
							Init it with mini_uart - nothing else is implemented yet. 
							
						 
						
							2020-10-28 21:38:53 +02:00  
				
					
						
							
							
								 
						
							
								ab696eca8e 
								
							 
						 
						
							
							
								
								Implement Error type for traps module  
							
							... 
							
							
							
							Recommended by the clippy lint
https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err 
Using snafu because it already has a no_std feature
unlike thiserror. 
							
						 
						
							2020-10-28 21:38:53 +02:00  
				
					
						
							
							
								 
						
							
								fef66a0191 
								
							 
						 
						
							
							
								
								Bump cortex-a dependency to released version  
							
							
							
						 
						
							2020-10-28 21:38:53 +02:00  
				
					
						
							
							
								 
						
							
								cecddea41e 
								
							 
						 
						
							
							
								
								Add mini_uart implementation  
							
							
							
						 
						
							2020-10-27 19:33:23 +02:00  
				
					
						
							
							
								 
						
							
								7a46d7d993 
								
							 
						 
						
							
							
								
								Add a dummy Console device  
							
							
							
						 
						
							2020-10-27 19:32:54 +02:00  
				
					
						
							
							
								 
						
							
								9f06e2f1a5 
								
							 
						 
						
							
							
								
								Add clippy features matrix  
							
							... 
							
							
							
							Run clippy on all available feature combos. 
							
						 
						
							2020-10-27 13:09:21 +02:00  
				
					
						
							
							
								 
						
							
								201cf1e4af 
								
							 
						 
						
							
							
								
								Add noserial feature flag  
							
							
							
						 
						
							2020-10-27 11:34:56 +02:00  
				
					
						
							
							
								 
						
							
								ea75413df0 
								
							 
						 
						
							
							
								
								Add looping/delay helpers  
							
							
							
						 
						
							2020-10-27 11:34:36 +02:00  
				
					
						
							
							
								 
						
							
								41eed8e412 
								
							 
						 
						
							
							
								
								Add GPIO support  
							
							
							
						 
						
							2020-10-25 22:57:38 +02:00  
				
					
						
							
							
								 
						
							
								0def5a4687 
								
							 
						 
						
							
							
								
								Split test failure printing in two parts  
							
							... 
							
							
							
							Due to static buffer size the panic info might not fit. We still
want to print [failed] message in this case though. 
							
						 
						
							2020-10-25 22:21:42 +02:00  
				
					
						
							
							
								 
						
							
								79baa20eb6 
								
							 
						 
						
							
							
								
								Adjust indentation in debug output  
							
							
							
						 
						
							2020-10-25 22:21:40 +02:00  
				
					
						
							
							
								 
						
							
								e19177da52 
								
							 
						 
						
							
							
								
								Add FrameBuffer configuration  
							
							
							
						 
						
							2020-10-25 04:11:27 +03:00  
				
					
						
							
							
								 
						
							
								c3d8424a46 
								
							 
						 
						
							
							
								
								Update cortex-a dependency  
							
							... 
							
							
							
							While we wait for merge of master repository PRs. 
							
						 
						
							2020-10-24 18:08:20 +03:00  
				
					
						
							
							
								 
						
							
								6ae59124a6 
								
							 
						 
						
							
							
								
								Add MailboxOps trait  
							
							
							
						 
						
							2020-10-21 16:28:08 +03:00  
				
					
						
							
							
								 
						
							
								e6d4bf6095 
								
							 
						 
						
							
							
								
								Improve test runner  
							
							
							
						 
						
							2020-10-21 14:25:31 +03:00  
				
					
						
							
							
								 
						
							
								d572b2c297 
								
							 
						 
						
							
							
								
								Move panics to separate module  
							
							... 
							
							
							
							Add special panic code for QEMU tests. 
							
						 
						
							2020-10-21 14:25:31 +03:00  
				
					
						
							
							
								 
						
							
								6c5d7a13fc 
								
							 
						 
						
							
							
								
								Add more information to READMEs  
							
							... 
							
							
							
							https://scarfolk.blogspot.com/  
						
							2020-10-21 05:52:08 +03:00  
				
					
						
							
							
								 
						
							
								fb7f86abf0 
								
							 
						 
						
							
							
								
								Add DMA_ALLOCATOR  
							
							
							
						 
						
							2020-10-21 05:52:08 +03:00  
				
					
						
							
							
								 
						
							
								e48316cc4b 
								
							 
						 
						
							
							
								
								Add mailbox module  
							
							
							
						 
						
							2020-10-21 05:52:08 +03:00  
				
					
						
							
							
								 
						
							
								97e2c09871 
								
							 
						 
						
							
							
								
								Add bump_allocator for obtaining memory without freeing it  
							
							
							
						 
						
							2020-10-21 05:51:10 +03:00  
				
					
						
							
							
								 
						
							
								4672ddace6 
								
							 
						 
						
							
							
								
								Add mm module and move memory alignment functions there  
							
							
							
						 
						
							2020-10-20 05:40:26 +03:00  
				
					
						
							
							
								 
						
							
								4083e955d4 
								
							 
						 
						
							
							
								
								Add dummy synchronisation primitive  
							
							... 
							
							
							
							It is used yet on single-core single-thread system.
Once more threads and more cores are active, better
synchronisation primitives will be introduced. 
							
						 
						
							2020-10-20 05:40:25 +03:00  
				
					
						
							
							
								 
						
							
								88b0af44cb 
								
							 
						 
						
							
							
								
								Add Board Support for RPi3  
							
							
							
						 
						
							2020-10-20 05:39:50 +03:00  
				
					
						
							
							
								 
						
							
								c823b42447 
								
							 
						 
						
							
							
								
								Update license identification  
							
							
							
						 
						
							2020-10-17 22:32:16 +03:00  
				
					
						
							
							
								 
						
							
								0692c324af 
								
							 
						 
						
							
							
								
								Add trap handling and test  
							
							
							
						 
						
							2020-10-15 23:42:01 +03:00  
				
					
						
							
							
								 
						
							
								504dcd1f65 
								
							 
						 
						
							
							
								
								Update copyrights  
							
							
							
						 
						
							2020-10-15 23:04:01 +03:00  
				
					
						
							
							
								 
						
							
								458aba6652 
								
							 
						 
						
							
							
								
								Gate QEMU functions behind testing features  
							
							... 
							
							
							
							At least for now, it's not used anywhere else. 
							
						 
						
							2020-10-15 22:49:31 +03:00  
				
					
						
							
							
								 
						
							
								408857fcb6 
								
							 
						 
						
							
							
								
								Add documentation  
							
							
							
						 
						
							2020-10-15 22:49:31 +03:00  
				
					
						
							
							
								 
						
							
								4898ad3139 
								
							 
						 
						
							
							
								
								Move global options to main.rs  
							
							
							
						 
						
							2020-10-15 22:36:52 +03:00  
				
					
						
							
							
								 
						
							
								2f663f61de 
								
							 
						 
						
							
							
								
								Move stack start constant to linker script  
							
							
							
						 
						
							2020-10-15 22:36:52 +03:00  
				
					
						
							
							
								 
						
							
								ded53c16a7 
								
							 
						 
						
							
							
								
								Add MMU init code  
							
							... 
							
							
							
							Switch to cortex-a git version temporarily
(waiting for PR to be merged) with support
for all necessary registers. 
							
						 
						
							2020-10-15 22:36:52 +03:00  
				
					
						
							
							
								 
						
							
								2ef8999daf 
								
							 
						 
						
							
							
								
								Remove not necessary inline attributes  
							
							... 
							
							
							
							Now with the bug fixed we can optimise this code for size. 
							
						 
						
							2020-10-13 22:16:19 +03:00  
				
					
						
							
							
								 
						
							
								44ef31ff77 
								
							 
						 
						
							
							
								
								Add missed clobbered registers in asm block  
							
							... 
							
							
							
							Fixes mis-compilation described in rust-lang/rust#68812 . 
							
						 
						
							2020-10-13 22:14:32 +03:00  
				
					
						
							
							
								 
						
							
								44037398d4 
								
							 
						 
						
							
							
								
								Add hopper make target  
							
							... 
							
							
							
							hopper is useful for inspecting kernel disassembly. 
							
						 
						
							2020-10-07 21:23:23 +03:00  
				
					
						
							
							
								 
						
							
								d453d60e19 
								
							 
						 
						
							
							
								
								Bump qemu-exit to version 1.0  
							
							
							
						 
						
							2020-10-07 13:00:30 +03:00  
				
					
						
							
							
								 
						
							
								041c4add0d 
								
							 
						 
						
							
							
								
								Bump r0 to version 1.0  
							
							
							
						 
						
							2020-10-07 13:00:28 +03:00  
				
					
						
							
							
								 
						
							
								4cc5305dc8 
								
							 
						 
						
							
							
								
								Prepare scripts for windows CI runner  
							
							
							
						 
						
							2020-10-06 19:27:50 +03:00  
				
					
						
							
							
								 
						
							
								af1cc83530 
								
							 
						 
						
							
							
								
								Add testing framework  
							
							... 
							
							
							
							Based on os.phil-opp.com ideas it includes running test framework in
qemu semihosting mode so that tests can indicate pass or fail to calling
process.
GitHub Actions are configured to run these tests and validate acceptance.
Add test-runner target to perform tests in qemu.
Add -nographic for qemu running tests.
Drop serial for qemu tests as well. 
							
						 
						
							2020-10-06 19:27:50 +03:00  
				
					
						
							
							
								 
						
							
								9fd9612b77 
								
							 
						 
						
							
							
								
								Fix entry point to always start a binary  
							
							... 
							
							
							
							Keep vectors table.
Do not keep boot data if not referenced. 
							
						 
						
							2020-09-21 04:01:21 +03:00  
				
					
						
							
							
								 
						
							
								cd16b733e9 
								
							 
						 
						
							
							
								
								Add non-allocating formatted write implementation  
							
							
							
						 
						
							2020-09-21 04:01:18 +03:00  
				
					
						
							
							
								 
						
							
								f485629fb6 
								
							 
						 
						
							
							
								
								Add boot code for RPi and QEMU  
							
							
							
						 
						
							2020-09-21 04:01:17 +03:00  
				
					
						
							
							
								 
						
							
								668296b8e0 
								
							 
						 
						
							
							
								
								Fix clippy warning  
							
							
							
						 
						
							2020-08-10 00:34:49 +03:00  
				
					
						
							
							
								 
						
							
								a4a3289712 
								
							 
						 
						
							
							
								
								Add GH Actions build workflow  
							
							
							
						 
						
							2020-08-10 00:34:49 +03:00  
				
					
						
							
							
								 
						
							
								57e4b81e1c 
								
							 
						 
						
							
							
								
								Implement power-efficient sleep after boot-up  
							
							... 
							
							
							
							* arch-based crates, inspired by Redox
* Do not burn cpu uselessly.
* Start using cortex-a registers.
* Important: initialise stack pointer! 
							
						 
						
							2020-08-09 22:00:36 +03:00  
				
					
						
							
							
								 
						
							
								57fc6e5aa5 
								
							 
						 
						
							
							
								
								Add QEMU configuration  
							
							
							
						 
						
							2020-08-09 19:40:57 +03:00  
				
					
						
							
							
								 
						
							
								cb814b353b 
								
							 
						 
						
							
							
								
								Add Raspberry Pi target configuration  
							
							... 
							
							
							
							* Use rlibc for memset/memcpy
* Create linker script for raspberry pi 3
* Add aarch64 target file inspired by Robigalia
* Force bitcode embedding for LTO 
							
						 
						
							2020-08-09 19:35:09 +03:00  
				
					
						
							
							
								 
						
							
								a57833d2b1 
								
							 
						 
						
							
							
								
								Add basic structure  
							
							... 
							
							
							
							* Add default License
* Keep a changelog
* Add Code of Conduct
* Build tests as optimized for size ('s')
  * Otherwise boot code goes bonkers in qemu 
							
						 
						
							2020-08-09 19:33:34 +03:00