diff --git a/04_zero_overhead_abstraction/Cargo.lock b/04_zero_overhead_abstraction/Cargo.lock index 5faad5b4..e2c90d83 100644 --- a/04_zero_overhead_abstraction/Cargo.lock +++ b/04_zero_overhead_abstraction/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -29,6 +29,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/04_zero_overhead_abstraction/Cargo.toml b/04_zero_overhead_abstraction/Cargo.toml index 6cb2c4f4..781328f2 100644 --- a/04_zero_overhead_abstraction/Cargo.toml +++ b/04_zero_overhead_abstraction/Cargo.toml @@ -13,4 +13,4 @@ bsp_rpi4 = ["cortex-a"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } diff --git a/04_zero_overhead_abstraction/README.md b/04_zero_overhead_abstraction/README.md index 0af2abed..9e52aa7c 100644 --- a/04_zero_overhead_abstraction/README.md +++ b/04_zero_overhead_abstraction/README.md @@ -25,7 +25,7 @@ diff -uNr 03_hacky_hello_world/Cargo.toml 04_zero_overhead_abstraction/Cargo.tom [dependencies] + +# Optional dependencies -+cortex-a = { version = "2.9.x", optional = true } ++cortex-a = { version = "3.0.x", optional = true } diff -uNr 03_hacky_hello_world/src/_arch/aarch64/cpu/smp.rs 04_zero_overhead_abstraction/src/_arch/aarch64/cpu/smp.rs --- 03_hacky_hello_world/src/_arch/aarch64/cpu/smp.rs diff --git a/05_safe_globals/Cargo.lock b/05_safe_globals/Cargo.lock index 5faad5b4..e2c90d83 100644 --- a/05_safe_globals/Cargo.lock +++ b/05_safe_globals/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -29,6 +29,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/05_safe_globals/Cargo.toml b/05_safe_globals/Cargo.toml index 6cb2c4f4..781328f2 100644 --- a/05_safe_globals/Cargo.toml +++ b/05_safe_globals/Cargo.toml @@ -13,4 +13,4 @@ bsp_rpi4 = ["cortex-a"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } diff --git a/06_drivers_gpio_uart/Cargo.lock b/06_drivers_gpio_uart/Cargo.lock index ed629245..6e8bfa34 100644 --- a/06_drivers_gpio_uart/Cargo.lock +++ b/06_drivers_gpio_uart/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/06_drivers_gpio_uart/Cargo.toml b/06_drivers_gpio_uart/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/06_drivers_gpio_uart/Cargo.toml +++ b/06_drivers_gpio_uart/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/06_drivers_gpio_uart/README.md b/06_drivers_gpio_uart/README.md index dcc46661..e7ce37da 100644 --- a/06_drivers_gpio_uart/README.md +++ b/06_drivers_gpio_uart/README.md @@ -105,7 +105,7 @@ diff -uNr 05_safe_globals/Cargo.toml 06_drivers_gpio_uart/Cargo.toml [dependencies] # Optional dependencies - cortex-a = { version = "2.9.x", optional = true } + cortex-a = { version = "3.0.x", optional = true } +register = { version = "0.5.x", optional = true } diff -uNr 05_safe_globals/src/_arch/aarch64/cpu.rs 06_drivers_gpio_uart/src/_arch/aarch64/cpu.rs diff --git a/07_uart_chainloader/Cargo.lock b/07_uart_chainloader/Cargo.lock index ed629245..6e8bfa34 100644 --- a/07_uart_chainloader/Cargo.lock +++ b/07_uart_chainloader/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/07_uart_chainloader/Cargo.toml b/07_uart_chainloader/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/07_uart_chainloader/Cargo.toml +++ b/07_uart_chainloader/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/08_timestamps/Cargo.lock b/08_timestamps/Cargo.lock index ed629245..6e8bfa34 100644 --- a/08_timestamps/Cargo.lock +++ b/08_timestamps/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/08_timestamps/Cargo.toml b/08_timestamps/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/08_timestamps/Cargo.toml +++ b/08_timestamps/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/09_hw_debug_JTAG/Cargo.lock b/09_hw_debug_JTAG/Cargo.lock index ed629245..6e8bfa34 100644 --- a/09_hw_debug_JTAG/Cargo.lock +++ b/09_hw_debug_JTAG/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/09_hw_debug_JTAG/Cargo.toml b/09_hw_debug_JTAG/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/09_hw_debug_JTAG/Cargo.toml +++ b/09_hw_debug_JTAG/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/10_privilege_level/Cargo.lock b/10_privilege_level/Cargo.lock index ed629245..6e8bfa34 100644 --- a/10_privilege_level/Cargo.lock +++ b/10_privilege_level/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/10_privilege_level/Cargo.toml b/10_privilege_level/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/10_privilege_level/Cargo.toml +++ b/10_privilege_level/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/11_virtual_memory/Cargo.lock b/11_virtual_memory/Cargo.lock index ed629245..6e8bfa34 100644 --- a/11_virtual_memory/Cargo.lock +++ b/11_virtual_memory/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/11_virtual_memory/Cargo.toml b/11_virtual_memory/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/11_virtual_memory/Cargo.toml +++ b/11_virtual_memory/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/11_virtual_memory/README.md b/11_virtual_memory/README.md index 90c6c85b..935646db 100644 --- a/11_virtual_memory/README.md +++ b/11_virtual_memory/README.md @@ -168,12 +168,11 @@ fn set_up_mair() { // Define the memory types being mapped. MAIR_EL1.write( // Attribute 1 - Cacheable normal DRAM. - MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc - + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc + MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + + MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + - // Attribute 0 - Device. - + MAIR_EL1::Attr0_HIGH::Device - + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, + // Attribute 0 - Device. + MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, ); } ``` @@ -228,13 +227,12 @@ Let's take a look again at the piece of code for setting up the `MAIR_EL1` regis fn set_up_mair() { // Define the memory types being mapped. MAIR_EL1.write( - // Attribute 1 - Cacheable normal DRAM - MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc - + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc + // Attribute 1 - Cacheable normal DRAM. + MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + + MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + - // Attribute 0 - Device - + MAIR_EL1::Attr0_HIGH::Device - + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, + // Attribute 0 - Device. + MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, ); } ``` @@ -300,7 +298,7 @@ Minipush 1.0 diff -uNr 10_privilege_level/src/_arch/aarch64/memory/mmu.rs 11_virtual_memory/src/_arch/aarch64/memory/mmu.rs --- 10_privilege_level/src/_arch/aarch64/memory/mmu.rs +++ 11_virtual_memory/src/_arch/aarch64/memory/mmu.rs -@@ -0,0 +1,320 @@ +@@ -0,0 +1,319 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// +// Copyright (c) 2018-2020 Andre Richter @@ -530,12 +528,11 @@ diff -uNr 10_privilege_level/src/_arch/aarch64/memory/mmu.rs 11_virtual_memory/s + // Define the memory types being mapped. + MAIR_EL1.write( + // Attribute 1 - Cacheable normal DRAM. -+ MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc -+ + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc ++ MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + ++ MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + + -+ // Attribute 0 - Device. -+ + MAIR_EL1::Attr0_HIGH::Device -+ + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, ++ // Attribute 0 - Device. ++ MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, + ); +} + diff --git a/11_virtual_memory/src/_arch/aarch64/memory/mmu.rs b/11_virtual_memory/src/_arch/aarch64/memory/mmu.rs index e9c9d038..79a1bb65 100644 --- a/11_virtual_memory/src/_arch/aarch64/memory/mmu.rs +++ b/11_virtual_memory/src/_arch/aarch64/memory/mmu.rs @@ -227,12 +227,11 @@ fn set_up_mair() { // Define the memory types being mapped. MAIR_EL1.write( // Attribute 1 - Cacheable normal DRAM. - MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc - + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc + MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + + MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + - // Attribute 0 - Device. - + MAIR_EL1::Attr0_HIGH::Device - + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, + // Attribute 0 - Device. + MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, ); } diff --git a/12_exceptions_part1_groundwork/Cargo.lock b/12_exceptions_part1_groundwork/Cargo.lock index ed629245..6e8bfa34 100644 --- a/12_exceptions_part1_groundwork/Cargo.lock +++ b/12_exceptions_part1_groundwork/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/12_exceptions_part1_groundwork/Cargo.toml b/12_exceptions_part1_groundwork/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/12_exceptions_part1_groundwork/Cargo.toml +++ b/12_exceptions_part1_groundwork/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/12_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs b/12_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs index e9c9d038..79a1bb65 100644 --- a/12_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs +++ b/12_exceptions_part1_groundwork/src/_arch/aarch64/memory/mmu.rs @@ -227,12 +227,11 @@ fn set_up_mair() { // Define the memory types being mapped. MAIR_EL1.write( // Attribute 1 - Cacheable normal DRAM. - MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc - + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc + MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + + MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + - // Attribute 0 - Device. - + MAIR_EL1::Attr0_HIGH::Device - + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, + // Attribute 0 - Device. + MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, ); } diff --git a/13_integrated_testing/Cargo.lock b/13_integrated_testing/Cargo.lock index 114c0206..28f37490 100644 --- a/13_integrated_testing/Cargo.lock +++ b/13_integrated_testing/Cargo.lock @@ -28,7 +28,7 @@ dependencies = [ [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -38,7 +38,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "qemu-exit 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "test-macros 0.1.0", @@ -159,7 +159,7 @@ dependencies = [ "checksum bit_field 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed8765909f9009617974ab6b7d332625b320b33c326b1e9321382ef1999b5d56" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" "checksum cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0" -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" "checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" "checksum qemu-exit 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6eef8966dfa42074458b801f4ca70c0a070a84a500022584cc11d7a3c1fdb105" diff --git a/13_integrated_testing/Cargo.toml b/13_integrated_testing/Cargo.toml index 18df5acf..c8b1c0be 100644 --- a/13_integrated_testing/Cargo.toml +++ b/13_integrated_testing/Cargo.toml @@ -15,7 +15,7 @@ qemu-exit = "0.1.x" test-types = { path = "test-types" } # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", features=["no_std_unit_tests"], optional = true } ##-------------------------------------------------------------------------------------------------- diff --git a/13_integrated_testing/README.md b/13_integrated_testing/README.md index 762b36dd..17ae7875 100644 --- a/13_integrated_testing/README.md +++ b/13_integrated_testing/README.md @@ -786,7 +786,7 @@ diff -uNr 12_exceptions_part1_groundwork/Cargo.toml 13_integrated_testing/Cargo. +test-types = { path = "test-types" } # Optional dependencies - cortex-a = { version = "2.9.x", optional = true } + cortex-a = { version = "3.0.x", optional = true } -register = { version = "0.5.x", optional = true } +register = { version = "0.5.x", features=["no_std_unit_tests"], optional = true } + diff --git a/13_integrated_testing/src/_arch/aarch64/memory/mmu.rs b/13_integrated_testing/src/_arch/aarch64/memory/mmu.rs index e9c9d038..79a1bb65 100644 --- a/13_integrated_testing/src/_arch/aarch64/memory/mmu.rs +++ b/13_integrated_testing/src/_arch/aarch64/memory/mmu.rs @@ -227,12 +227,11 @@ fn set_up_mair() { // Define the memory types being mapped. MAIR_EL1.write( // Attribute 1 - Cacheable normal DRAM. - MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc - + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc + MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + + MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + - // Attribute 0 - Device. - + MAIR_EL1::Attr0_HIGH::Device - + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, + // Attribute 0 - Device. + MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, ); } diff --git a/14_exceptions_part2_peripheral_IRQs/Cargo.lock b/14_exceptions_part2_peripheral_IRQs/Cargo.lock index 114c0206..28f37490 100644 --- a/14_exceptions_part2_peripheral_IRQs/Cargo.lock +++ b/14_exceptions_part2_peripheral_IRQs/Cargo.lock @@ -28,7 +28,7 @@ dependencies = [ [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -38,7 +38,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "qemu-exit 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "test-macros 0.1.0", @@ -159,7 +159,7 @@ dependencies = [ "checksum bit_field 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed8765909f9009617974ab6b7d332625b320b33c326b1e9321382ef1999b5d56" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" "checksum cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0" -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" "checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" "checksum qemu-exit 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6eef8966dfa42074458b801f4ca70c0a070a84a500022584cc11d7a3c1fdb105" diff --git a/14_exceptions_part2_peripheral_IRQs/Cargo.toml b/14_exceptions_part2_peripheral_IRQs/Cargo.toml index e48f74b0..742754fc 100644 --- a/14_exceptions_part2_peripheral_IRQs/Cargo.toml +++ b/14_exceptions_part2_peripheral_IRQs/Cargo.toml @@ -16,7 +16,7 @@ qemu-exit = "0.1.x" test-types = { path = "test-types" } # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", features=["no_std_unit_tests"], optional = true } ##-------------------------------------------------------------------------------------------------- diff --git a/14_exceptions_part2_peripheral_IRQs/src/_arch/aarch64/memory/mmu.rs b/14_exceptions_part2_peripheral_IRQs/src/_arch/aarch64/memory/mmu.rs index e9c9d038..79a1bb65 100644 --- a/14_exceptions_part2_peripheral_IRQs/src/_arch/aarch64/memory/mmu.rs +++ b/14_exceptions_part2_peripheral_IRQs/src/_arch/aarch64/memory/mmu.rs @@ -227,12 +227,11 @@ fn set_up_mair() { // Define the memory types being mapped. MAIR_EL1.write( // Attribute 1 - Cacheable normal DRAM. - MAIR_EL1::Attr1_HIGH::Memory_OuterWriteBack_NonTransient_ReadAlloc_WriteAlloc - + MAIR_EL1::Attr1_LOW_MEMORY::InnerWriteBack_NonTransient_ReadAlloc_WriteAlloc + MAIR_EL1::Attr1_Normal_Outer::WriteBack_NonTransient_ReadWriteAlloc + + MAIR_EL1::Attr1_Normal_Inner::WriteBack_NonTransient_ReadWriteAlloc + - // Attribute 0 - Device. - + MAIR_EL1::Attr0_HIGH::Device - + MAIR_EL1::Attr0_LOW_DEVICE::Device_nGnRE, + // Attribute 0 - Device. + MAIR_EL1::Attr0_Device::nonGathering_nonReordering_EarlyWriteAck, ); } diff --git a/X1_JTAG_boot/Cargo.lock b/X1_JTAG_boot/Cargo.lock index ed629245..6e8bfa34 100644 --- a/X1_JTAG_boot/Cargo.lock +++ b/X1_JTAG_boot/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "cortex-a" -version = "2.9.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -12,7 +12,7 @@ dependencies = [ name = "kernel" version = "0.1.0" dependencies = [ - "cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -30,6 +30,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum cortex-a 2.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd807a12241940332c7c9f6aeaf3f7539d4213853d32445d17c97f3e7eebe118" +"checksum cortex-a 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe426c156a94855f18a660f9310c2f277b7f03d2c2ba4d4c6e0b7aa16b02cbc2" "checksum register 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e10c2ba523bc81270ecb9b6ca6704f42cd1efec89fddbfe0e520ad0e218f401" "checksum tock-registers 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70323afdb8082186c0986da0e10f6e4ed103d681c921c00597e98d9806dac20f" diff --git a/X1_JTAG_boot/Cargo.toml b/X1_JTAG_boot/Cargo.toml index a98bd72a..d5956e2b 100644 --- a/X1_JTAG_boot/Cargo.toml +++ b/X1_JTAG_boot/Cargo.toml @@ -13,5 +13,5 @@ bsp_rpi4 = ["cortex-a", "register"] [dependencies] # Optional dependencies -cortex-a = { version = "2.9.x", optional = true } +cortex-a = { version = "3.0.x", optional = true } register = { version = "0.5.x", optional = true } diff --git a/X1_JTAG_boot/jtag_boot_rpi3.img b/X1_JTAG_boot/jtag_boot_rpi3.img index 407ed26e..f39f1e48 100755 Binary files a/X1_JTAG_boot/jtag_boot_rpi3.img and b/X1_JTAG_boot/jtag_boot_rpi3.img differ