587 Commits (f81eb7428d06fa11b6788231ed0e84eea6fad59b)
 

Author SHA1 Message Date
Andre Richter f81eb7428d
Adapt tutorial numbers 3 years ago
Andre Richter 2432c0d283
Revert to assembly boot code
It is too risky to rely on the compiler to not insert any operations using the
stack.

Having a stack-setting call in Rust using the cortex-a crate as the first action
in a Rust-only _start() function does not work if you're subsequently using the
stack, because the compiler often inserts the operations to make room on the
stack to prepare a function call BEFORE the call to set the stack, which crashes
the boot process.

Hence, keep on using a small piece of assembly boot code throughout.
3 years ago
Andre Richter 6a9af3c202
change static type 3 years ago
Andre Richter 5887503f8a
Fix explanation 3 years ago
Andre Richter 223989adb9
Overhaul linker script 3 years ago
Andre Richter fa4a2de331
MMIODescriptors are always physical 3 years ago
Andre Richter d09374710d
Some rework on virtual memory code
- Mostly more spearation of concerns in 15.
- Cleanups in other parts.
3 years ago
Andre Richter eb2bee6bb1
newline 3 years ago
Andre Richter e7b890c084
test fix for CI tput errors 3 years ago
Andre Richter 2f90304149
Add color and verbosity to Makefile 3 years ago
Andre Richter 5e65a80145
Rework conditional compilation for lib.rs for tests 3 years ago
Andre Richter e451d9d62c
Fix accidentally commited temp change 3 years ago
Andre Richter aeadda4b7e
Bump dependencies 3 years ago
Andre Richter 6db8b2bc72
Update toolchain 3 years ago
Andre Richter 9d74e021ef
Docker utils: Bump various versions 3 years ago
Kaifoon 8ee50a2f8b Update README.CN.md
update filename `memory.ts` to `memory.rs`
3 years ago
Andre Richter a5884321a7
Fix rustdoc warnings 3 years ago
Andre Richter dc9b3c0f38
Add isb before timer read 3 years ago
Andre Richter 8324b1fdac
PL011: Use BUSY bit
Fixes #100
3 years ago
Andre Richter c8e9b9713f
update deps 3 years ago
Andre Richter e7cb61b389
Refactoring
- Don't wildcard-import from arch modules. Make it explicit.
- Put translation table code into its own module.
- Put boot code in boot.rs instead of cpu.rs
- Other minor changes, most memory subsystem.
3 years ago
Andre Richter e815b34603
Update READMEs 3 years ago
Andre Richter 4d1f84bbff
Add pull request template 3 years ago
Andre Richter c35a30cd0b Bump UART to 921_600 baud + other bugfixes
Fixes #95
Fixes #98

Co-authored-by: Takumasa Sakao <sakataku7@gmail.com>
3 years ago
Andre Richter ff382c3faf
Remove comment 3 years ago
Andre Richter f2a891236e
Remove unused feature 3 years ago
Andre Richter ee52e8e288
Bump UART to 576000 baud 3 years ago
Andre Richter 269df3e25d
Update toolchain 3 years ago
Andre Richter fb33dddacf
Copyright update, again 3 years ago
Andre Richter 1d2b5ad022
Memory Mapping: Improve various aspects 3 years ago
Andre Richter 9b89f297d7
Update dependencies 3 years ago
Andre Richter 44bb3f8942
Update copyright year 3 years ago
Andre Richter cf34736f55
update deps 3 years ago
Andre Richter 4618858f45
Update panic_wait.rs 3 years ago
Andre Richter 4caf880e0c
Update README 3 years ago
Andre Richter 53c1163c51
01: Remove LTO to fix linking bug.
For some reason, LTO caused "_start" to start at 0x00080020
instead of 0x00080000.
3 years ago
Andre Richter 18c7259c60
Default to externally powered RPis
Addresses issues in #86
3 years ago
Andre Richter dad68abdc6
Update dependencies 3 years ago
Andre Richter b74a931d01
Update minipush.rb
Fixes #89
4 years ago
myl7 3a430163b5 Remove redundant spaces. 4 years ago
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.
4 years ago
Andre Richter d2fd4913ae
CI: Ignore rust-toolchain and use latest nightly 4 years ago
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
4 years ago
Andre Richter 6eafd7c81e
Bump rubocop version; Fix issues 4 years ago
Andre Richter e8d30392d0
Add LTO 4 years ago
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.
4 years ago
Andre Richter 537f8b0386
readme updates 4 years ago
Andre Richter bd16dfe4b3
Demangle++: Pipe through rustfilt 4 years ago
Andre Richter d6a1fad628
Bump compiler version 4 years ago
Andre Richter 5c193d5803
Change to a simpler mutex API 4 years ago