Minor fixes

pull/112/head
Andre Richter 3 years ago
parent 9f1920c2c6
commit d296ad4aa4
No known key found for this signature in database
GPG Key ID: 2116C1AB102F615E

@ -18,7 +18,7 @@
## Code to look at ## Code to look at
- Custom `link.ld` linker script. - `BSP`-specific `link.ld` linker script.
- Load address at `0x8_0000` - Load address at `0x8_0000`
- Only `.text` section. - Only `.text` section.
- `main.rs`: Important [inner attributes]: - `main.rs`: Important [inner attributes]:

@ -25,4 +25,3 @@ path = "src/main.rs"
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -39,7 +39,7 @@ diff -uNr 01_wait_forever/Cargo.toml 02_runtime_init/Cargo.toml
authors = ["Andre Richter <andre.o.richter@gmail.com>"] authors = ["Andre Richter <andre.o.richter@gmail.com>"]
edition = "2018" edition = "2018"
@@ -21,3 +21,8 @@ @@ -21,3 +21,7 @@
##-------------------------------------------------------------------------------------------------- ##--------------------------------------------------------------------------------------------------
[dependencies] [dependencies]
@ -47,7 +47,6 @@ diff -uNr 01_wait_forever/Cargo.toml 02_runtime_init/Cargo.toml
+# Platform specific dependencies +# Platform specific dependencies
+[target.'cfg(target_arch = "aarch64")'.dependencies] +[target.'cfg(target_arch = "aarch64")'.dependencies]
+cortex-a = { version = "5.x.x" } +cortex-a = { version = "5.x.x" }
+
diff -uNr 01_wait_forever/Makefile 02_runtime_init/Makefile diff -uNr 01_wait_forever/Makefile 02_runtime_init/Makefile
--- 01_wait_forever/Makefile --- 01_wait_forever/Makefile

@ -25,4 +25,3 @@ path = "src/main.rs"
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -25,4 +25,3 @@ path = "src/main.rs"
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

@ -4,7 +4,7 @@ version = "0.12.0"
authors = ["Andre Richter <andre.o.richter@gmail.com>"] authors = ["Andre Richter <andre.o.richter@gmail.com>"]
edition = "2018" edition = "2018"
# TODO: Fixme # TODO: FIXME
# LTO seems to kill the console integration test (empty text section). Disable until a fix is found. # LTO seems to kill the console integration test (empty text section). Disable until a fix is found.
[profile.release] [profile.release]
lto = false lto = false

@ -818,7 +818,7 @@ diff -uNr 11_exceptions_part1_groundwork/.cargo/config.toml 12_integrated_testin
diff -uNr 11_exceptions_part1_groundwork/Cargo.toml 12_integrated_testing/Cargo.toml diff -uNr 11_exceptions_part1_groundwork/Cargo.toml 12_integrated_testing/Cargo.toml
--- 11_exceptions_part1_groundwork/Cargo.toml --- 11_exceptions_part1_groundwork/Cargo.toml
+++ 12_integrated_testing/Cargo.toml +++ 12_integrated_testing/Cargo.toml
@@ -1,31 +1,58 @@ @@ -1,30 +1,58 @@
[package] [package]
name = "mingo" name = "mingo"
-version = "0.11.0" -version = "0.11.0"
@ -826,7 +826,7 @@ diff -uNr 11_exceptions_part1_groundwork/Cargo.toml 12_integrated_testing/Cargo.
authors = ["Andre Richter <andre.o.richter@gmail.com>"] authors = ["Andre Richter <andre.o.richter@gmail.com>"]
edition = "2018" edition = "2018"
+# TODO: Fixme +# TODO: FIXME
+# LTO seems to kill the console integration test (empty text section). Disable until a fix is found. +# LTO seems to kill the console integration test (empty text section). Disable until a fix is found.
[profile.release] [profile.release]
-lto = true -lto = true
@ -857,7 +857,7 @@ diff -uNr 11_exceptions_part1_groundwork/Cargo.toml 12_integrated_testing/Cargo.
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }
+
+##-------------------------------------------------------------------------------------------------- +##--------------------------------------------------------------------------------------------------
+## Testing +## Testing
+##-------------------------------------------------------------------------------------------------- +##--------------------------------------------------------------------------------------------------

@ -2,8 +2,8 @@
## tl;dr ## tl;dr
- We write `device drivers` for the two interrupt controllers on the **Raspberry Pi 3** (Broadcom - We write `device drivers` for the two interrupt controllers on the **Raspberry Pi 3** (`Broadcom`
custom controller) and **Pi 4** (ARM Generic Interrupt Controller v2, `GICv2`). custom controller) and **Pi 4** (`ARM` Generic Interrupt Controller v2, `GICv2`).
- Modularity is ensured by interfacing everything through a trait named `IRQManager`. - Modularity is ensured by interfacing everything through a trait named `IRQManager`.
- Handling for our first peripheral IRQs is implemented: The `UART`'s receive IRQs. - Handling for our first peripheral IRQs is implemented: The `UART`'s receive IRQs.
@ -757,7 +757,7 @@ diff -uNr 12_integrated_testing/Cargo.toml 13_exceptions_part2_peripheral_IRQs/C
authors = ["Andre Richter <andre.o.richter@gmail.com>"] authors = ["Andre Richter <andre.o.richter@gmail.com>"]
edition = "2018" edition = "2018"
-# TODO: Fixme -# TODO: FIXME
-# LTO seems to kill the console integration test (empty text section). Disable until a fix is found. -# LTO seems to kill the console integration test (empty text section). Disable until a fix is found.
[profile.release] [profile.release]
-lto = false -lto = false

@ -2,7 +2,7 @@
## tl;dr ## tl;dr
- We introduce a first set of changes which we eventually need for separating `kernel` and `user` - We introduce a first set of changes which is eventually needed for separating `kernel` and `user`
address spaces. address spaces.
- The memory mapping strategy gets more sophisticated as we do away with `identity mapping` the - The memory mapping strategy gets more sophisticated as we do away with `identity mapping` the
whole of the board's address space. whole of the board's address space.

@ -1274,7 +1274,12 @@ diff -uNr 14_virtual_mem_part2_mmio_remap/src/bsp/raspberrypi/memory/mmu.rs 15_v
diff -uNr 14_virtual_mem_part2_mmio_remap/src/main.rs 15_virtual_mem_part3_precomputed_tables/src/main.rs diff -uNr 14_virtual_mem_part2_mmio_remap/src/main.rs 15_virtual_mem_part3_precomputed_tables/src/main.rs
--- 14_virtual_mem_part2_mmio_remap/src/main.rs --- 14_virtual_mem_part2_mmio_remap/src/main.rs
+++ 15_virtual_mem_part3_precomputed_tables/src/main.rs +++ 15_virtual_mem_part3_precomputed_tables/src/main.rs
@@ -18,25 +18,16 @@ @@ -15,28 +15,21 @@
/// Early init code.
///
+/// When this code runs, virtual memory is already enabled.
+///
/// # Safety /// # Safety
/// ///
/// - Only a single core must be active and running this function. /// - Only a single core must be active and running this function.
@ -1304,7 +1309,7 @@ diff -uNr 14_virtual_mem_part2_mmio_remap/src/main.rs 15_virtual_mem_part3_preco
// Bring up the drivers needed for printing first. // Bring up the drivers needed for printing first.
for i in bsp::driver::driver_manager() for i in bsp::driver::driver_manager()
@@ -47,7 +38,7 @@ @@ -47,7 +40,7 @@
i.init().unwrap_or_else(|_| cpu::wait_forever()); i.init().unwrap_or_else(|_| cpu::wait_forever());
} }
bsp::driver::driver_manager().post_early_print_device_driver_init(); bsp::driver::driver_manager().post_early_print_device_driver_init();

@ -15,6 +15,8 @@ use libkernel::{bsp, cpu, driver, exception, info, memory, state, time, warn};
/// Early init code. /// Early init code.
/// ///
/// When this code runs, virtual memory is already enabled.
///
/// # Safety /// # Safety
/// ///
/// - Only a single core must be active and running this function. /// - Only a single core must be active and running this function.

@ -15,6 +15,8 @@ use libkernel::{bsp, cpu, driver, exception, info, memory, state, time, warn};
/// Early init code. /// Early init code.
/// ///
/// When this code runs, virtual memory is already enabled.
///
/// # Safety /// # Safety
/// ///
/// - Only a single core must be active and running this function. /// - Only a single core must be active and running this function.

@ -28,4 +28,3 @@ register = { version = "1.x.x", optional = true }
# Platform specific dependencies # Platform specific dependencies
[target.'cfg(target_arch = "aarch64")'.dependencies] [target.'cfg(target_arch = "aarch64")'.dependencies]
cortex-a = { version = "5.x.x" } cortex-a = { version = "5.x.x" }

Loading…
Cancel
Save