diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2023-09-28 09:58:55 +0000 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2023-09-28 09:58:55 +0000 |
commit | 02137f1c9f79136b89fbff77f5da1f1a9d36ed3d (patch) | |
tree | 9de0c675ccd65a0a61d5699328d7420723580d18 | |
parent | 7166233de8a200bea27686a3aaefc53cfea6f99c (diff) | |
download | efilite-02137f1c9f79136b89fbff77f5da1f1a9d36ed3d.tar.gz |
Drop use of btreemap::extract_if
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r-- | src/efi/memmap.rs | 16 | ||||
-rw-r--r-- | src/main.rs | 3 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/efi/memmap.rs b/src/efi/memmap.rs index 6d16ca1..a82d8b4 100644 --- a/src/efi/memmap.rs +++ b/src/efi/memmap.rs @@ -40,13 +40,15 @@ fn declare_region(phys: u64, num_pages: u64, _type: MemoryType, attr: u64) { // page count to the new entry. let num_pages = { let mut l = num_pages; - if let Some(next) = mm - .extract_if(|p, d| - *p == phys + (num_pages << EFI_PAGE_SHIFT) && - d.r#type == _type && d.attribute == attr) - .nth(0) { - l += next.1.number_of_pages; - } + mm.retain(|p, d| { + if *p == phys + (num_pages << EFI_PAGE_SHIFT) && + d.r#type == _type && d.attribute == attr { + l += d.number_of_pages; + false + } else { + true + } + }); l }; diff --git a/src/main.rs b/src/main.rs index 4eb16a3..2f2de38 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,9 +5,6 @@ #![no_std] #![no_main] -// for the EFI memory map -#![feature(btree_extract_if)] - macro_rules! align_down { ($value:expr, $alignment:expr) => { ($value) & !($alignment - 1) |