Berkus Decker
7def43ad97
Update gitpod configuration
...
According to some setup docs and example in workspace-full Dockerfile.
2020-11-24 21:01:40 +02:00
Berkus Decker
32a738994d
Merge pull-request #47 from metta-systems:fix/bind-qemu-version to develop
...
Don't install rc version of qemu on windows
Who even decided that intalling rc by default is a good idea?
[close #47 ]
2020-11-24 19:51:54 +02:00
Berkus Decker
c174ad204b
Don't install rc version of qemu on windows
...
Who even decided that intalling rc by default is a good idea?
2020-11-24 17:54:36 +02:00
Berkus Decker
1c37e0dfba
Merge pull-request #41 from metta-systems:feature/add-menus to develop
...
Feature/add menus
Add serial-driven menu system for playing with kernel features.
[close #41 ]
2020-11-20 05:03:02 +02:00
Berkus Decker
f3103126ab
Add simple serial menu for playing with kernel
2020-11-20 04:35:06 +02:00
Berkus Decker
42c3ace1fa
Merge pull-request #39 from metta-systems:fix/bootup-cleanup to develop
...
Fix/bootup cleanup
[close #39 ]
2020-11-20 04:01:57 +02:00
Berkus Decker
b4205f5ce6
Revert “Adjust for nightly rustfmt bug”
...
367ad5bbb2
https://github.com/rust-lang/rustfmt/issues/4528
is now fixed.
2020-11-20 03:09:43 +02:00
Berkus Decker
d85d824bfd
Switch on MMU immediately to avoid unaligned access
...
Since enabling armv6 unaligned access bit U in CP15 C1
requires AArch32 assembly and I don't want to introduce
yet another boot stub, I'll just initialize MMU right away
- this causes CPU to treat SCTLR_EL1.A differently and not
cause any alignment faults.
In the future, a small AArch32 boot stub that uses
now commented out fn enable_armv6_unaligned_access()
should be used to set U=1 and A=0 for full unaligned
access even when MMU is off. See ARM documentation
linked from that fn.
2020-11-20 03:09:43 +02:00
Berkus Decker
1de52fa109
Disable stack align checks
...
As with data align checks lets not fault on this yet.
2020-11-20 03:09:00 +02:00
Berkus Decker
696307f30c
Improve traps printing
2020-11-20 03:08:40 +02:00
Berkus Decker
4cb6f29e0d
Clean up boot-order
...
Extract shared code, fix comments.
2020-11-20 03:08:40 +02:00
Berkus Decker
8265b06474
Merge pull-request #38 from metta-systems:feature/display-output to develop
...
Feature/display output
[close #38 ]
2020-11-19 15:19:39 +02:00
Berkus Decker
43d5e4ea21
Suppress clippy warning
...
For now, no api change.
2020-11-19 14:50:52 +02:00
Berkus Decker
3147e5327a
Add display demo in main
2020-11-19 04:05:52 +02:00
Berkus Decker
e72fac01b0
Add Display output
2020-11-19 04:05:52 +02:00
Berkus Decker
6896b7a1cc
Merge pull-request #34 from metta-systems:feature/power-management to develop
...
Add minimal RPi power management
* Turn the board off
* Reboot the board
[close #34 ]
2020-11-18 23:03:47 +02:00
Berkus Decker
2ac804793b
Add minimal RPi power management
...
* Turn the board off
* Reboot the board
2020-11-18 02:29:09 +02:00
Berkus Decker
6127b5d940
Merge pull-request #33 from metta-systems:fix/implement-gitpod-workspace to develop
...
Implement working gitpod workspace
For online development.
[close #33 ]
2020-11-18 02:27:52 +02:00
Berkus Decker
6050ca9e9d
Update gitpod configuration
...
* Build from proper image
* Add vscode extensions
2020-11-18 02:27:05 +02:00
Berkus Decker
4e45358339
Merge pull-request #37 from metta-systems:fix/github-actions-upgrade to develop
...
Switch PATH setting to new environment files
According to github update https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
[close #37 ]
2020-11-17 23:09:53 +02:00
Berkus Decker
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
Berkus Decker
53e68bf7b3
Switch PATH setting to new environment files
...
According to github update https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-11-17 22:56:56 +02:00
Berkus Decker
02124ed342
Merge pull-request #30 from metta-systems:feature/add-pl011-uart to develop
...
Feature/add pl011 uart
[close #30 ]
2020-11-14 23:55:42 +02:00
Berkus Decker
5dffa9eb8e
Add PL011 UART
2020-11-14 22:15:52 +02:00
Berkus Decker
d124b02e7c
Add set_clock_rate mailbox command
2020-11-14 22:15:52 +02:00
Berkus Decker
de8b24d504
Merge pull-request #32 from metta-systems:feature/add-qemu-gdb-target to develop
...
Add qemu-gdb target
Refactor QEMU runners.
[close #32 ]
2020-11-14 22:15:18 +02:00
Berkus Decker
e8da38e04f
Add qemu-gdb target
...
Refactor QEMU runners.
2020-11-14 17:59:50 +02:00
Berkus Decker
91e8652abc
Merge pull-request #31 from metta-systems:fix/code-cleanup to develop
...
Fix/code cleanup
* Set stack pointer immediately upon entry
* Disable alignment checks before enabling MMU (rust core lib likes to do unaligned half-word accesses from its fmt_u64 routine, which we use a lot)
* Print more detailed reports in kernel exception handler
* Clean up makefiles
* Dry up boot code
* Move build-std flags to cargo config, as they apply to all of the cargo invocations
* Remove rlibc dependency, use compiler built-ins instead
[close #31 ]
2020-11-14 17:59:14 +02:00
Berkus Decker
7604f7c166
Add cargo expand task
2020-11-14 17:33:43 +02:00
Berkus Decker
f07f130132
Add comments to justfile commands
2020-11-14 17:33:43 +02:00
Berkus Decker
09003a7da2
Traps: print more detailed exception report
2020-11-14 17:33:43 +02:00
Berkus Decker
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
Berkus Decker
482c62d341
Change mmu detail printer formatting
...
Print mmu features before and after init.
2020-11-14 17:33:43 +02:00
Berkus Decker
df0510266e
Fix formatting
2020-11-14 17:33:43 +02:00
Berkus Decker
dc2a73f6c6
Provide memory intrinsics via compiler builtins
...
Use unstable feature to remove rlibc crate dependency.
2020-11-14 17:33:43 +02:00
Berkus Decker
bfba78118f
Move build-std flags to cargo config
2020-11-14 17:33:43 +02:00
Berkus Decker
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
Berkus Decker
50d9caa5f6
Set stack pointer immediately upon boot
2020-11-14 17:33:43 +02:00
Berkus Decker
20c7c8bd7e
Refactor non-DRY boot code
2020-11-14 17:33:43 +02:00
Berkus Decker
79028dba96
Add nm helper target
2020-11-04 22:24:39 +02:00
Berkus Decker
6da44a69ac
Improve gdb runner
2020-11-04 22:24:34 +02:00
Berkus Decker
1776dac439
Increase CI build timeout even more
...
Delays are growing!
2020-11-04 22:24:30 +02:00
Berkus Decker
a5eeacf19b
Merge pull-request #29 from metta-systems:feature/jtag-debugging to develop
...
Feature/jtag debugging
Add JTAG setup docs and try running with probe.rs
[close #29 ]
2020-11-03 20:23:51 +02:00
Berkus Decker
d4356434a0
Increase CI build timeout
2020-11-03 19:49:39 +02:00
Berkus Decker
d38661b63f
Add openocd/gdb targets to makefile
...
Refactor build system scripts a bit.
2020-11-03 19:29:43 +02:00
Berkus Decker
2a4eb20131
Add explicit noload flag to BSS section
2020-11-03 14:03:22 +02:00
Berkus Decker
3415ccd68c
Add JTAG helpers
2020-11-03 14:03:22 +02:00
Berkus Decker
c378250aba
Init serial before the rest
...
So we could see output from all modules.
2020-11-02 20:55:18 +02:00
Berkus Decker
1fedc95d42
Add JTAG documentation
...
This is old and tried docs from my RPi debugging setup with JTAG,
the next chapter with probe.rs is to be written.
2020-11-02 20:55:18 +02:00
Berkus Decker
ec27898830
Merge pull-request #28 from metta-systems:feature/add-mini-uart to develop
...
Feature/add mini uart
[close #28 ]
2020-10-29 01:13:37 +02:00