You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andre Richter 48e4d135c2
Refactor tutorial 08
4 years ago
..
.vscode Switch to rust-analyzer 4 years ago
src Refactor tutorial 08 4 years ago
Cargo.lock Bump to register 0.5.x 4 years ago
Cargo.toml Bump to register 0.5.x 4 years ago
Makefile Refactor tutorial 08 4 years ago
README.md Refactor tutorial 08 4 years ago
kernel Refactor tutorial 08 4 years ago
kernel8.img Refactor tutorial 08 4 years ago

README.md

Tutorial 08 - Timestamps

tl;dr

We add abstractions for the architectural timer, implement it for aarch64 and use it to annotate prints with timestamps; A warn!() macro is added.

Test it

Check it out via chainboot (added in previous tutorial):

$ make chainboot
[...]
Minipush 1.0

[MP] ⏳ Waiting for /dev/ttyUSB0
[MP] ✅ Connected
 __  __ _      _ _                 _
|  \/  (_)_ _ (_) |   ___  __ _ __| |
| |\/| | | ' \| | |__/ _ \/ _` / _` |
|_|  |_|_|_||_|_|____\___/\__,_\__,_|

           Raspberry Pi 3

[ML] Requesting binary
[MP] ⏩ Pushing 12 KiB =========================================🦀 100% 0 KiB/s Time: 00:00:00
[ML] Loaded! Executing the payload now

[    0.586140] Booting on: Raspberry Pi 3
[    0.587227] Architectural timer resolution: 52 ns
[    0.589530] Drivers loaded:
[    0.590876]       1. BCM GPIO
[    0.592309]       2. BCM PL011 UART
[W   0.594005] Spin duration smaller than architecturally supported, skipping
[    0.597392] Spinning for 1 second
[    1.599001] Spinning for 1 second
[    2.599872] Spinning for 1 second

Diff to previous