[INFO] cloning repository https://github.com/stargazerZJ/ACM-OS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stargazerZJ/ACM-OS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FstargazerZJ%2FACM-OS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FstargazerZJ%2FACM-OS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5ad39de9a127b83a16007b5ed012395cdb7c5651
[INFO] testing stargazerZJ/ACM-OS against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FstargazerZJ%2FACM-OS" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/stargazerZJ/ACM-OS
[INFO] finished tweaking git repo https://github.com/stargazerZJ/ACM-OS
[INFO] tweaked toml for git repo https://github.com/stargazerZJ/ACM-OS written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stargazerZJ/ACM-OS on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stargazerZJ/ACM-OS already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded riscv-pac v0.2.0
[INFO] [stderr]   Downloaded volatile v0.6.1
[INFO] [stderr]   Downloaded critical-section v1.2.0
[INFO] [stderr]   Downloaded buddy_system_allocator v0.6.0
[INFO] [stderr]   Downloaded embedded-hal v1.0.0
[INFO] [stderr]   Downloaded spin v0.7.1
[INFO] [stderr]   Downloaded riscv-macros v0.2.0
[INFO] [stderr]   Downloaded riscv v0.13.0
[INFO] [stderr]   Downloaded volatile-macro v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bc1186ede575000e2fe4029c9e468087960734f4ea4f989f3b6fb061e9d9af5c
[INFO] running `Command { std: "docker" "start" "-a" "bc1186ede575000e2fe4029c9e468087960734f4ea4f989f3b6fb061e9d9af5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc1186ede575000e2fe4029c9e468087960734f4ea4f989f3b6fb061e9d9af5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc1186ede575000e2fe4029c9e468087960734f4ea4f989f3b6fb061e9d9af5c", kill_on_drop: false }`
[INFO] [stdout] bc1186ede575000e2fe4029c9e468087960734f4ea4f989f3b6fb061e9d9af5c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d9675f80dc66e7e28e98d703b40324bf1532671d2124946bf14cf1ab6cb1c3c7
[INFO] running `Command { std: "docker" "start" "-a" "d9675f80dc66e7e28e98d703b40324bf1532671d2124946bf14cf1ab6cb1c3c7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling riscv v0.13.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling embedded-hal v1.0.0
[INFO] [stderr]    Compiling spin v0.7.1
[INFO] [stderr]    Compiling riscv-pac v0.2.0
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling buddy_system_allocator v0.6.0
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]    Compiling riscv-macros v0.2.0
[INFO] [stderr]    Compiling volatile-macro v0.6.0
[INFO] [stderr]    Compiling volatile v0.6.1
[INFO] [stderr]    Compiling os v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]   --> src/mem/frame_allocator.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | /     extern "C" {
[INFO] [stdout] 30 | |         fn ekernel();
[INFO] [stdout] 31 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]   --> src/mem/memory_set.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / extern "C" {
[INFO] [stdout]  5 | |     fn stext();
[INFO] [stdout]  6 | |     fn etext();
[INFO] [stdout]  7 | |     fn srodata();
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | |     fn strampoline();
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `asm` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |             asm!("sfence.vma");
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::asm;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use core::arch::asm;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `println` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 369 |     println!("remap_test passed!");
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: have you added the `#[macro_use]` on the module/import?
[INFO] [stdout] help: consider importing this macro through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::println;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `xmas_elf`
[INFO] [stdout]    --> src/mem/memory_set.rs:166:19
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let elf = xmas_elf::ElfFile::new(elf_data).unwrap();
[INFO] [stdout]     |                   ^^^^^^^^ use of unresolved module or unlinked crate `xmas_elf`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `xmas_elf`, use `cargo add xmas_elf` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `xmas_elf`
[INFO] [stdout]    --> src/mem/memory_set.rs:174:42
[INFO] [stdout]     |
[INFO] [stdout] 174 |             if ph.get_type().unwrap() == xmas_elf::program::Type::Load {
[INFO] [stdout]     |                                          ^^^^^^^^ use of unresolved module or unlinked crate `xmas_elf`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `xmas_elf`, use `cargo add xmas_elf` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `UPIntrFreeCell` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub static ref KERNEL_SPACE: Arc<UPIntrFreeCell<MemorySet>> =
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::sync::UPIntrFreeCell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UPIntrFreeCell`
[INFO] [stdout]   --> src/mem/memory_set.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 |         Arc::new(unsafe { UPIntrFreeCell::new(MemorySet::new_kernel()) });
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ use of undeclared type `UPIntrFreeCell`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::sync::UPIntrFreeCell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTable` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     page_table: PageTable,
[INFO] [stdout]    |                 ^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Vec` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     areas: Vec<MapArea>,
[INFO] [stdout]    |            ^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use alloc::vec::Vec;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PageTable`
[INFO] [stdout]   --> src/mem/memory_set.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |             page_table: PageTable::new(),
[INFO] [stdout]    |                         ^^^^^^^^^ use of undeclared type `PageTable`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Vec`
[INFO] [stdout]   --> src/mem/memory_set.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |             areas: Vec::new(),
[INFO] [stdout]    |                    ^^^ use of undeclared type `Vec`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use alloc::vec::Vec;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |         start_va: VirtAddr,
[INFO] [stdout]    |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |         end_va: VirtAddr,
[INFO] [stdout]    |                 ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:53:61
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn remove_area_with_start_vpn(&mut self, start_vpn: VirtPageNum) {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `VirtAddr`
[INFO] [stdout]   --> src/mem/memory_set.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |             VirtAddr::from(TRAMPOLINE).into(),
[INFO] [stdout]    |             ^^^^^^^^ use of undeclared type `VirtAddr`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `TRAMPOLINE` in this scope
[INFO] [stdout]   --> src/mem/memory_set.rs:77:28
[INFO] [stdout]    |
[INFO] [stdout] 77 |             VirtAddr::from(TRAMPOLINE).into(),
[INFO] [stdout]    |                            ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::config::TRAMPOLINE;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PhysAddr`
[INFO] [stdout]   --> src/mem/memory_set.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             PhysAddr::from(strampoline as usize).into(),
[INFO] [stdout]    |             ^^^^^^^^ use of undeclared type `PhysAddr`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::address::PhysAddr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PTEFlags`
[INFO] [stdout]   --> src/mem/memory_set.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             PTEFlags::R | PTEFlags::X,
[INFO] [stdout]    |             ^^^^^^^^ use of undeclared type `PTEFlags`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::page_table::PTEFlags;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PTEFlags`
[INFO] [stdout]   --> src/mem/memory_set.rs:79:27
[INFO] [stdout]    |
[INFO] [stdout] 79 |             PTEFlags::R | PTEFlags::X,
[INFO] [stdout]    |                           ^^^^^^^^ use of undeclared type `PTEFlags`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mem::page_table::PTEFlags;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MEMORY_END` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 MEMORY_END.into(),
[INFO] [stdout]     |                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::config::MEMORY_END;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MMIO` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for pair in MMIO {
[INFO] [stdout]     |                     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:171:31
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let mut max_end_vpn = VirtPageNum(0);
[INFO] [stdout]     |                               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 let start_va: VirtAddr = (ph.virtual_addr() as usize).into();
[INFO] [stdout]     |                               ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:176:29
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let end_va: VirtAddr = ((ph.virtual_addr() + ph.mem_size()) as usize).into();
[INFO] [stdout]     |                             ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:196:25
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let max_end_va: VirtAddr = max_end_vpn.into();
[INFO] [stdout]     |                         ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PAGE_SIZE` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:198:28
[INFO] [stdout]     |
[INFO] [stdout] 198 |         user_stack_base += PAGE_SIZE;
[INFO] [stdout]     |                            ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::config::PAGE_SIZE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `satp`
[INFO] [stdout]    --> src/mem/memory_set.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |             satp::write(satp);
[INFO] [stdout]     |             ^^^^ use of unresolved module or unlinked crate `satp`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `satp`, use `cargo add satp` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use riscv::register::satp;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:231:34
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn translate(&self, vpn: VirtPageNum) -> Option<PageTableEntry> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTableEntry` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:231:57
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn translate(&self, vpn: VirtPageNum) -> Option<PageTableEntry> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PageTableEntry;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VPNRange` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:241:16
[INFO] [stdout]     |
[INFO] [stdout] 241 |     vpn_range: VPNRange,
[INFO] [stdout]     |                ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VPNRange;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BTreeMap` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:242:18
[INFO] [stdout]     |
[INFO] [stdout] 242 |     data_frames: BTreeMap<VirtPageNum, FrameTracker>,
[INFO] [stdout]     |                  ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use alloc::collections::BTreeMap;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:242:27
[INFO] [stdout]     |
[INFO] [stdout] 242 |     data_frames: BTreeMap<VirtPageNum, FrameTracker>,
[INFO] [stdout]     |                           ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `FrameTracker` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:242:40
[INFO] [stdout]     |
[INFO] [stdout] 242 |     data_frames: BTreeMap<VirtPageNum, FrameTracker>,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::frame_allocator::FrameTracker;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:249:19
[INFO] [stdout]     |
[INFO] [stdout] 249 |         start_va: VirtAddr,
[INFO] [stdout]     |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |         end_va: VirtAddr,
[INFO] [stdout]     |                 ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:254:24
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let start_vpn: VirtPageNum = start_va.floor();
[INFO] [stdout]     |                        ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:255:22
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let end_vpn: VirtPageNum = end_va.ceil();
[INFO] [stdout]     |                      ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `VPNRange`
[INFO] [stdout]    --> src/mem/memory_set.rs:257:24
[INFO] [stdout]     |
[INFO] [stdout] 257 |             vpn_range: VPNRange::new(start_vpn, end_vpn),
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `VPNRange`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VPNRange;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `BTreeMap`
[INFO] [stdout]    --> src/mem/memory_set.rs:258:26
[INFO] [stdout]     |
[INFO] [stdout] 258 |             data_frames: BTreeMap::new(),
[INFO] [stdout]     |                          ^^^^^^^^ use of undeclared type `BTreeMap`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use alloc::collections::BTreeMap;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `VPNRange`
[INFO] [stdout]    --> src/mem/memory_set.rs:265:24
[INFO] [stdout]     |
[INFO] [stdout] 265 |             vpn_range: VPNRange::new(another.vpn_range.get_start(), another.vpn_range.get_end()),
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `VPNRange`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VPNRange;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `BTreeMap`
[INFO] [stdout]    --> src/mem/memory_set.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |             data_frames: BTreeMap::new(),
[INFO] [stdout]     |                          ^^^^^^^^ use of undeclared type `BTreeMap`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use alloc::collections::BTreeMap;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTable` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:271:48
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn map_one(&mut self, page_table: &mut PageTable, vpn: VirtPageNum) {
[INFO] [stdout]     |                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:271:64
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn map_one(&mut self, page_table: &mut PageTable, vpn: VirtPageNum) {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PhysPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:272:18
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let ppn: PhysPageNum;
[INFO] [stdout]     |                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::PhysPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `PhysPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:275:23
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 ppn = PhysPageNum(vpn.0);
[INFO] [stdout]     |                       ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::PhysPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `frame_alloc` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:278:29
[INFO] [stdout]     |
[INFO] [stdout] 278 |                 let frame = frame_alloc().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::frame_allocator::frame_alloc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `PhysPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:285:23
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 ppn = PhysPageNum((vpn.0 as isize + pn_offset) as usize);
[INFO] [stdout]     |                       ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this tuple struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::PhysPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PTEFlags`
[INFO] [stdout]    --> src/mem/memory_set.rs:288:25
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let pte_flags = PTEFlags::from_bits(self.map_perm.bits).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^ use of undeclared type `PTEFlags`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PTEFlags;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTable` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:291:50
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn unmap_one(&mut self, page_table: &mut PageTable, vpn: VirtPageNum) {
[INFO] [stdout]     |                                                  ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtPageNum` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:291:66
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn unmap_one(&mut self, page_table: &mut PageTable, vpn: VirtPageNum) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtPageNum;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTable` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:297:44
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn map(&mut self, page_table: &mut PageTable) {
[INFO] [stdout]     |                                            ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTable` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:302:46
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn unmap(&mut self, page_table: &mut PageTable) {
[INFO] [stdout]     |                                              ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PageTable` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:309:46
[INFO] [stdout]     |
[INFO] [stdout] 309 |     pub fn copy_data(&mut self, page_table: &PageTable, data: &[u8]) {
[INFO] [stdout]     |                                              ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::page_table::PageTable;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PAGE_SIZE` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:315:52
[INFO] [stdout]     |
[INFO] [stdout] 315 |             let src = &data[start..len.min(start + PAGE_SIZE)];
[INFO] [stdout]     |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::config::PAGE_SIZE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PAGE_SIZE` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:322:22
[INFO] [stdout]     |
[INFO] [stdout] 322 |             start += PAGE_SIZE;
[INFO] [stdout]     |                      ^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::config::PAGE_SIZE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:351:19
[INFO] [stdout]     |
[INFO] [stdout] 351 |     let mid_text: VirtAddr = ((stext as usize + etext as usize) / 2).into();
[INFO] [stdout]     |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:352:21
[INFO] [stdout]     |
[INFO] [stdout] 352 |     let mid_rodata: VirtAddr = ((srodata as usize + erodata as usize) / 2).into();
[INFO] [stdout]     |                     ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `VirtAddr` in this scope
[INFO] [stdout]    --> src/mem/memory_set.rs:353:19
[INFO] [stdout]     |
[INFO] [stdout] 353 |     let mid_data: VirtAddr = ((sdata as usize + edata as usize) / 2).into();
[INFO] [stdout]     |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::mem::address::VirtAddr;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::arch::asm`
[INFO] [stdout]   --> src/main.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | use core::arch::asm;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `FrameTracker` doesn't implement `Debug`
[INFO] [stdout]    --> src/mem/frame_allocator.rs:221:26
[INFO] [stdout]     |
[INFO] [stdout] 221 |         println!("{:?}", frame);
[INFO] [stdout]     |                          ^^^^^ `FrameTracker` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Debug` is not implemented for `FrameTracker`
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `FrameTracker` or manually `impl Debug for FrameTracker`
[INFO] [stdout]     = note: this error originates in the macro `format_args` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider annotating `FrameTracker` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout]  50 + #[derive(Debug)]
[INFO] [stdout]  51 | pub struct FrameTracker {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `FrameTracker` doesn't implement `Debug`
[INFO] [stdout]    --> src/mem/frame_allocator.rs:227:26
[INFO] [stdout]     |
[INFO] [stdout] 227 |         println!("{:?}", frame);
[INFO] [stdout]     |                          ^^^^^ `FrameTracker` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Debug` is not implemented for `FrameTracker`
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `FrameTracker` or manually `impl Debug for FrameTracker`
[INFO] [stdout]     = note: this error originates in the macro `format_args` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider annotating `FrameTracker` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout]  50 + #[derive(Debug)]
[INFO] [stdout]  51 | pub struct FrameTracker {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `exclusive_access` found for struct `KERNEL_SPACE` in the current scope
[INFO] [stdout]   --> src/mem/memory_set.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | / lazy_static! {
[INFO] [stdout] 18 | |     pub static ref KERNEL_SPACE: Arc<UPIntrFreeCell<MemorySet>> =
[INFO] [stdout] 19 | |         Arc::new(unsafe { UPIntrFreeCell::new(MemorySet::new_kernel()) });
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- method `exclusive_access` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |       KERNEL_SPACE.exclusive_access().token()
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^ method not found in `KERNEL_SPACE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/mem/memory_set.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             area.unmap(&mut self.page_table);
[INFO] [stdout]    |             ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0615]: attempted to take value of method `bits` on type `MapPermission`
[INFO] [stdout]    --> src/mem/memory_set.rs:288:59
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let pte_flags = PTEFlags::from_bits(self.map_perm.bits).unwrap();
[INFO] [stdout]     |                                                           ^^^^ method, not a field
[INFO] [stdout]     |
[INFO] [stdout] help: use parentheses to call the method
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let pte_flags = PTEFlags::from_bits(self.map_perm.bits()).unwrap();
[INFO] [stdout]     |                                                               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `exclusive_access` found for struct `KERNEL_SPACE` in the current scope
[INFO] [stdout]    --> src/mem/memory_set.rs:350:41
[INFO] [stdout]     |
[INFO] [stdout]  17 | / lazy_static! {
[INFO] [stdout]  18 | |     pub static ref KERNEL_SPACE: Arc<UPIntrFreeCell<MemorySet>> =
[INFO] [stdout]  19 | |         Arc::new(unsafe { UPIntrFreeCell::new(MemorySet::new_kernel()) });
[INFO] [stdout]  20 | | }
[INFO] [stdout]     | |_- method `exclusive_access` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 350 |       let mut kernel_space = KERNEL_SPACE.exclusive_access();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^ method not found in `KERNEL_SPACE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0412, E0425, E0433, E0599, E0615.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `os` (bin "os") due to 66 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "d9675f80dc66e7e28e98d703b40324bf1532671d2124946bf14cf1ab6cb1c3c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9675f80dc66e7e28e98d703b40324bf1532671d2124946bf14cf1ab6cb1c3c7", kill_on_drop: false }`
[INFO] [stdout] d9675f80dc66e7e28e98d703b40324bf1532671d2124946bf14cf1ab6cb1c3c7
