From e4b12e2c45df1e868d4bbd906f6d9789d5ba0d33 Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Sat, 10 Jul 2021 03:27:47 +0300 Subject: [PATCH] Update to latest versions of dependencies --- Cargo.lock | 45 ++++++++++--------------- nucleus/Cargo.toml | 12 +++---- nucleus/src/arch/aarch64/boot.rs | 3 +- nucleus/src/arch/aarch64/memory/mmu.rs | 18 +++++----- nucleus/src/arch/aarch64/traps.rs | 9 +++-- nucleus/src/platform/rpi3/gpio.rs | 8 +++-- nucleus/src/platform/rpi3/mailbox.rs | 4 +-- nucleus/src/platform/rpi3/mini_uart.rs | 2 +- nucleus/src/platform/rpi3/pl011_uart.rs | 2 +- nucleus/src/platform/rpi3/power.rs | 2 +- 10 files changed, 51 insertions(+), 54 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4372442..545dca4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -22,11 +22,11 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cortex-a" -version = "5.1.6" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecefc30975eb87afc5a810d4b2305c0ec29e607ea97e51b2ecd80766e9268d28" +checksum = "d25a057b35117d030453cd322f7adbdd331e886bc5bde46cdae656952c4feba6" dependencies = [ - "register", + "tock-registers", ] [[package]] @@ -37,18 +37,18 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "proc-macro2" -version = "1.0.24" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ "unicode-xid", ] [[package]] name = "qemu-exit" -version = "1.0.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702abe3c3255be20a4d67bda326c4117081a49a57afaf752de4845091bc6b476" +checksum = "220eb94f40665452ab6114bf8a8d86aa1fd41c6dbfaa4ab71b5912c8adb80389" [[package]] name = "quote" @@ -65,20 +65,11 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd7a31eed1591dcbc95d92ad7161908e72f4677f8fabf2a32ca49b4237cbf211" -[[package]] -name = "register" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a247de29ab7cc8f5006cfe775c4a81c704f9914c5e2a79696862e643135433" -dependencies = [ - "tock-registers", -] - [[package]] name = "snafu" -version = "0.6.10" +version = "0.7.0-beta.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab12d3c261b2308b0d80c26fffb58d17eba81a4be97890101f416b478c79ca7" +checksum = "15f918bbe88782fcafbae7cc73706f69334ed796485350caa067f07c9aeabdc3" dependencies = [ "doc-comment", "snafu-derive", @@ -86,9 +77,9 @@ dependencies = [ [[package]] name = "snafu-derive" -version = "0.6.10" +version = "0.7.0-beta.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1508efa03c362e23817f96cde18abed596a25219a8b2c66e8db33c03543d315b" +checksum = "3dc5ac2fdc63fa51eee6a8dd048589f899d265dbd465b2a6176e3903ce453bfc" dependencies = [ "proc-macro2", "quote", @@ -97,9 +88,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.64" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd9d1e9976102a03c542daa2eff1b43f9d72306342f3f8b3ed5fb8908195d6f" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" dependencies = [ "proc-macro2", "quote", @@ -108,15 +99,15 @@ dependencies = [ [[package]] name = "tock-registers" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f521a79accce68c417c9c77ce22108056b626126da1932f7e2e9b5bbffee0cea" +checksum = "4ee8fba06c1f4d0b396ef61a54530bb6b28f0dc61c38bc8bc5a5a48161e6282e" [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "usize_conversions" @@ -140,8 +131,8 @@ dependencies = [ "cortex-a", "qemu-exit", "r0", - "register", "snafu", + "tock-registers", "usize_conversions", "ux", ] diff --git a/nucleus/Cargo.toml b/nucleus/Cargo.toml index a224a2d..3eb0c5c 100644 --- a/nucleus/Cargo.toml +++ b/nucleus/Cargo.toml @@ -25,12 +25,12 @@ qemu = ["qemu-exit"] [dependencies] r0 = "1.0" -qemu-exit = { version = "1.0", optional = true } -cortex-a = "5.1" -register = "1.0" +qemu-exit = { version = "2.0", optional = true } +cortex-a = "6.0" +tock-registers = "0.7" ux = { version = "0.1.3", default-features = false } usize_conversions = "0.2.0" -bit_field = "0.10.0" -bitflags = "1.2.1" +bit_field = "0.10.1" +bitflags = "1.2" cfg-if = "1.0" -snafu = { version = "0.6", default-features = false } +snafu = { version = "0.7.0-beta.0", default-features = false } diff --git a/nucleus/src/arch/aarch64/boot.rs b/nucleus/src/arch/aarch64/boot.rs index 94bab34..7af95ed 100644 --- a/nucleus/src/arch/aarch64/boot.rs +++ b/nucleus/src/arch/aarch64/boot.rs @@ -10,7 +10,8 @@ use { crate::endless_sleep, - cortex_a::{asm, regs::*}, + cortex_a::{asm, registers::*}, + tock_registers::interfaces::{Readable, Writeable}, }; // Stack placed before first executable instruction diff --git a/nucleus/src/arch/aarch64/memory/mmu.rs b/nucleus/src/arch/aarch64/memory/mmu.rs index ad0a9b3..c3d6e8b 100644 --- a/nucleus/src/arch/aarch64/memory/mmu.rs +++ b/nucleus/src/arch/aarch64/memory/mmu.rs @@ -27,23 +27,23 @@ use { // ptr::Unique, }, cortex_a::{ - barrier, - regs::{ID_AA64MMFR0_EL1, SCTLR_EL1, TCR_EL1, TTBR0_EL1}, + asm::barrier, + registers::{ID_AA64MMFR0_EL1, SCTLR_EL1, TCR_EL1, TTBR0_EL1}, }, - register::{ - cpu::{RegisterReadOnly, RegisterReadWrite}, + tock_registers::{ + fields::FieldValue, + interfaces::{ReadWriteable, Readable, Writeable}, register_bitfields, }, // ux::*, }; mod mair { - use cortex_a::regs::MAIR_EL1; + use cortex_a::registers::MAIR_EL1; + use tock_registers::interfaces::Writeable; /// Setup function for the MAIR_EL1 register. pub fn set_up() { - use cortex_a::regs::RegisterReadWrite; - // Define the three memory types that we will map. Normal DRAM, Uncached and device. MAIR_EL1.write( // Attribute 2 -- Device Memory @@ -296,7 +296,7 @@ register_bitfields! { /// attributes of the MMU. fn into_mmu_attributes( attribute_fields: AttributeFields, -) -> register::FieldValue { +) -> FieldValue { use super::{AccessPermissions, MemAttributes}; // Memory attributes @@ -402,7 +402,7 @@ impl PageSize for Size2MiB { impl NotGiantPageSize for Size2MiB {} -type EntryFlags = register::FieldValue; +type EntryFlags = tock_registers::fields::FieldValue; // type EntryRegister = register::LocalRegisterCopy; /// L0 table -- only pointers to L1 tables diff --git a/nucleus/src/arch/aarch64/traps.rs b/nucleus/src/arch/aarch64/traps.rs index 4f674ba..330128f 100644 --- a/nucleus/src/arch/aarch64/traps.rs +++ b/nucleus/src/arch/aarch64/traps.rs @@ -52,11 +52,14 @@ use { crate::{arch::endless_sleep, println}, cortex_a::{ - barrier, - regs::{RegisterReadOnly, RegisterReadWrite, ESR_EL1, FAR_EL1, VBAR_EL1}, + asm::barrier, + registers::{ESR_EL1, FAR_EL1, VBAR_EL1}, }, - register::{register_bitfields, LocalRegisterCopy}, snafu::Snafu, + tock_registers::{ + interfaces::{Readable, Writeable}, + register_bitfields, LocalRegisterCopy, + }, }; global_asm!(include_str!("vectors.S")); diff --git a/nucleus/src/platform/rpi3/gpio.rs b/nucleus/src/platform/rpi3/gpio.rs index 169ef88..3fc0625 100644 --- a/nucleus/src/platform/rpi3/gpio.rs +++ b/nucleus/src/platform/rpi3/gpio.rs @@ -9,9 +9,11 @@ use { super::BcmHost, crate::arch::loop_delay, core::{marker::PhantomData, ops}, - register::{ - mmio::{ReadOnly, ReadWrite, WriteOnly}, - register_bitfields, FieldValue, + tock_registers::{ + fields::FieldValue, + interfaces::{ReadWriteable, Readable, Writeable}, + register_bitfields, + registers::{ReadOnly, ReadWrite, WriteOnly}, }, }; diff --git a/nucleus/src/platform/rpi3/mailbox.rs b/nucleus/src/platform/rpi3/mailbox.rs index 734ff53..a0bb2bd 100644 --- a/nucleus/src/platform/rpi3/mailbox.rs +++ b/nucleus/src/platform/rpi3/mailbox.rs @@ -19,8 +19,8 @@ use { ptr::NonNull, sync::atomic::{compiler_fence, Ordering}, }, - cortex_a::barrier, - register::{mmio::*, register_bitfields}, + cortex_a::asm::barrier, + tock_registers::{interfaces::*, register_bitfields, registers::*}, }; /// Public interface to the mailbox. diff --git a/nucleus/src/platform/rpi3/mini_uart.rs b/nucleus/src/platform/rpi3/mini_uart.rs index 93d1600..f7359ec 100644 --- a/nucleus/src/platform/rpi3/mini_uart.rs +++ b/nucleus/src/platform/rpi3/mini_uart.rs @@ -10,7 +10,7 @@ use { crate::devices::ConsoleOps, cfg_if::cfg_if, core::{convert::From, fmt, ops}, - register::{mmio::*, register_bitfields}, + tock_registers::{interfaces::*, register_bitfields, registers::*}, }; // Auxiliary mini UART registers diff --git a/nucleus/src/platform/rpi3/pl011_uart.rs b/nucleus/src/platform/rpi3/pl011_uart.rs index f51c7c6..97dbb57 100644 --- a/nucleus/src/platform/rpi3/pl011_uart.rs +++ b/nucleus/src/platform/rpi3/pl011_uart.rs @@ -16,8 +16,8 @@ use { }, crate::{arch::loop_until, devices::ConsoleOps}, core::ops, - register::{mmio::*, register_bitfields}, snafu::Snafu, + tock_registers::{interfaces::*, register_bitfields, registers::*}, }; // PL011 UART registers. diff --git a/nucleus/src/platform/rpi3/power.rs b/nucleus/src/platform/rpi3/power.rs index efad91d..995767d 100644 --- a/nucleus/src/platform/rpi3/power.rs +++ b/nucleus/src/platform/rpi3/power.rs @@ -13,8 +13,8 @@ use { }, crate::arch::loop_delay, core::ops, - register::mmio::*, snafu::Snafu, + tock_registers::{interfaces::*, registers::*}, }; const POWER_BASE: usize = BcmHost::get_peripheral_address() + 0x0010_001C;