736 Commits (1541e000f873d39cf8e19d42922824bf23168944)
 

Author SHA1 Message Date
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.
4 years ago
Andre Richter 6a9af3c202
change static type 4 years ago
Andre Richter 5887503f8a
Fix explanation 4 years ago
Andre Richter 223989adb9
Overhaul linker script 4 years ago
Andre Richter fa4a2de331
MMIODescriptors are always physical 4 years ago
Andre Richter d09374710d
Some rework on virtual memory code
- Mostly more spearation of concerns in 15.
- Cleanups in other parts.
4 years ago
Andre Richter eb2bee6bb1
newline 4 years ago
Andre Richter e7b890c084
test fix for CI tput errors 4 years ago
Andre Richter 2f90304149
Add color and verbosity to Makefile 4 years ago
Andre Richter 5e65a80145
Rework conditional compilation for lib.rs for tests 4 years ago
Andre Richter e451d9d62c
Fix accidentally commited temp change 4 years ago
Andre Richter aeadda4b7e
Bump dependencies 4 years ago
Andre Richter 6db8b2bc72
Update toolchain 4 years ago
Andre Richter 9d74e021ef
Docker utils: Bump various versions 4 years ago
Kaifoon 8ee50a2f8b Update README.CN.md
update filename `memory.ts` to `memory.rs`
4 years ago
Andre Richter a5884321a7
Fix rustdoc warnings 4 years ago
Andre Richter dc9b3c0f38
Add isb before timer read 4 years ago
Andre Richter 8324b1fdac
PL011: Use BUSY bit
Fixes #100
4 years ago
Andre Richter c8e9b9713f
update deps 4 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.
4 years ago
Andre Richter e815b34603
Update READMEs 4 years ago
Andre Richter 4d1f84bbff
Add pull request template 4 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>
4 years ago
Andre Richter ff382c3faf
Remove comment 4 years ago
Andre Richter f2a891236e
Remove unused feature 4 years ago
Andre Richter ee52e8e288
Bump UART to 576000 baud 4 years ago
Andre Richter 269df3e25d
Update toolchain 4 years ago
Andre Richter fb33dddacf
Copyright update, again 4 years ago
Andre Richter 1d2b5ad022
Memory Mapping: Improve various aspects 4 years ago
Andre Richter 9b89f297d7
Update dependencies 4 years ago
Andre Richter 44bb3f8942
Update copyright year 4 years ago
Andre Richter cf34736f55
update deps 4 years ago
Andre Richter 4618858f45
Update panic_wait.rs 4 years ago
Andre Richter 4caf880e0c
Update README 4 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.
4 years ago
Andre Richter 18c7259c60
Default to externally powered RPis
Addresses issues in #86
4 years ago
Andre Richter dad68abdc6
Update dependencies 4 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
Andre Richter 02f9f34af3
More sound Phantom in MMIO deref wrapper 4 years ago