Commit Graph

220 Commits

Author SHA1 Message Date
Berkus Decker 9f06e2f1a5 Add clippy features matrix
Run clippy on all available feature combos.
2020-10-27 13:09:21 +02:00
Berkus Decker 201cf1e4af Add noserial feature flag 2020-10-27 11:34:56 +02:00
Berkus Decker ea75413df0 Add looping/delay helpers 2020-10-27 11:34:36 +02:00
Berkus Decker 7adf3e1629 Merge pull-request #26 from metta-systems:feature/add-gpio to develop
Feature/add gpio

[close #26]
2020-10-26 01:01:58 +02:00
Berkus Decker 41eed8e412 Add GPIO support 2020-10-25 22:57:38 +02:00
Berkus Decker 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
Berkus Decker 79baa20eb6 Adjust indentation in debug output 2020-10-25 22:21:40 +02:00
Berkus Decker 149245f411 Merge pull-request #24 from metta-systems:feature/add-fb-interface to develop
Feature/add fb interface

[close #24]
2020-10-25 20:43:04 +02:00
Berkus Decker e19177da52 Add FrameBuffer configuration 2020-10-25 04:11:27 +03:00
Berkus Decker 082a1c29e7 Merge pull-request #25 from metta-systems:feature/deps.rs-badge to develop
Add deps.rs dependency status badge

[close #25]
2020-10-25 03:10:38 +02:00
Berkus Decker 1f9565b239 Add deps.rs dependency status badge 2020-10-25 03:46:13 +03:00
Berkus Decker 4da36b8d5e Merge pull-request #23 from metta-systems:feature/add-rpi3-mailboxes to develop
Feature/add support for RPi3 mailbox interface

[close #23]
2020-10-25 03:38:45 +03:00
Berkus Decker c3d8424a46 Update cortex-a dependency
While we wait for merge of master repository PRs.
2020-10-24 18:08:20 +03:00
Berkus Decker 6ae59124a6 Add MailboxOps trait 2020-10-21 16:28:08 +03:00
Berkus Decker e6d4bf6095 Improve test runner 2020-10-21 14:25:31 +03:00
Berkus Decker d572b2c297 Move panics to separate module
Add special panic code for QEMU tests.
2020-10-21 14:25:31 +03:00
Berkus Decker 6c5d7a13fc Add more information to READMEs
https://scarfolk.blogspot.com/
2020-10-21 05:52:08 +03:00
Berkus Decker fb7f86abf0 Add DMA_ALLOCATOR 2020-10-21 05:52:08 +03:00
Berkus Decker e48316cc4b Add mailbox module 2020-10-21 05:52:08 +03:00
Berkus Decker 97e2c09871 Add bump_allocator for obtaining memory without freeing it 2020-10-21 05:51:10 +03:00
Berkus Decker 4672ddace6 Add mm module and move memory alignment functions there 2020-10-20 05:40:26 +03:00
Berkus Decker 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
Berkus Decker 88b0af44cb Add Board Support for RPi3 2020-10-20 05:39:50 +03:00
Berkus Decker c823b42447 Update license identification 2020-10-17 22:32:16 +03:00
Berkus Decker 07aef5f2cc Merge pull-request #21 from metta-systems:feature/init-xcp to develop
Feature/init xcp
Basic exception handling - just able to take exception, forward it to rust function and return successfully.

Better handlers will be implemented when actual exception handling starts.

[close #21]
2020-10-16 00:10:43 +03:00
Berkus Decker 0692c324af Add trap handling and test 2020-10-15 23:42:01 +03:00
Berkus Decker 504dcd1f65 Update copyrights 2020-10-15 23:04:01 +03:00
Berkus Decker 2a4cfd4184 Merge pull-request #20 from metta-systems:feature/init-mmu to develop
Feature/init mmu
Map kernel memory from a statically generated memory map.

DTB support to be included in future versions.

[close #20]
2020-10-15 23:03:33 +03:00
Berkus Decker 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
Berkus Decker 408857fcb6 Add documentation 2020-10-15 22:49:31 +03:00
Berkus Decker 4898ad3139 Move global options to main.rs 2020-10-15 22:36:52 +03:00
Berkus Decker 2f663f61de Move stack start constant to linker script 2020-10-15 22:36:52 +03:00
Berkus Decker 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
Berkus Decker f85020ef4e Merge pull-request #19 from metta-systems:fix/miscompiled to develop
Fix miscompiled code

[close #19]
2020-10-13 22:38:03 +03:00
Berkus Decker 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
Berkus Decker 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
Berkus Decker 589696a500 Merge pull-request #17 from metta-systems:feature/hopper-disasm to develop
Add hopper make target
hopper is useful for inspecting kernel disassembly.

[close #17]
2020-10-08 02:38:56 +03:00
Berkus Decker 7e4bf75495 Add README section about disasm
Change section headings for better visibility.
2020-10-07 23:11:29 +03:00
Berkus Decker 44037398d4 Add hopper make target
hopper is useful for inspecting kernel disassembly.
2020-10-07 21:23:23 +03:00
Berkus Decker dd2938fa2f Merge pull-request #16 from metta-systems:feature/add-fossa-badge to develop
Add license scan badge
Replaces #3

[close #16]
2020-10-07 14:54:57 +03:00
Berkus Decker bd428133d9 Add license scan badge 2020-10-07 14:53:41 +03:00
Berkus Decker 684ed4e842 Merge pull-request #5 from metta-systems:berkus/gitpod-setup to develop
Add gitpod config
this commit adds support for Gitpod.io, a free automated
dev environment that makes contributing and generally working on GitHub
projects much easier. It allows anyone to start a ready-to-code dev
environment for any branch, issue and pull request with a single click.

[close #5]
2020-10-07 14:39:07 +03:00
Berkus Decker 4f616302d5 Add gitpod config
this commit adds support for Gitpod.io, a free automated
dev environment that makes contributing and generally working on GitHub
projects much easier. It allows anyone to start a ready-to-code dev
environment for any branch, issue and pull request with a single click.
2020-10-07 13:47:26 +03:00
Berkus Decker 91a14f2792 Merge pull-request #15 from metta-systems:fix/bump-dependencies to develop
Bump dependencies
Fixes #11
Fixes #12

[close #15]
2020-10-07 13:38:39 +03:00
Berkus Decker d453d60e19 Bump qemu-exit to version 1.0 2020-10-07 13:00:30 +03:00
Berkus Decker 041c4add0d Bump r0 to version 1.0 2020-10-07 13:00:28 +03:00
Berkus Decker c284b4bd48 Merge pull-request #10 from metta-systems:feature/add-testing-framework to develop
Add testing framework
- Implement enough to be able to run tests in qemu and report the results back.

[close #10]
2020-10-06 19:59:20 +03:00
Berkus Decker 4cc5305dc8 Prepare scripts for windows CI runner 2020-10-06 19:27:50 +03:00
Berkus Decker 50b0613f5c Use rust-objcopy tool
Since cargo-binutils 0.3.1 the `cargo objcopy` causes a build before
copying files, this doesn't work for test-runner.
We only need the actual objcopy tool, not the cargo infra here.
2020-10-06 19:27:50 +03:00
Berkus Decker 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