Commit Graph

71 Commits

Author SHA1 Message Date
Berkus Decker 7a46d7d993 Add a dummy Console device 2020-10-27 19:32:54 +02:00
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