Commit Graph

758 Commits

Author SHA1 Message Date
Andre Richter
1d2b5ad022
Memory Mapping: Improve various aspects 2021-01-01 21:03:18 +01:00
Andre Richter
9b89f297d7
Update dependencies 2021-01-01 12:04:01 +01:00
Andre Richter
44bb3f8942
Update copyright year 2021-01-01 11:28:32 +01:00
Andre Richter
cf34736f55
update deps 2020-12-28 15:23:36 +01:00
Andre Richter
4618858f45
Update panic_wait.rs 2020-12-27 22:58:10 +01:00
Andre Richter
4caf880e0c
Update README 2020-12-27 00:35:47 +01:00
Andre Richter
53c1163c51
01: Remove LTO to fix linking bug.
For some reason, LTO caused "_start" to start at 0x00080020
instead of 0x00080000.
2020-12-27 00:20:24 +01:00
Andre Richter
18c7259c60
Default to externally powered RPis
Addresses issues in #86
2020-12-27 00:06:43 +01:00
Andre Richter
dad68abdc6
Update dependencies 2020-12-23 22:41:10 +01:00
Andre Richter
b74a931d01
Update minipush.rb
Fixes #89
2020-12-17 09:46:56 +01:00
myl7
3a430163b5 Remove redundant spaces. 2020-12-11 17:05:52 +01:00
Andre Richter
d212348931
Bump compiler version.
We have to remove the `#[naked]` attribute from `_start` for now, since it emits
a warning now when used with non-asm statements in the function body. For now,
just hope for the compiler's mercy to not emit code using the stack pointer
before we've actually set up a stack.
2020-12-09 22:27:30 +01:00
Andre Richter
d2fd4913ae
CI: Ignore rust-toolchain and use latest nightly 2020-12-09 21:45:10 +01:00
Andre Richter
709b67f1ce
Introduce rust-toolchain
Make use of the new format, introduced in
https://blog.rust-lang.org/2020/11/27/Rustup-1.23.0.html#new-format-for-rust-toolchain
2020-12-09 21:38:48 +01:00
Andre Richter
6eafd7c81e
Bump rubocop version; Fix issues 2020-11-23 22:52:01 +01:00
Andre Richter
e8d30392d0
Add LTO 2020-11-23 22:44:31 +01:00
Andre Richter
2c3f705051
Update dependencies
register-rs 1.0.0 now uses UnsafeCell internally, which means we lost the Copy
derive on InMemoryRegister.

Therefore, a small set of changes was needed in the MMU driver to dance around
the static array init depending on a Copy type.
2020-11-23 22:34:20 +01:00
Andre Richter
537f8b0386
readme updates 2020-11-20 22:34:04 +01:00
Andre Richter
bd16dfe4b3
Demangle++: Pipe through rustfilt 2020-11-20 22:27:21 +01:00
Andre Richter
d6a1fad628
Bump compiler version 2020-11-20 22:17:58 +01:00
Andre Richter
5c193d5803
Change to a simpler mutex API 2020-11-20 22:05:14 +01:00
Andre Richter
02f9f34af3
More sound Phantom in MMIO deref wrapper 2020-11-19 22:53:43 +01:00
Andre Richter
ae878182d7
Bump rubocop version; Fix issues 2020-11-14 10:25:00 +01:00
Andre Richter
163e2010ab
GPIO: Fix RPi4 driver init
The RPi4 GPIO pull-up/pull down sequence is done differently than on the
RPi3. Switch to using the correct way.

Also, configure pull-ups for both UART pins.

Fixes #81
2020-11-14 10:18:29 +01:00
Andre Richter
bb7800cf77
Update rubocop version 2020-11-08 23:50:20 +01:00
Andre Richter
4b8f6a6980
Fix wrong phony 2020-11-08 23:44:12 +01:00
Andre Richter
e1473099ff
Use miniterm instead of screen 2020-11-08 23:37:17 +01:00
Andre Richter
098e19ecc4
Fix zero-sized bss handling 2020-11-01 21:32:53 +01:00
Andre Richter
b30bc518c4
Switch to GCC objdump and nm
The GCC versions of `objdump` and `nm` seem to have better out-of-the-box
support (for AArch64). Demangling works better, and instructions in objdump are
presented as 4 bytes instead of 4 * 1 bytes, which helps a lot.

Hence, switch to the GCC versions for now until LLVM has caught up.
2020-11-01 15:58:05 +01:00
Andre Richter
19763f8840
Chainloader: Fix runtime_init indirection symbol 2020-10-29 17:29:58 +01:00
Andre Richter
eb69b6f861
More chainloader cleanup
closes #79
2020-10-28 23:10:01 +01:00
Andre Richter
3944bba140
Fix the chainloader 2020-10-28 16:29:50 +01:00
Andre Richter
80071ed5aa
Bump Ubuntu Docker Version; QEMU 2020-10-28 12:40:45 +01:00
Andre Richter
9e6ef76aeb
Make cortex-a platform specific dep 2020-10-28 11:45:28 +01:00
Andre Richter
e7a13e81b8
Upgrade to cortex-a 4.x.x 2020-10-28 11:27:43 +01:00
Andre Richter
690716e4af
add toml extension to .cargo/config file 2020-10-11 22:06:14 +02:00
Andre Richter
208f547f29
Remove needless extern C 2020-10-06 00:01:50 +02:00
Andre Richter
27a1d10cc3
Remove UB in linker script symbol <-> Rust handover 2020-10-05 23:47:18 +02:00
Andre Richter
8fc250fc08
Streamline READMEs 2020-10-04 22:30:07 +02:00
Andre Richter
72215fcdb5
Shorten tutorial names 2020-10-04 22:17:02 +02:00
Andre Richter
4caa0188c7
Add tutorial 15: MMIO Remap 2020-10-04 22:05:35 +02:00
Andre Richter
64658a6ce9
Bump toolchain version 2020-10-04 18:15:37 +02:00
Andre Richter
677b274a1f
Add a panic version of the GPIO to panic!() 2020-09-30 21:51:31 +02:00
Andre Richter
95c67afda2
update deps 2020-09-29 22:49:12 +02:00
Andre Richter
6a5f3758fa
Remove/reshuffle features 2020-09-29 22:48:04 +02:00
Andre Richter
7b0ae693c7
Switch to qemu-exit 1.0.x 2020-09-29 22:17:53 +02:00
Andre Richter
22faff5229
Various finetunings 2020-09-29 21:43:31 +02:00
Andre Richter
e7df5b2982
Use InMemoryRegister in MMU driver 2020-09-28 22:31:42 +02:00
Andre Richter
37b9d1435e
Move anything wrt linker symbols to bsp::memory
Also, some rewording of data types.
2020-09-28 21:45:38 +02:00
Andre Richter
af0214f0f6
State: Encapsulate state check into member function 2020-09-25 22:25:22 +02:00