Bump toolchain version; Fix clippy warnings

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

@ -602,7 +602,7 @@ diff -uNr 09_privilege_level/src/_arch/aarch64/memory/mmu/translation_table.rs 1
+ + STAGE1_PAGE_DESCRIPTOR::AF::True + + STAGE1_PAGE_DESCRIPTOR::AF::True
+ + STAGE1_PAGE_DESCRIPTOR::TYPE::Page + + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ + STAGE1_PAGE_DESCRIPTOR::VALID::True + + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ + attribute_fields.clone().into(), + + (*attribute_fields).into(),
+ ); + );
+ +
+ Self { value: val.get() } + Self { value: val.get() }

@ -235,7 +235,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }

@ -235,7 +235,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }

@ -235,7 +235,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }

@ -235,7 +235,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }

@ -659,7 +659,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/_arch/aarch64/memory/mmu/trans
+ phys_pages: &PageSliceDescriptor<Physical>, + phys_pages: &PageSliceDescriptor<Physical>,
+ attr: &AttributeFields, + attr: &AttributeFields,
+ ) -> Result<(), &'static str> { + ) -> Result<(), &'static str> {
+ assert_eq!(self.initialized, true, "Translation tables not initialized"); + assert!(self.initialized, "Translation tables not initialized");
+ +
+ let p = phys_pages.as_slice(); + let p = phys_pages.as_slice();
+ let v = virt_pages.as_slice(); + let v = virt_pages.as_slice();
@ -700,7 +700,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/_arch/aarch64/memory/mmu/trans
+ &mut self, + &mut self,
+ num_pages: usize, + num_pages: usize,
+ ) -> Result<PageSliceDescriptor<Virtual>, &'static str> { + ) -> Result<PageSliceDescriptor<Virtual>, &'static str> {
+ assert_eq!(self.initialized, true, "Translation tables not initialized"); + assert!(self.initialized, "Translation tables not initialized");
+ +
+ if num_pages == 0 { + if num_pages == 0 {
+ return Err("num_pages == 0"); + return Err("num_pages == 0");
@ -2213,7 +2213,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/main.rs 14_virtual_mem_part2_m
diff -uNr 13_exceptions_part2_peripheral_IRQs/src/memory/mmu/mapping_record.rs 14_virtual_mem_part2_mmio_remap/src/memory/mmu/mapping_record.rs diff -uNr 13_exceptions_part2_peripheral_IRQs/src/memory/mmu/mapping_record.rs 14_virtual_mem_part2_mmio_remap/src/memory/mmu/mapping_record.rs
--- 13_exceptions_part2_peripheral_IRQs/src/memory/mmu/mapping_record.rs --- 13_exceptions_part2_peripheral_IRQs/src/memory/mmu/mapping_record.rs
+++ 14_virtual_mem_part2_mmio_remap/src/memory/mmu/mapping_record.rs +++ 14_virtual_mem_part2_mmio_remap/src/memory/mmu/mapping_record.rs
@@ -0,0 +1,221 @@ @@ -0,0 +1,216 @@
+// SPDX-License-Identifier: MIT OR Apache-2.0 +// SPDX-License-Identifier: MIT OR Apache-2.0
+// +//
+// Copyright (c) 2020-2021 Andre Richter <andre.o.richter@gmail.com> +// Copyright (c) 2020-2021 Andre Richter <andre.o.richter@gmail.com>
@ -2334,12 +2334,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/memory/mmu/mapping_record.rs 1
+ ); + );
+ info!(" -------------------------------------------------------------------------------------------------------------------------------------------"); + info!(" -------------------------------------------------------------------------------------------------------------------------------------------");
+ +
+ for i in self + for i in self.inner.iter().flatten() {
+ .inner
+ .iter()
+ .filter(|x| x.is_some())
+ .map(|x| x.unwrap())
+ {
+ let virt_start = i.virt_start_addr; + let virt_start = i.virt_start_addr;
+ let virt_end_inclusive = virt_start + i.phys_pages.size() - 1; + let virt_end_inclusive = virt_start + i.phys_pages.size() - 1;
+ let phys_start = i.phys_pages.start_addr(); + let phys_start = i.phys_pages.start_addr();
@ -2418,7 +2413,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/memory/mmu/mapping_record.rs 1
+ mmio_descriptor: &MMIODescriptor, + mmio_descriptor: &MMIODescriptor,
+ new_user: &'static str, + new_user: &'static str,
+) -> Option<Address<Virtual>> { +) -> Option<Address<Virtual>> {
+ let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); + let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
+ +
+ KERNEL_MAPPING_RECORD.write(|mr| { + KERNEL_MAPPING_RECORD.write(|mr| {
+ let dup = mr.find_duplicate(&phys_pages)?; + let dup = mr.find_duplicate(&phys_pages)?;
@ -3068,7 +3063,7 @@ diff -uNr 13_exceptions_part2_peripheral_IRQs/src/memory/mmu.rs 14_virtual_mem_p
+ name: &'static str, + name: &'static str,
+ mmio_descriptor: &MMIODescriptor, + mmio_descriptor: &MMIODescriptor,
+) -> Result<Address<Virtual>, &'static str> { +) -> Result<Address<Virtual>, &'static str> {
+ let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); + let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
+ let offset_into_start_page = + let offset_into_start_page =
+ mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK; + mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK;
+ +

@ -237,7 +237,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }
@ -364,7 +364,7 @@ impl<const NUM_TABLES: usize> memory::mmu::translation_table::interface::Transla
phys_pages: &PageSliceDescriptor<Physical>, phys_pages: &PageSliceDescriptor<Physical>,
attr: &AttributeFields, attr: &AttributeFields,
) -> Result<(), &'static str> { ) -> Result<(), &'static str> {
assert_eq!(self.initialized, true, "Translation tables not initialized"); assert!(self.initialized, "Translation tables not initialized");
let p = phys_pages.as_slice(); let p = phys_pages.as_slice();
let v = virt_pages.as_slice(); let v = virt_pages.as_slice();
@ -399,7 +399,7 @@ impl<const NUM_TABLES: usize> memory::mmu::translation_table::interface::Transla
&mut self, &mut self,
num_pages: usize, num_pages: usize,
) -> Result<PageSliceDescriptor<Virtual>, &'static str> { ) -> Result<PageSliceDescriptor<Virtual>, &'static str> {
assert_eq!(self.initialized, true, "Translation tables not initialized"); assert!(self.initialized, "Translation tables not initialized");
if num_pages == 0 { if num_pages == 0 {
return Err("num_pages == 0"); return Err("num_pages == 0");

@ -182,7 +182,7 @@ pub unsafe fn kernel_map_mmio(
name: &'static str, name: &'static str,
mmio_descriptor: &MMIODescriptor, mmio_descriptor: &MMIODescriptor,
) -> Result<Address<Virtual>, &'static str> { ) -> Result<Address<Virtual>, &'static str> {
let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
let offset_into_start_page = let offset_into_start_page =
mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK; mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK;

@ -118,12 +118,7 @@ impl MappingRecord {
); );
info!(" -------------------------------------------------------------------------------------------------------------------------------------------"); info!(" -------------------------------------------------------------------------------------------------------------------------------------------");
for i in self for i in self.inner.iter().flatten() {
.inner
.iter()
.filter(|x| x.is_some())
.map(|x| x.unwrap())
{
let virt_start = i.virt_start_addr; let virt_start = i.virt_start_addr;
let virt_end_inclusive = virt_start + i.phys_pages.size() - 1; let virt_end_inclusive = virt_start + i.phys_pages.size() - 1;
let phys_start = i.phys_pages.start_addr(); let phys_start = i.phys_pages.start_addr();
@ -202,7 +197,7 @@ pub fn kernel_find_and_insert_mmio_duplicate(
mmio_descriptor: &MMIODescriptor, mmio_descriptor: &MMIODescriptor,
new_user: &'static str, new_user: &'static str,
) -> Option<Address<Virtual>> { ) -> Option<Address<Virtual>> {
let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
KERNEL_MAPPING_RECORD.write(|mr| { KERNEL_MAPPING_RECORD.write(|mr| {
let dup = mr.find_duplicate(&phys_pages)?; let dup = mr.find_duplicate(&phys_pages)?;

@ -236,7 +236,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }
@ -374,7 +374,7 @@ impl<const NUM_TABLES: usize> memory::mmu::translation_table::interface::Transla
phys_pages: &PageSliceDescriptor<Physical>, phys_pages: &PageSliceDescriptor<Physical>,
attr: &AttributeFields, attr: &AttributeFields,
) -> Result<(), &'static str> { ) -> Result<(), &'static str> {
assert_eq!(self.initialized, true, "Translation tables not initialized"); assert!(self.initialized, "Translation tables not initialized");
let p = phys_pages.as_slice(); let p = phys_pages.as_slice();
let v = virt_pages.as_slice(); let v = virt_pages.as_slice();
@ -409,7 +409,7 @@ impl<const NUM_TABLES: usize> memory::mmu::translation_table::interface::Transla
&mut self, &mut self,
num_pages: usize, num_pages: usize,
) -> Result<PageSliceDescriptor<Virtual>, &'static str> { ) -> Result<PageSliceDescriptor<Virtual>, &'static str> {
assert_eq!(self.initialized, true, "Translation tables not initialized"); assert!(self.initialized, "Translation tables not initialized");
if num_pages == 0 { if num_pages == 0 {
return Err("num_pages == 0"); return Err("num_pages == 0");

@ -208,7 +208,7 @@ pub unsafe fn kernel_map_mmio(
name: &'static str, name: &'static str,
mmio_descriptor: &MMIODescriptor, mmio_descriptor: &MMIODescriptor,
) -> Result<Address<Virtual>, &'static str> { ) -> Result<Address<Virtual>, &'static str> {
let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
let offset_into_start_page = let offset_into_start_page =
mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK; mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK;

@ -118,12 +118,7 @@ impl MappingRecord {
); );
info!(" -------------------------------------------------------------------------------------------------------------------------------------------"); info!(" -------------------------------------------------------------------------------------------------------------------------------------------");
for i in self for i in self.inner.iter().flatten() {
.inner
.iter()
.filter(|x| x.is_some())
.map(|x| x.unwrap())
{
let virt_start = i.virt_start_addr; let virt_start = i.virt_start_addr;
let virt_end_inclusive = virt_start + i.phys_pages.size() - 1; let virt_end_inclusive = virt_start + i.phys_pages.size() - 1;
let phys_start = i.phys_pages.start_addr(); let phys_start = i.phys_pages.start_addr();
@ -202,7 +197,7 @@ pub fn kernel_find_and_insert_mmio_duplicate(
mmio_descriptor: &MMIODescriptor, mmio_descriptor: &MMIODescriptor,
new_user: &'static str, new_user: &'static str,
) -> Option<Address<Virtual>> { ) -> Option<Address<Virtual>> {
let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
KERNEL_MAPPING_RECORD.write(|mr| { KERNEL_MAPPING_RECORD.write(|mr| {
let dup = mr.find_duplicate(&phys_pages)?; let dup = mr.find_duplicate(&phys_pages)?;

@ -236,7 +236,7 @@ impl PageDescriptor {
+ STAGE1_PAGE_DESCRIPTOR::AF::True + STAGE1_PAGE_DESCRIPTOR::AF::True
+ STAGE1_PAGE_DESCRIPTOR::TYPE::Page + STAGE1_PAGE_DESCRIPTOR::TYPE::Page
+ STAGE1_PAGE_DESCRIPTOR::VALID::True + STAGE1_PAGE_DESCRIPTOR::VALID::True
+ attribute_fields.clone().into(), + (*attribute_fields).into(),
); );
Self { value: val.get() } Self { value: val.get() }
@ -401,7 +401,7 @@ impl<const NUM_TABLES: usize, const START_FROM_TOP: bool>
phys_pages: &PageSliceDescriptor<Physical>, phys_pages: &PageSliceDescriptor<Physical>,
attr: &AttributeFields, attr: &AttributeFields,
) -> Result<(), &'static str> { ) -> Result<(), &'static str> {
assert_eq!(self.initialized, true, "Translation tables not initialized"); assert!(self.initialized, "Translation tables not initialized");
let p = phys_pages.as_slice(); let p = phys_pages.as_slice();
let v = virt_pages.as_slice(); let v = virt_pages.as_slice();
@ -436,7 +436,7 @@ impl<const NUM_TABLES: usize, const START_FROM_TOP: bool>
&mut self, &mut self,
num_pages: usize, num_pages: usize,
) -> Result<PageSliceDescriptor<Virtual>, &'static str> { ) -> Result<PageSliceDescriptor<Virtual>, &'static str> {
assert_eq!(self.initialized, true, "Translation tables not initialized"); assert!(self.initialized, "Translation tables not initialized");
if num_pages == 0 { if num_pages == 0 {
return Err("num_pages == 0"); return Err("num_pages == 0");

@ -213,7 +213,7 @@ pub unsafe fn kernel_map_mmio(
name: &'static str, name: &'static str,
mmio_descriptor: &MMIODescriptor, mmio_descriptor: &MMIODescriptor,
) -> Result<Address<Virtual>, &'static str> { ) -> Result<Address<Virtual>, &'static str> {
let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
let offset_into_start_page = let offset_into_start_page =
mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK; mmio_descriptor.start_addr().into_usize() & bsp::memory::mmu::KernelGranule::MASK;

@ -118,12 +118,7 @@ impl MappingRecord {
); );
info!(" -------------------------------------------------------------------------------------------------------------------------------------------"); info!(" -------------------------------------------------------------------------------------------------------------------------------------------");
for i in self for i in self.inner.iter().flatten() {
.inner
.iter()
.filter(|x| x.is_some())
.map(|x| x.unwrap())
{
let virt_start = i.virt_start_addr; let virt_start = i.virt_start_addr;
let virt_end_inclusive = virt_start + i.phys_pages.size() - 1; let virt_end_inclusive = virt_start + i.phys_pages.size() - 1;
let phys_start = i.phys_pages.start_addr(); let phys_start = i.phys_pages.start_addr();
@ -202,7 +197,7 @@ pub fn kernel_find_and_insert_mmio_duplicate(
mmio_descriptor: &MMIODescriptor, mmio_descriptor: &MMIODescriptor,
new_user: &'static str, new_user: &'static str,
) -> Option<Address<Virtual>> { ) -> Option<Address<Virtual>> {
let phys_pages: PageSliceDescriptor<Physical> = mmio_descriptor.clone().into(); let phys_pages: PageSliceDescriptor<Physical> = (*mmio_descriptor).into();
KERNEL_MAPPING_RECORD.write(|mr| { KERNEL_MAPPING_RECORD.write(|mr| {
let dup = mr.find_duplicate(&phys_pages)?; let dup = mr.find_duplicate(&phys_pages)?;

Binary file not shown.

Binary file not shown.

@ -1,4 +1,4 @@
[toolchain] [toolchain]
channel = "nightly-2021-03-18" channel = "nightly-2021-04-25"
components = ["llvm-tools-preview"] components = ["llvm-tools-preview"]
targets = ["aarch64-unknown-none-softfloat"] targets = ["aarch64-unknown-none-softfloat"]

Loading…
Cancel
Save