diff --git a/02_runtime_init/Cargo.lock b/02_runtime_init/Cargo.lock index 17e64197..e52e7fdf 100644 --- a/02_runtime_init/Cargo.lock +++ b/02_runtime_init/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.2.0" dependencies = [ - "cortex-a", + "aarch64-cpu", ] [[package]] diff --git a/02_runtime_init/Cargo.toml b/02_runtime_init/Cargo.toml index 59566db0..5946f43c 100644 --- a/02_runtime_init/Cargo.toml +++ b/02_runtime_init/Cargo.toml @@ -24,4 +24,4 @@ path = "src/main.rs" # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/02_runtime_init/README.ES.md b/02_runtime_init/README.ES.md index e1210e9b..2f93586f 100644 --- a/02_runtime_init/README.ES.md +++ b/02_runtime_init/README.ES.md @@ -28,7 +28,7 @@ * Llama a `kernel_init()`, que llama a `panic!()`, que al final también pone al núcleo 0 en pausa. -* La librería ahora usa el crate [cortex-a](https://github.com/rust-embedded/cortex-a), que nos da abstracciones sin coste y envuelve las partes que hacen uso de un `unsafe` (partes con código que no es seguro y podría causar errores) cuando se trabaja directamente con los recursos del procesador. +* La librería ahora usa el crate [aarch64-cpu](https://github.com/rust-embedded/aarch64-cpu), que nos da abstracciones sin coste y envuelve las partes que hacen uso de un `unsafe` (partes con código que no es seguro y podría causar errores) cuando se trabaja directamente con los recursos del procesador. * Lo puedes ver en acción en `_arch/__arch_name__/cpu.rs`. diff --git a/02_runtime_init/README.md b/02_runtime_init/README.md index 7b3fcd82..76fc07dd 100644 --- a/02_runtime_init/README.md +++ b/02_runtime_init/README.md @@ -19,12 +19,12 @@ 1. Jumps to the `_start_rust()` function, defined in `arch/__arch_name__/cpu/boot.rs`. - `_start_rust()`: - Calls `kernel_init()`, which calls `panic!()`, which eventually halts core0 as well. -- The library now uses the [cortex-a] crate, which provides zero-overhead abstractions and wraps +- The library now uses the [aarch64-cpu] crate, which provides zero-overhead abstractions and wraps `unsafe` parts when dealing with the CPU's resources. - See it in action in `_arch/__arch_name__/cpu.rs`. [bss]: https://en.wikipedia.org/wiki/.bss -[cortex-a]: https://github.com/rust-embedded/cortex-a +[aarch64-cpu]: https://github.com/rust-embedded/aarch64-cpu ## Diff to previous ```diff @@ -47,7 +47,7 @@ diff -uNr 01_wait_forever/Cargo.toml 02_runtime_init/Cargo.toml + +# Platform specific dependencies +[target.'cfg(target_arch = "aarch64")'.dependencies] -+cortex-a = { version = "8.x.x" } ++aarch64-cpu = { version = "9.x.x" } diff -uNr 01_wait_forever/Makefile 02_runtime_init/Makefile --- 01_wait_forever/Makefile @@ -165,7 +165,7 @@ diff -uNr 01_wait_forever/src/_arch/aarch64/cpu.rs 02_runtime_init/src/_arch/aar +//! +//! crate::cpu::arch_cpu + -+use cortex_a::asm; ++use aarch64_cpu::asm; + +//-------------------------------------------------------------------------------------------------- +// Public Code diff --git a/02_runtime_init/src/_arch/aarch64/cpu.rs b/02_runtime_init/src/_arch/aarch64/cpu.rs index 3b52e3a3..7872f85f 100644 --- a/02_runtime_init/src/_arch/aarch64/cpu.rs +++ b/02_runtime_init/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/03_hacky_hello_world/Cargo.lock b/03_hacky_hello_world/Cargo.lock index 6b68a92e..6e5873df 100644 --- a/03_hacky_hello_world/Cargo.lock +++ b/03_hacky_hello_world/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.3.0" dependencies = [ - "cortex-a", + "aarch64-cpu", ] [[package]] diff --git a/03_hacky_hello_world/Cargo.toml b/03_hacky_hello_world/Cargo.toml index e3e95003..a6d527c1 100644 --- a/03_hacky_hello_world/Cargo.toml +++ b/03_hacky_hello_world/Cargo.toml @@ -24,4 +24,4 @@ path = "src/main.rs" # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/03_hacky_hello_world/src/_arch/aarch64/cpu.rs b/03_hacky_hello_world/src/_arch/aarch64/cpu.rs index 3b52e3a3..7872f85f 100644 --- a/03_hacky_hello_world/src/_arch/aarch64/cpu.rs +++ b/03_hacky_hello_world/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/04_safe_globals/Cargo.lock b/04_safe_globals/Cargo.lock index 21c1ad6f..3d196407 100644 --- a/04_safe_globals/Cargo.lock +++ b/04_safe_globals/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.4.0" dependencies = [ - "cortex-a", + "aarch64-cpu", ] [[package]] diff --git a/04_safe_globals/Cargo.toml b/04_safe_globals/Cargo.toml index 51ddd52b..1d8ee6a7 100644 --- a/04_safe_globals/Cargo.toml +++ b/04_safe_globals/Cargo.toml @@ -24,4 +24,4 @@ path = "src/main.rs" # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/04_safe_globals/src/_arch/aarch64/cpu.rs b/04_safe_globals/src/_arch/aarch64/cpu.rs index 3b52e3a3..7872f85f 100644 --- a/04_safe_globals/src/_arch/aarch64/cpu.rs +++ b/04_safe_globals/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/05_drivers_gpio_uart/Cargo.lock b/05_drivers_gpio_uart/Cargo.lock index 93873c45..4514e882 100644 --- a/05_drivers_gpio_uart/Cargo.lock +++ b/05_drivers_gpio_uart/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.5.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/05_drivers_gpio_uart/Cargo.toml b/05_drivers_gpio_uart/Cargo.toml index 1f6db5de..c431e438 100644 --- a/05_drivers_gpio_uart/Cargo.toml +++ b/05_drivers_gpio_uart/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/05_drivers_gpio_uart/README.md b/05_drivers_gpio_uart/README.md index f53a330b..563af1a7 100644 --- a/05_drivers_gpio_uart/README.md +++ b/05_drivers_gpio_uart/README.md @@ -181,7 +181,7 @@ diff -uNr 04_safe_globals/Cargo.toml 05_drivers_gpio_uart/Cargo.toml + # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] - cortex-a = { version = "8.x.x" } + aarch64-cpu = { version = "9.x.x" } diff -uNr 04_safe_globals/Makefile 05_drivers_gpio_uart/Makefile --- 04_safe_globals/Makefile diff --git a/05_drivers_gpio_uart/src/_arch/aarch64/cpu.rs b/05_drivers_gpio_uart/src/_arch/aarch64/cpu.rs index 2ef860d2..2431d2d2 100644 --- a/05_drivers_gpio_uart/src/_arch/aarch64/cpu.rs +++ b/05_drivers_gpio_uart/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/06_uart_chainloader/Cargo.lock b/06_uart_chainloader/Cargo.lock index c26c68d1..047875fe 100644 --- a/06_uart_chainloader/Cargo.lock +++ b/06_uart_chainloader/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.6.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/06_uart_chainloader/Cargo.toml b/06_uart_chainloader/Cargo.toml index 8770d7a0..27b413a2 100644 --- a/06_uart_chainloader/Cargo.toml +++ b/06_uart_chainloader/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/06_uart_chainloader/demo_payload_rpi3.img b/06_uart_chainloader/demo_payload_rpi3.img index 20f13981..8109de38 100755 Binary files a/06_uart_chainloader/demo_payload_rpi3.img and b/06_uart_chainloader/demo_payload_rpi3.img differ diff --git a/06_uart_chainloader/demo_payload_rpi4.img b/06_uart_chainloader/demo_payload_rpi4.img index 779cc308..807da95b 100755 Binary files a/06_uart_chainloader/demo_payload_rpi4.img and b/06_uart_chainloader/demo_payload_rpi4.img differ diff --git a/06_uart_chainloader/src/_arch/aarch64/cpu.rs b/06_uart_chainloader/src/_arch/aarch64/cpu.rs index 2ef860d2..2431d2d2 100644 --- a/06_uart_chainloader/src/_arch/aarch64/cpu.rs +++ b/06_uart_chainloader/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/07_timestamps/Cargo.lock b/07_timestamps/Cargo.lock index 5155fff2..be8e7c13 100644 --- a/07_timestamps/Cargo.lock +++ b/07_timestamps/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.7.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/07_timestamps/Cargo.toml b/07_timestamps/Cargo.toml index 5997997a..f4e4bcf6 100644 --- a/07_timestamps/Cargo.toml +++ b/07_timestamps/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/07_timestamps/README.md b/07_timestamps/README.md index 236def5b..afa75ad9 100644 --- a/07_timestamps/README.md +++ b/07_timestamps/README.md @@ -272,12 +272,12 @@ diff -uNr 06_uart_chainloader/src/_arch/aarch64/time.rs 07_timestamps/src/_arch/ +//! crate::time::arch_time + +use crate::warn; ++use aarch64_cpu::{asm::barrier, registers::*}; +use core::{ + num::{NonZeroU128, NonZeroU32, NonZeroU64}, + ops::{Add, Div}, + time::Duration, +}; -+use cortex_a::{asm::barrier, registers::*}; +use tock_registers::interfaces::Readable; + +//-------------------------------------------------------------------------------------------------- diff --git a/07_timestamps/src/_arch/aarch64/cpu.rs b/07_timestamps/src/_arch/aarch64/cpu.rs index 4414ac6a..bbe7687a 100644 --- a/07_timestamps/src/_arch/aarch64/cpu.rs +++ b/07_timestamps/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/07_timestamps/src/_arch/aarch64/time.rs b/07_timestamps/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/07_timestamps/src/_arch/aarch64/time.rs +++ b/07_timestamps/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/08_hw_debug_JTAG/Cargo.lock b/08_hw_debug_JTAG/Cargo.lock index bcfb442a..9020b4f9 100644 --- a/08_hw_debug_JTAG/Cargo.lock +++ b/08_hw_debug_JTAG/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.8.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/08_hw_debug_JTAG/Cargo.toml b/08_hw_debug_JTAG/Cargo.toml index 55963c38..e310c371 100644 --- a/08_hw_debug_JTAG/Cargo.toml +++ b/08_hw_debug_JTAG/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/08_hw_debug_JTAG/src/_arch/aarch64/cpu.rs b/08_hw_debug_JTAG/src/_arch/aarch64/cpu.rs index 4414ac6a..bbe7687a 100644 --- a/08_hw_debug_JTAG/src/_arch/aarch64/cpu.rs +++ b/08_hw_debug_JTAG/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/08_hw_debug_JTAG/src/_arch/aarch64/time.rs b/08_hw_debug_JTAG/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/08_hw_debug_JTAG/src/_arch/aarch64/time.rs +++ b/08_hw_debug_JTAG/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/09_privilege_level/Cargo.lock b/09_privilege_level/Cargo.lock index 29c6ef54..12b21042 100644 --- a/09_privilege_level/Cargo.lock +++ b/09_privilege_level/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.9.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/09_privilege_level/Cargo.toml b/09_privilege_level/Cargo.toml index a89435bc..480508b5 100644 --- a/09_privilege_level/Cargo.toml +++ b/09_privilege_level/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/09_privilege_level/README.md b/09_privilege_level/README.md index 5710fdb8..e0f73b63 100644 --- a/09_privilege_level/README.md +++ b/09_privilege_level/README.md @@ -75,7 +75,7 @@ We are already using them since [tutorial 07](../07_timestamps/), so of course w Therefore we set the respective flags in the [Counter-timer Hypervisor Control register] and additionally set the virtual offset to zero so that we get the real physical value everytime: -[Counter-timer Hypervisor Control register]: https://docs.rs/cortex-a/5.1.2/src/cortex_a/regs/cnthctl_el2.rs.html +[Counter-timer Hypervisor Control register]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/cnthctl_el2.rs.html ```rust // Enable timer counter registers for EL1. @@ -88,7 +88,7 @@ CNTVOFF_EL2.set(0); Next, we configure the [Hypervisor Configuration Register] such that `EL1` runs in `AArch64` mode, and not in `AArch32`, which would also be possible. -[Hypervisor Configuration Register]: https://docs.rs/cortex-a/5.1.2/src/cortex_a/regs/hcr_el2.rs.html +[Hypervisor Configuration Register]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/hcr_el2.rs.html ```rust // Set EL1 execution state to AArch64. @@ -100,7 +100,7 @@ HCR_EL2.write(HCR_EL2::RW::EL1IsAarch64); There is actually only one way to transition from a higher EL to a lower EL, which is by way of executing the [ERET] instruction. -[ERET]: https://docs.rs/cortex-a/5.1.2/src/cortex_a/asm.rs.html#87-96 +[ERET]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/asm.rs.html#92-101 This instruction will copy the contents of the [Saved Program Status Register - EL2] to `Current Program Status Register - EL1` and jump to the instruction address that is stored in the [Exception @@ -109,8 +109,8 @@ Link Register - EL2]. This is basically the reverse of what is happening when an exception is taken. You'll learn about that in an upcoming tutorial. -[Saved Program Status Register - EL2]: https://docs.rs/cortex-a/5.1.2/src/cortex_a/regs/spsr_el2.rs.html -[Exception Link Register - EL2]: https://docs.rs/cortex-a/5.1.2/src/cortex_a/regs/elr_el2.rs.html +[Saved Program Status Register - EL2]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/spsr_el2.rs.html +[Exception Link Register - EL2]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/elr_el2.rs.html ```rust // Set up a simulated exception return. @@ -212,11 +212,12 @@ diff -uNr 08_hw_debug_JTAG/Cargo.toml 09_privilege_level/Cargo.toml diff -uNr 08_hw_debug_JTAG/src/_arch/aarch64/cpu/boot.rs 09_privilege_level/src/_arch/aarch64/cpu/boot.rs --- 08_hw_debug_JTAG/src/_arch/aarch64/cpu/boot.rs +++ 09_privilege_level/src/_arch/aarch64/cpu/boot.rs -@@ -12,21 +12,72 @@ +@@ -11,22 +11,73 @@ + //! //! crate::cpu::boot::arch_boot ++use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -+use cortex_a::{asm, registers::*}; +use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. @@ -348,7 +349,7 @@ diff -uNr 08_hw_debug_JTAG/src/_arch/aarch64/exception/asynchronous.rs 09_privil +//! +//! crate::exception::asynchronous::arch_asynchronous + -+use cortex_a::registers::*; ++use aarch64_cpu::registers::*; +use tock_registers::interfaces::Readable; + +//-------------------------------------------------------------------------------------------------- @@ -435,7 +436,7 @@ diff -uNr 08_hw_debug_JTAG/src/_arch/aarch64/exception.rs 09_privilege_level/src +//! +//! crate::exception::arch_exception + -+use cortex_a::registers::*; ++use aarch64_cpu::registers::*; +use tock_registers::interfaces::Readable; + +//-------------------------------------------------------------------------------------------------- diff --git a/09_privilege_level/src/_arch/aarch64/cpu.rs b/09_privilege_level/src/_arch/aarch64/cpu.rs index 4414ac6a..bbe7687a 100644 --- a/09_privilege_level/src/_arch/aarch64/cpu.rs +++ b/09_privilege_level/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/09_privilege_level/src/_arch/aarch64/cpu/boot.rs b/09_privilege_level/src/_arch/aarch64/cpu/boot.rs index 0bf45b83..b458f0db 100644 --- a/09_privilege_level/src/_arch/aarch64/cpu/boot.rs +++ b/09_privilege_level/src/_arch/aarch64/cpu/boot.rs @@ -11,8 +11,8 @@ //! //! crate::cpu::boot::arch_boot +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/09_privilege_level/src/_arch/aarch64/exception.rs b/09_privilege_level/src/_arch/aarch64/exception.rs index c8eac4f0..c2b7cea8 100644 --- a/09_privilege_level/src/_arch/aarch64/exception.rs +++ b/09_privilege_level/src/_arch/aarch64/exception.rs @@ -11,7 +11,7 @@ //! //! crate::exception::arch_exception -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/09_privilege_level/src/_arch/aarch64/exception/asynchronous.rs b/09_privilege_level/src/_arch/aarch64/exception/asynchronous.rs index e3e3672e..0347dc3f 100644 --- a/09_privilege_level/src/_arch/aarch64/exception/asynchronous.rs +++ b/09_privilege_level/src/_arch/aarch64/exception/asynchronous.rs @@ -11,7 +11,7 @@ //! //! crate::exception::asynchronous::arch_asynchronous -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/09_privilege_level/src/_arch/aarch64/time.rs b/09_privilege_level/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/09_privilege_level/src/_arch/aarch64/time.rs +++ b/09_privilege_level/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/10_virtual_mem_part1_identity_mapping/Cargo.lock b/10_virtual_mem_part1_identity_mapping/Cargo.lock index 4bfff935..af2a0a5d 100644 --- a/10_virtual_mem_part1_identity_mapping/Cargo.lock +++ b/10_virtual_mem_part1_identity_mapping/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.10.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/10_virtual_mem_part1_identity_mapping/Cargo.toml b/10_virtual_mem_part1_identity_mapping/Cargo.toml index d3e2582d..6f12f98e 100644 --- a/10_virtual_mem_part1_identity_mapping/Cargo.toml +++ b/10_virtual_mem_part1_identity_mapping/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/10_virtual_mem_part1_identity_mapping/README.md b/10_virtual_mem_part1_identity_mapping/README.md index 946500dc..36c37c79 100644 --- a/10_virtual_mem_part1_identity_mapping/README.md +++ b/10_virtual_mem_part1_identity_mapping/README.md @@ -218,9 +218,9 @@ self.configure_translation_control(); Finally, the `MMU` is turned on through the [System Control Register - EL1]. The last step also enables caching for data and instructions. -[Translation Table Base Register 0 - EL1]: https://docs.rs/crate/cortex-a/5.1.2/source/src/regs/ttbr0_el1.rs -[Translation Control Register - EL1]: https://docs.rs/crate/cortex-a/5.1.2/source/src/regs/tcr_el1.rs -[System Control Register - EL1]: https://docs.rs/crate/cortex-a/5.1.2/source/src/regs/sctlr_el1.rs +[Translation Table Base Register 0 - EL1]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/ttbr0_el1.rs.html +[Translation Control Register - EL1]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/tcr_el1.rs.html +[System Control Register - EL1]: https://docs.rs/aarch64-cpu/9.0.0/src/aarch64_cpu/registers/sctlr_el1.rs.html ### `kernel.ld` @@ -257,11 +257,11 @@ The MMU init code is again a good example to see the great potential of Rust's z abstractions[[1]][[2]] for embedded programming. Let's take a look again at the piece of code for setting up the `MAIR_EL1` register using the -[cortex-a] crate: +[aarch64-cpu] crate: [1]: https://blog.rust-lang.org/2015/05/11/traits.html [2]: https://ruudvanasseldonk.com/2016/11/30/zero-cost-abstractions -[cortex-a]: https://crates.io/crates/cortex-a +[aarch64-cpu]: https://crates.io/crates/aarch64-cpu ```rust /// Setup function for the MAIR_EL1 register. @@ -681,8 +681,8 @@ diff -uNr 09_privilege_level/src/_arch/aarch64/memory/mmu.rs 10_virtual_mem_part + bsp, memory, + memory::mmu::{translation_table::KernelTranslationTable, TranslationGranule}, +}; ++use aarch64_cpu::{asm::barrier, registers::*}; +use core::intrinsics::unlikely; -+use cortex_a::{asm::barrier, registers::*}; +use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; + +//-------------------------------------------------------------------------------------------------- diff --git a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu.rs b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu.rs index 4414ac6a..bbe7687a 100644 --- a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu.rs +++ b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu/boot.rs b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu/boot.rs index 0bf45b83..b458f0db 100644 --- a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu/boot.rs +++ b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/cpu/boot.rs @@ -11,8 +11,8 @@ //! //! crate::cpu::boot::arch_boot +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception.rs b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception.rs index c8eac4f0..c2b7cea8 100644 --- a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception.rs +++ b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception.rs @@ -11,7 +11,7 @@ //! //! crate::exception::arch_exception -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception/asynchronous.rs b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception/asynchronous.rs index e3e3672e..0347dc3f 100644 --- a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception/asynchronous.rs +++ b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception/asynchronous.rs @@ -11,7 +11,7 @@ //! //! crate::exception::asynchronous::arch_asynchronous -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/memory/mmu.rs b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/memory/mmu.rs index 3a965f71..e5e2653a 100644 --- a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/memory/mmu.rs +++ b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::mmu::{translation_table::KernelTranslationTable, TranslationGranule}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/time.rs b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/time.rs +++ b/10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/11_exceptions_part1_groundwork/Cargo.lock b/11_exceptions_part1_groundwork/Cargo.lock index c7bfdadd..dd741b8d 100644 --- a/11_exceptions_part1_groundwork/Cargo.lock +++ b/11_exceptions_part1_groundwork/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.11.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/11_exceptions_part1_groundwork/Cargo.toml b/11_exceptions_part1_groundwork/Cargo.toml index c8d3613f..22343d4c 100644 --- a/11_exceptions_part1_groundwork/Cargo.toml +++ b/11_exceptions_part1_groundwork/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/11_exceptions_part1_groundwork/README.md b/11_exceptions_part1_groundwork/README.md index 12812acb..0a9cc9fc 100644 --- a/11_exceptions_part1_groundwork/README.md +++ b/11_exceptions_part1_groundwork/README.md @@ -507,10 +507,10 @@ diff -uNr 10_virtual_mem_part1_identity_mapping/src/_arch/aarch64/exception.rs 1 //! //! crate::exception::arch_exception --use cortex_a::registers::*; +-use aarch64_cpu::registers::*; -use tock_registers::interfaces::Readable; ++use aarch64_cpu::{asm::barrier, registers::*}; +use core::{arch::global_asm, cell::UnsafeCell, fmt}; -+use cortex_a::{asm::barrier, registers::*}; +use tock_registers::{ + interfaces::{Readable, Writeable}, + registers::InMemoryRegister, diff --git a/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu.rs b/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu.rs index 4414ac6a..bbe7687a 100644 --- a/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu.rs +++ b/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu/boot.rs b/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu/boot.rs index 0bf45b83..b458f0db 100644 --- a/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu/boot.rs +++ b/11_exceptions_part1_groundwork/src/_arch/aarch64/cpu/boot.rs @@ -11,8 +11,8 @@ //! //! crate::cpu::boot::arch_boot +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/11_exceptions_part1_groundwork/src/_arch/aarch64/exception.rs b/11_exceptions_part1_groundwork/src/_arch/aarch64/exception.rs index c72fb885..165e0730 100644 --- a/11_exceptions_part1_groundwork/src/_arch/aarch64/exception.rs +++ b/11_exceptions_part1_groundwork/src/_arch/aarch64/exception.rs @@ -11,8 +11,8 @@ //! //! crate::exception::arch_exception +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/11_exceptions_part1_groundwork/src/_arch/aarch64/exception/asynchronous.rs b/11_exceptions_part1_groundwork/src/_arch/aarch64/exception/asynchronous.rs index e3e3672e..0347dc3f 100644 --- a/11_exceptions_part1_groundwork/src/_arch/aarch64/exception/asynchronous.rs +++ b/11_exceptions_part1_groundwork/src/_arch/aarch64/exception/asynchronous.rs @@ -11,7 +11,7 @@ //! //! crate::exception::asynchronous::arch_asynchronous -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/11_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs b/11_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs index 3a965f71..e5e2653a 100644 --- a/11_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs +++ b/11_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::mmu::{translation_table::KernelTranslationTable, TranslationGranule}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/11_exceptions_part1_groundwork/src/_arch/aarch64/time.rs b/11_exceptions_part1_groundwork/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/11_exceptions_part1_groundwork/src/_arch/aarch64/time.rs +++ b/11_exceptions_part1_groundwork/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/12_integrated_testing/Cargo.lock b/12_integrated_testing/Cargo.lock index abe5ab82..8db3db87 100644 --- a/12_integrated_testing/Cargo.lock +++ b/12_integrated_testing/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.12.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "qemu-exit", "test-macros", "test-types", diff --git a/12_integrated_testing/kernel/Cargo.toml b/12_integrated_testing/kernel/Cargo.toml index 7bbca0b4..97dd972e 100644 --- a/12_integrated_testing/kernel/Cargo.toml +++ b/12_integrated_testing/kernel/Cargo.toml @@ -23,7 +23,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/12_integrated_testing/kernel/src/_arch/aarch64/cpu.rs b/12_integrated_testing/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/12_integrated_testing/kernel/src/_arch/aarch64/cpu.rs +++ b/12_integrated_testing/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/12_integrated_testing/kernel/src/_arch/aarch64/cpu/boot.rs b/12_integrated_testing/kernel/src/_arch/aarch64/cpu/boot.rs index 0bf45b83..b458f0db 100644 --- a/12_integrated_testing/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/12_integrated_testing/kernel/src/_arch/aarch64/cpu/boot.rs @@ -11,8 +11,8 @@ //! //! crate::cpu::boot::arch_boot +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/12_integrated_testing/kernel/src/_arch/aarch64/exception.rs b/12_integrated_testing/kernel/src/_arch/aarch64/exception.rs index 5664605e..84681bc7 100644 --- a/12_integrated_testing/kernel/src/_arch/aarch64/exception.rs +++ b/12_integrated_testing/kernel/src/_arch/aarch64/exception.rs @@ -11,8 +11,8 @@ //! //! crate::exception::arch_exception +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/12_integrated_testing/kernel/src/_arch/aarch64/exception/asynchronous.rs b/12_integrated_testing/kernel/src/_arch/aarch64/exception/asynchronous.rs index e3e3672e..0347dc3f 100644 --- a/12_integrated_testing/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/12_integrated_testing/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,7 +11,7 @@ //! //! crate::exception::asynchronous::arch_asynchronous -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/12_integrated_testing/kernel/src/_arch/aarch64/memory/mmu.rs b/12_integrated_testing/kernel/src/_arch/aarch64/memory/mmu.rs index 15a7faeb..fbd4992f 100644 --- a/12_integrated_testing/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/12_integrated_testing/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::mmu::{translation_table::KernelTranslationTable, TranslationGranule}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/12_integrated_testing/kernel/src/_arch/aarch64/time.rs b/12_integrated_testing/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/12_integrated_testing/kernel/src/_arch/aarch64/time.rs +++ b/12_integrated_testing/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/13_exceptions_part2_peripheral_IRQs/Cargo.lock b/13_exceptions_part2_peripheral_IRQs/Cargo.lock index d893a0af..ad1e8660 100644 --- a/13_exceptions_part2_peripheral_IRQs/Cargo.lock +++ b/13_exceptions_part2_peripheral_IRQs/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.13.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "qemu-exit", "test-macros", "test-types", diff --git a/13_exceptions_part2_peripheral_IRQs/README.md b/13_exceptions_part2_peripheral_IRQs/README.md index a8c503d5..944001e7 100644 --- a/13_exceptions_part2_peripheral_IRQs/README.md +++ b/13_exceptions_part2_peripheral_IRQs/README.md @@ -802,7 +802,7 @@ diff -uNr 12_integrated_testing/kernel/src/_arch/aarch64/cpu/smp.rs 13_exception +//! +//! crate::cpu::smp::arch_smp + -+use cortex_a::registers::*; ++use aarch64_cpu::registers::*; +use tock_registers::interfaces::Readable; + +//-------------------------------------------------------------------------------------------------- @@ -823,13 +823,12 @@ diff -uNr 12_integrated_testing/kernel/src/_arch/aarch64/cpu/smp.rs 13_exception diff -uNr 12_integrated_testing/kernel/src/_arch/aarch64/exception/asynchronous.rs 13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception/asynchronous.rs --- 12_integrated_testing/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ 13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception/asynchronous.rs -@@ -11,13 +11,18 @@ - //! +@@ -12,12 +12,17 @@ //! crate::exception::asynchronous::arch_asynchronous -+use core::arch::asm; - use cortex_a::registers::*; + use aarch64_cpu::registers::*; -use tock_registers::interfaces::Readable; ++use core::arch::asm; +use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- @@ -913,8 +912,8 @@ diff -uNr 12_integrated_testing/kernel/src/_arch/aarch64/exception.rs 13_excepti //! crate::exception::arch_exception +use crate::exception; + use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; - use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ @@ -102,8 +103,9 @@ } diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/Cargo.toml b/13_exceptions_part2_peripheral_IRQs/kernel/Cargo.toml index 5f371dda..3b04b97b 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/Cargo.toml +++ b/13_exceptions_part2_peripheral_IRQs/kernel/Cargo.toml @@ -23,7 +23,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/boot.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/boot.rs index 0bf45b83..b458f0db 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/boot.rs @@ -11,8 +11,8 @@ //! //! crate::cpu::boot::arch_boot +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/smp.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception.rs index 3aa6fb24..71831178 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::exception; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception/asynchronous.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/memory/mmu.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/memory/mmu.rs index 15a7faeb..fbd4992f 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::mmu::{translation_table::KernelTranslationTable, TranslationGranule}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/time.rs b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/time.rs +++ b/13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/14_virtual_mem_part2_mmio_remap/Cargo.lock b/14_virtual_mem_part2_mmio_remap/Cargo.lock index dd14a9d7..eea03734 100644 --- a/14_virtual_mem_part2_mmio_remap/Cargo.lock +++ b/14_virtual_mem_part2_mmio_remap/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.14.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "qemu-exit", "test-macros", "test-types", diff --git a/14_virtual_mem_part2_mmio_remap/README.md b/14_virtual_mem_part2_mmio_remap/README.md index 61117358..7d16e69c 100644 --- a/14_virtual_mem_part2_mmio_remap/README.md +++ b/14_virtual_mem_part2_mmio_remap/README.md @@ -751,8 +751,8 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/kernel/src/_arch/aarch64/memory/mm - memory::mmu::{translation_table::KernelTranslationTable, TranslationGranule}, + memory::{mmu::TranslationGranule, Address, Physical}, }; + use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; - use cortex_a::{asm::barrier, registers::*}; @@ -46,13 +46,6 @@ // Global instances //-------------------------------------------------------------------------------------------------- diff --git a/14_virtual_mem_part2_mmio_remap/kernel/Cargo.toml b/14_virtual_mem_part2_mmio_remap/kernel/Cargo.toml index fe4e48e7..b85ecbed 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/Cargo.toml +++ b/14_virtual_mem_part2_mmio_remap/kernel/Cargo.toml @@ -23,7 +23,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/boot.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/boot.rs index 0bf45b83..b458f0db 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/boot.rs @@ -11,8 +11,8 @@ //! //! crate::cpu::boot::arch_boot +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/smp.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception.rs index 3aa6fb24..71831178 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::exception; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception/asynchronous.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/memory/mmu.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/memory/mmu.rs index e2db2d23..aaec1925 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/time.rs b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/time.rs +++ b/14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/15_virtual_mem_part3_precomputed_tables/Cargo.lock b/15_virtual_mem_part3_precomputed_tables/Cargo.lock index 6863764a..1bef088b 100644 --- a/15_virtual_mem_part3_precomputed_tables/Cargo.lock +++ b/15_virtual_mem_part3_precomputed_tables/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.15.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "qemu-exit", "test-macros", "test-types", diff --git a/15_virtual_mem_part3_precomputed_tables/README.md b/15_virtual_mem_part3_precomputed_tables/README.md index c850992e..23210265 100644 --- a/15_virtual_mem_part3_precomputed_tables/README.md +++ b/15_virtual_mem_part3_precomputed_tables/README.md @@ -816,8 +816,8 @@ diff -uNr 14_virtual_mem_part2_mmio_remap/kernel/src/_arch/aarch64/cpu/boot.rs 1 //! crate::cpu::boot::arch_boot +use crate::{memory, memory::Address}; + use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; - use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; @@ -75,9 +76,16 @@ /// diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/Cargo.toml b/15_virtual_mem_part3_precomputed_tables/kernel/Cargo.toml index 9a0408ad..73b6feef 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/Cargo.toml +++ b/15_virtual_mem_part3_precomputed_tables/kernel/Cargo.toml @@ -23,7 +23,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/boot.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/boot.rs index a66c0cb3..fc70fe7f 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/boot.rs @@ -12,8 +12,8 @@ //! crate::cpu::boot::arch_boot use crate::{memory, memory::Address}; +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/smp.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception.rs index 3aa6fb24..71831178 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::exception; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception/asynchronous.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/memory/mmu.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/memory/mmu.rs index e2db2d23..aaec1925 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/time.rs b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/time.rs +++ b/15_virtual_mem_part3_precomputed_tables/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/16_virtual_mem_part4_higher_half_kernel/Cargo.lock b/16_virtual_mem_part4_higher_half_kernel/Cargo.lock index 1cd1bc74..52d5b3fb 100644 --- a/16_virtual_mem_part4_higher_half_kernel/Cargo.lock +++ b/16_virtual_mem_part4_higher_half_kernel/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.16.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "qemu-exit", "test-macros", "test-types", diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/Cargo.toml b/16_virtual_mem_part4_higher_half_kernel/kernel/Cargo.toml index 06b2573c..857256cb 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/Cargo.toml +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/Cargo.toml @@ -23,7 +23,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/boot.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/boot.rs index 293d4608..2cad1ab6 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/boot.rs @@ -12,8 +12,8 @@ //! crate::cpu::boot::arch_boot use crate::{memory, memory::Address}; +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/smp.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception.rs index 3aa6fb24..71831178 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::exception; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception/asynchronous.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/memory/mmu.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/memory/mmu.rs index 3d6c18b7..74a71d11 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/time.rs b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/time.rs +++ b/16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/17_kernel_symbols/Cargo.lock b/17_kernel_symbols/Cargo.lock index af229efe..382a3bda 100644 --- a/17_kernel_symbols/Cargo.lock +++ b/17_kernel_symbols/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -26,7 +26,7 @@ dependencies = [ name = "mingo" version = "0.17.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "debug-symbol-types", "qemu-exit", "test-macros", diff --git a/17_kernel_symbols/README.md b/17_kernel_symbols/README.md index 925ed689..aec53437 100644 --- a/17_kernel_symbols/README.md +++ b/17_kernel_symbols/README.md @@ -272,8 +272,8 @@ diff -uNr 16_virtual_mem_part4_higher_half_kernel/kernel/src/_arch/aarch64/excep -use crate::exception; +use crate::{exception, memory, symbols}; + use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; - use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ @@ -260,6 +260,14 @@ diff --git a/17_kernel_symbols/kernel/Cargo.toml b/17_kernel_symbols/kernel/Cargo.toml index a2a83aad..58bf54d2 100644 --- a/17_kernel_symbols/kernel/Cargo.toml +++ b/17_kernel_symbols/kernel/Cargo.toml @@ -24,7 +24,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/cpu.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/cpu.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/boot.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/boot.rs index 293d4608..2cad1ab6 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/boot.rs @@ -12,8 +12,8 @@ //! crate::cpu::boot::arch_boot use crate::{memory, memory::Address}; +use aarch64_cpu::{asm, registers::*}; use core::arch::global_asm; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/smp.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/exception.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/exception.rs index 1d720f3e..926d6d38 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/exception.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::{exception, memory, symbols}; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/exception/asynchronous.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/memory/mmu.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/memory/mmu.rs index 3d6c18b7..74a71d11 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/17_kernel_symbols/kernel/src/_arch/aarch64/time.rs b/17_kernel_symbols/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/17_kernel_symbols/kernel/src/_arch/aarch64/time.rs +++ b/17_kernel_symbols/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/18_backtrace/Cargo.lock b/18_backtrace/Cargo.lock index 2b51ab72..701f10f1 100644 --- a/18_backtrace/Cargo.lock +++ b/18_backtrace/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -26,7 +26,7 @@ dependencies = [ name = "mingo" version = "0.18.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "debug-symbol-types", "qemu-exit", "test-macros", diff --git a/18_backtrace/README.md b/18_backtrace/README.md index 837d0161..542fdfbb 100644 --- a/18_backtrace/README.md +++ b/18_backtrace/README.md @@ -415,7 +415,7 @@ diff -uNr 17_kernel_symbols/kernel/src/_arch/aarch64/backtrace.rs 18_backtrace/k + backtrace::BacktraceItem, + memory::{Address, Virtual}, +}; -+use cortex_a::registers::*; ++use aarch64_cpu::registers::*; +use tock_registers::interfaces::Readable; + +//-------------------------------------------------------------------------------------------------- @@ -538,18 +538,18 @@ diff -uNr 17_kernel_symbols/kernel/src/_arch/aarch64/backtrace.rs 18_backtrace/k diff -uNr 17_kernel_symbols/kernel/src/_arch/aarch64/cpu/boot.rs 18_backtrace/kernel/src/_arch/aarch64/cpu/boot.rs --- 17_kernel_symbols/kernel/src/_arch/aarch64/cpu/boot.rs +++ 18_backtrace/kernel/src/_arch/aarch64/cpu/boot.rs -@@ -12,7 +12,10 @@ - //! crate::cpu::boot::arch_boot +@@ -13,7 +13,10 @@ use crate::{memory, memory::Address}; + use aarch64_cpu::{asm, registers::*}; -use core::arch::global_asm; +use core::{ + arch::global_asm, + sync::atomic::{compiler_fence, Ordering}, +}; - use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; + // Assembly counterpart to this file. @@ -67,6 +70,18 @@ SP_EL1.set(virt_boot_core_stack_end_exclusive_addr); } diff --git a/18_backtrace/kernel/Cargo.toml b/18_backtrace/kernel/Cargo.toml index 5a443538..bba97b8d 100644 --- a/18_backtrace/kernel/Cargo.toml +++ b/18_backtrace/kernel/Cargo.toml @@ -24,7 +24,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/18_backtrace/kernel/src/_arch/aarch64/backtrace.rs b/18_backtrace/kernel/src/_arch/aarch64/backtrace.rs index e8860984..3511c918 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/backtrace.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/backtrace.rs @@ -15,7 +15,7 @@ use crate::{ backtrace::BacktraceItem, memory::{Address, Virtual}, }; -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/18_backtrace/kernel/src/_arch/aarch64/cpu.rs b/18_backtrace/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/cpu.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/18_backtrace/kernel/src/_arch/aarch64/cpu/boot.rs b/18_backtrace/kernel/src/_arch/aarch64/cpu/boot.rs index 15ab92b6..d9662d3a 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/cpu/boot.rs @@ -12,11 +12,11 @@ //! crate::cpu::boot::arch_boot use crate::{memory, memory::Address}; +use aarch64_cpu::{asm, registers::*}; use core::{ arch::global_asm, sync::atomic::{compiler_fence, Ordering}, }; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/18_backtrace/kernel/src/_arch/aarch64/cpu/smp.rs b/18_backtrace/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/18_backtrace/kernel/src/_arch/aarch64/exception.rs b/18_backtrace/kernel/src/_arch/aarch64/exception.rs index e03e382f..a8bc0d2f 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/exception.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::{exception, memory, symbols}; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/18_backtrace/kernel/src/_arch/aarch64/exception/asynchronous.rs b/18_backtrace/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/18_backtrace/kernel/src/_arch/aarch64/memory/mmu.rs b/18_backtrace/kernel/src/_arch/aarch64/memory/mmu.rs index 3d6c18b7..74a71d11 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/18_backtrace/kernel/src/_arch/aarch64/time.rs b/18_backtrace/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/18_backtrace/kernel/src/_arch/aarch64/time.rs +++ b/18_backtrace/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/19_kernel_heap/Cargo.lock b/19_kernel_heap/Cargo.lock index eb80ffea..0f642903 100644 --- a/19_kernel_heap/Cargo.lock +++ b/19_kernel_heap/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -32,7 +32,7 @@ checksum = "e322f259d225fbae43a1b053b2dc6a5968a6bdf8b205f5de684dab485b95030e" name = "mingo" version = "0.19.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "debug-symbol-types", "linked_list_allocator", "qemu-exit", diff --git a/19_kernel_heap/kernel/Cargo.lock b/19_kernel_heap/kernel/Cargo.lock deleted file mode 100644 index 9149faf0..00000000 --- a/19_kernel_heap/kernel/Cargo.lock +++ /dev/null @@ -1,96 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "cortex-a" -version = "7.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27bd91f65ccd348bb2d043d98c5b34af141ecef7f102147f59bf5898f6e734ad" -dependencies = [ - "tock-registers", -] - -[[package]] -name = "debug-symbol-types" -version = "0.1.0" - -[[package]] -name = "linked_list_allocator" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549ce1740e46b291953c4340adcd74c59bcf4308f4cac050fd33ba91b7168f4a" - -[[package]] -name = "mingo" -version = "0.19.0" -dependencies = [ - "cortex-a", - "debug-symbol-types", - "linked_list_allocator", - "qemu-exit", - "test-macros", - "test-types", - "tock-registers", -] - -[[package]] -name = "proc-macro2" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "qemu-exit" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff023245bfcc73fb890e1f8d5383825b3131cc920020a5c487d6f113dfc428a" - -[[package]] -name = "quote" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "syn" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a07e33e919ebcd69113d5be0e4d70c5707004ff45188910106854f38b960df4a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "test-macros" -version = "0.1.0" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "test-types", -] - -[[package]] -name = "test-types" -version = "0.1.0" - -[[package]] -name = "tock-registers" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee8fba06c1f4d0b396ef61a54530bb6b28f0dc61c38bc8bc5a5a48161e6282e" - -[[package]] -name = "unicode-xid" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" diff --git a/19_kernel_heap/kernel/Cargo.toml b/19_kernel_heap/kernel/Cargo.toml index bccd0882..03ebfc02 100644 --- a/19_kernel_heap/kernel/Cargo.toml +++ b/19_kernel_heap/kernel/Cargo.toml @@ -26,7 +26,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/backtrace.rs b/19_kernel_heap/kernel/src/_arch/aarch64/backtrace.rs index e8860984..3511c918 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/backtrace.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/backtrace.rs @@ -15,7 +15,7 @@ use crate::{ backtrace::BacktraceItem, memory::{Address, Virtual}, }; -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/cpu.rs b/19_kernel_heap/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/cpu.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/cpu/boot.rs b/19_kernel_heap/kernel/src/_arch/aarch64/cpu/boot.rs index 15ab92b6..d9662d3a 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/cpu/boot.rs @@ -12,11 +12,11 @@ //! crate::cpu::boot::arch_boot use crate::{memory, memory::Address}; +use aarch64_cpu::{asm, registers::*}; use core::{ arch::global_asm, sync::atomic::{compiler_fence, Ordering}, }; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/cpu/smp.rs b/19_kernel_heap/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/exception.rs b/19_kernel_heap/kernel/src/_arch/aarch64/exception.rs index e03e382f..a8bc0d2f 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/exception.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::{exception, memory, symbols}; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/exception/asynchronous.rs b/19_kernel_heap/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/memory/mmu.rs b/19_kernel_heap/kernel/src/_arch/aarch64/memory/mmu.rs index 3d6c18b7..74a71d11 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/19_kernel_heap/kernel/src/_arch/aarch64/time.rs b/19_kernel_heap/kernel/src/_arch/aarch64/time.rs index 1e2efbec..94d02379 100644 --- a/19_kernel_heap/kernel/src/_arch/aarch64/time.rs +++ b/19_kernel_heap/kernel/src/_arch/aarch64/time.rs @@ -12,12 +12,12 @@ //! crate::time::arch_time use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/20_timer_callbacks/Cargo.lock b/20_timer_callbacks/Cargo.lock index 8f9eae58..754ed74d 100644 --- a/20_timer_callbacks/Cargo.lock +++ b/20_timer_callbacks/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -32,7 +32,7 @@ checksum = "e322f259d225fbae43a1b053b2dc6a5968a6bdf8b205f5de684dab485b95030e" name = "mingo" version = "0.20.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "debug-symbol-types", "linked_list_allocator", "qemu-exit", diff --git a/20_timer_callbacks/README.md b/20_timer_callbacks/README.md index 7d944b99..da5a5510 100644 --- a/20_timer_callbacks/README.md +++ b/20_timer_callbacks/README.md @@ -40,12 +40,12 @@ diff -uNr 19_kernel_heap/kernel/src/_arch/aarch64/time.rs 20_timer_callbacks/ker + bsp::{self, exception}, + warn, +}; + use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; - use cortex_a::{asm::barrier, registers::*}; -use tock_registers::interfaces::Readable; +use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; diff --git a/20_timer_callbacks/kernel/Cargo.lock b/20_timer_callbacks/kernel/Cargo.lock deleted file mode 100644 index 740209d0..00000000 --- a/20_timer_callbacks/kernel/Cargo.lock +++ /dev/null @@ -1,96 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "cortex-a" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" -dependencies = [ - "tock-registers", -] - -[[package]] -name = "debug-symbol-types" -version = "0.1.0" - -[[package]] -name = "linked_list_allocator" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e322f259d225fbae43a1b053b2dc6a5968a6bdf8b205f5de684dab485b95030e" - -[[package]] -name = "mingo" -version = "0.20.0" -dependencies = [ - "cortex-a", - "debug-symbol-types", - "linked_list_allocator", - "qemu-exit", - "test-macros", - "test-types", - "tock-registers", -] - -[[package]] -name = "proc-macro2" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "qemu-exit" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff023245bfcc73fb890e1f8d5383825b3131cc920020a5c487d6f113dfc428a" - -[[package]] -name = "quote" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "syn" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a07e33e919ebcd69113d5be0e4d70c5707004ff45188910106854f38b960df4a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "test-macros" -version = "0.1.0" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "test-types", -] - -[[package]] -name = "test-types" -version = "0.1.0" - -[[package]] -name = "tock-registers" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "696941a0aee7e276a165a978b37918fd5d22c55c3d6bda197813070ca9c0f21c" - -[[package]] -name = "unicode-xid" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" diff --git a/20_timer_callbacks/kernel/Cargo.toml b/20_timer_callbacks/kernel/Cargo.toml index e127a857..87c9cbb6 100644 --- a/20_timer_callbacks/kernel/Cargo.toml +++ b/20_timer_callbacks/kernel/Cargo.toml @@ -26,7 +26,7 @@ qemu-exit = { version = "3.x.x", optional = true } # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } ##-------------------------------------------------------------------------------------------------- ## Testing diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/backtrace.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/backtrace.rs index e8860984..3511c918 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/backtrace.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/backtrace.rs @@ -15,7 +15,7 @@ use crate::{ backtrace::BacktraceItem, memory::{Address, Virtual}, }; -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/cpu.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/cpu.rs index 66da661c..7eb7f010 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/cpu.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/boot.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/boot.rs index 15ab92b6..d9662d3a 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/boot.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/boot.rs @@ -12,11 +12,11 @@ //! crate::cpu::boot::arch_boot use crate::{memory, memory::Address}; +use aarch64_cpu::{asm, registers::*}; use core::{ arch::global_asm, sync::atomic::{compiler_fence, Ordering}, }; -use cortex_a::{asm, registers::*}; use tock_registers::interfaces::Writeable; // Assembly counterpart to this file. diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/smp.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/smp.rs index 351fde62..9d304d65 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/smp.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/cpu/smp.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::smp::arch_smp -use cortex_a::registers::*; +use aarch64_cpu::registers::*; use tock_registers::interfaces::Readable; //-------------------------------------------------------------------------------------------------- diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/exception.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/exception.rs index e03e382f..a8bc0d2f 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/exception.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/exception.rs @@ -12,8 +12,8 @@ //! crate::exception::arch_exception use crate::{exception, memory, symbols}; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{arch::global_asm, cell::UnsafeCell, fmt}; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::{ interfaces::{Readable, Writeable}, registers::InMemoryRegister, diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/exception/asynchronous.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/exception/asynchronous.rs index cf6f97ac..f545a3e1 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/exception/asynchronous.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/exception/asynchronous.rs @@ -11,8 +11,8 @@ //! //! crate::exception::asynchronous::arch_asynchronous +use aarch64_cpu::registers::*; use core::arch::asm; -use cortex_a::registers::*; use tock_registers::interfaces::{Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/memory/mmu.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/memory/mmu.rs index 3d6c18b7..74a71d11 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/memory/mmu.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/memory/mmu.rs @@ -17,8 +17,8 @@ use crate::{ bsp, memory, memory::{mmu::TranslationGranule, Address, Physical}, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::intrinsics::unlikely; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/20_timer_callbacks/kernel/src/_arch/aarch64/time.rs b/20_timer_callbacks/kernel/src/_arch/aarch64/time.rs index 5479deb4..2807bc32 100644 --- a/20_timer_callbacks/kernel/src/_arch/aarch64/time.rs +++ b/20_timer_callbacks/kernel/src/_arch/aarch64/time.rs @@ -15,12 +15,12 @@ use crate::{ bsp::{self, exception}, warn, }; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::{ReadWriteable, Readable, Writeable}; //-------------------------------------------------------------------------------------------------- diff --git a/X1_JTAG_boot/Cargo.lock b/X1_JTAG_boot/Cargo.lock index bcfb442a..9020b4f9 100644 --- a/X1_JTAG_boot/Cargo.lock +++ b/X1_JTAG_boot/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "cortex-a" -version = "8.0.0" +name = "aarch64-cpu" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4524931a4e0ec50ae91f0d55f571f31ffe11dd9ce2f9905b8343c018c25bb" +checksum = "3aceb88e55ba626a5479279268d009a92d9d00eacce0de1b8c236c7ad31b7225" dependencies = [ "tock-registers", ] @@ -15,7 +15,7 @@ dependencies = [ name = "mingo" version = "0.8.0" dependencies = [ - "cortex-a", + "aarch64-cpu", "tock-registers", ] diff --git a/X1_JTAG_boot/Cargo.toml b/X1_JTAG_boot/Cargo.toml index 55963c38..e310c371 100644 --- a/X1_JTAG_boot/Cargo.toml +++ b/X1_JTAG_boot/Cargo.toml @@ -27,4 +27,4 @@ tock-registers = { version = "0.8.x", default-features = false, features = ["reg # Platform specific dependencies [target.'cfg(target_arch = "aarch64")'.dependencies] -cortex-a = { version = "8.x.x" } +aarch64-cpu = { version = "9.x.x" } diff --git a/X1_JTAG_boot/jtag_boot_rpi3.img b/X1_JTAG_boot/jtag_boot_rpi3.img index 8c67b2dd..f472e766 100755 Binary files a/X1_JTAG_boot/jtag_boot_rpi3.img and b/X1_JTAG_boot/jtag_boot_rpi3.img differ diff --git a/X1_JTAG_boot/jtag_boot_rpi4.img b/X1_JTAG_boot/jtag_boot_rpi4.img index ed65f3f6..b4bca1b7 100755 Binary files a/X1_JTAG_boot/jtag_boot_rpi4.img and b/X1_JTAG_boot/jtag_boot_rpi4.img differ diff --git a/X1_JTAG_boot/src/_arch/aarch64/cpu.rs b/X1_JTAG_boot/src/_arch/aarch64/cpu.rs index 4414ac6a..bbe7687a 100644 --- a/X1_JTAG_boot/src/_arch/aarch64/cpu.rs +++ b/X1_JTAG_boot/src/_arch/aarch64/cpu.rs @@ -11,7 +11,7 @@ //! //! crate::cpu::arch_cpu -use cortex_a::asm; +use aarch64_cpu::asm; //-------------------------------------------------------------------------------------------------- // Public Code diff --git a/X1_JTAG_boot/src/_arch/aarch64/time.rs b/X1_JTAG_boot/src/_arch/aarch64/time.rs index 92e778e7..400b3dcc 100644 --- a/X1_JTAG_boot/src/_arch/aarch64/time.rs +++ b/X1_JTAG_boot/src/_arch/aarch64/time.rs @@ -13,12 +13,12 @@ #[cfg(feature = "bsp_rpi3")] use crate::warn; +use aarch64_cpu::{asm::barrier, registers::*}; use core::{ num::{NonZeroU128, NonZeroU32, NonZeroU64}, ops::{Add, Div}, time::Duration, }; -use cortex_a::{asm::barrier, registers::*}; use tock_registers::interfaces::Readable; //--------------------------------------------------------------------------------------------------