forked from rcore-os/zCore
delete unused comments/output
This commit is contained in:
parent
3559a39b1f
commit
974c5a887a
|
@ -16,10 +16,4 @@ exclude = [
|
|||
]
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
|
||||
[patch.'https://github.com/DeathWish5/kernel-sync']
|
||||
lock = { path = "../../ASYNC/kernel-sync" }
|
||||
|
||||
# [patch.'https://github.com/rcore-os/executor']
|
||||
# executor = { path = "../../ASYNC/PreemptiveScheduler" }
|
||||
lto = true
|
2
Makefile
2
Makefile
|
@ -4,7 +4,7 @@ ROOTFS_URL := http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/$(ROOTF
|
|||
RISCV64_ROOTFS_TAR := prebuild.tar.xz
|
||||
RISCV64_ROOTFS_URL := https://github.com/rcore-os/libc-test-prebuilt/releases/download/0.1/$(RISCV64_ROOTFS_TAR)
|
||||
|
||||
ARCH ?= riscv64
|
||||
ARCH ?= x86_64
|
||||
rcore_fs_fuse_revision := 7f5eeac
|
||||
OUT_IMG := zCore/$(ARCH).img
|
||||
TMP_ROOTFS := /tmp/rootfs
|
||||
|
|
|
@ -89,7 +89,7 @@ impl<M: IoMapper> DevicetreeDriverBuilder<M> {
|
|||
match comp {
|
||||
#[cfg(feature = "virtio")]
|
||||
c if c.contains("virtio,mmio") => self.parse_virtio(node, props),
|
||||
// c if c.contains("allwinner,sunxi-gmac") => self.parse_ethernet(node, comp, props),
|
||||
c if c.contains("allwinner,sunxi-gmac") => self.parse_ethernet(node, comp, props),
|
||||
c if c.contains("ns16550a") => self.parse_uart(node, comp, props),
|
||||
c if c.contains("allwinner,sun20i-uart") => self.parse_uart(node, comp, props),
|
||||
_ => Err(DeviceError::NotSupported),
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
use alloc::{boxed::Box, sync::Arc};
|
||||
|
||||
// use spin::Mutex;
|
||||
use lock::mutex::Mutex;
|
||||
|
||||
use crate::prelude::{CapabilityType, InputEvent, InputEventType};
|
||||
|
|
|
@ -5,8 +5,10 @@ use crate::net::get_sockets;
|
|||
use alloc::sync::Arc;
|
||||
|
||||
use alloc::string::String;
|
||||
// use spin::Mutex;
|
||||
use lock::mutex::Mutex;
|
||||
use spin::Mutex;
|
||||
|
||||
// TODO: fix this, should use no-irq lock, but can't pass build of libos
|
||||
// use lock::mutex::Mutex;
|
||||
|
||||
use crate::scheme::{NetScheme, Scheme};
|
||||
use crate::{DeviceError, DeviceResult};
|
||||
|
|
|
@ -19,7 +19,7 @@ spin = "0.9"
|
|||
lock = { git = "https://github.com/DeathWish5/kernel-sync" }
|
||||
cfg-if = "1.0"
|
||||
bitflags = "1.3"
|
||||
trapframe = "0.9"
|
||||
trapframe = "0.9.0"
|
||||
git-version = "0.3"
|
||||
numeric-enum-macro = "0.2"
|
||||
lazy_static = { version = "1.4", features = ["spin_no_std"] }
|
||||
|
@ -36,21 +36,20 @@ bitmap-allocator = { git = "https://github.com/rcore-os/bitmap-allocator", rev =
|
|||
|
||||
# Bare-metal mode
|
||||
[target.'cfg(target_os = "none")'.dependencies]
|
||||
executor = { path = "../../../ASYNC/PreemptiveScheduler" }
|
||||
# executor = { git = "https://github.com/rcore-os/executor.git", rev = "85b9335" }
|
||||
executor = { git = "https://github.com/DeathWish5/PreemptiveScheduler" }
|
||||
naive-timer = "0.2.0"
|
||||
|
||||
# All mode on x86_64
|
||||
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
||||
x86 = "0.46"
|
||||
x86 = "0.47"
|
||||
x86_64 = "0.14"
|
||||
|
||||
# Bare-metal mode on x86_64
|
||||
[target.'cfg(all(target_os = "none", target_arch = "x86_64"))'.dependencies]
|
||||
uefi = "0.11"
|
||||
raw-cpuid = "9.0"
|
||||
x86-smpboot = { git = "https://github.com/rcore-os/x86-smpboot", rev = "1069df3" }
|
||||
x86-smpboot = { git = "https://github.com/rcore-os/x86-smpboot", rev = "43ffedf" }
|
||||
|
||||
# Bare-metal mode on riscv64
|
||||
[target.'cfg(all(target_os = "none", target_arch = "riscv64"))'.dependencies]
|
||||
riscv = { git = "https://github.com/rust-embedded/riscv", rev = "cd31989", features = ["inline-asm"] }
|
||||
riscv = { git = "https://github.com/rust-embedded/riscv", rev = "cd31989ba1", features = ["inline-asm"] }
|
|
@ -91,6 +91,6 @@ pub(super) fn intc_init() -> DeviceResult {
|
|||
Box::new(super::trap::super_timer),
|
||||
)?;
|
||||
irq.unmask(ScauseIntCode::SupervisorSoft as _)?;
|
||||
irq.unmask(ScauseIntCode::SupervisorTimer as _)?;
|
||||
irq.unmask(ScauseIntCode::SupervisorTimer as _)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ hal_fn_impl! {
|
|||
|
||||
fn handle_irq(cause: usize) {
|
||||
trace!("Handle irq cause: {}", cause);
|
||||
warn!("Handle irq cause: {}", cause);
|
||||
crate::drivers::all_irq().first_unwrap().handle_irq(cause)
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,11 @@ use x86_64::instructions::interrupts;
|
|||
hal_fn_impl! {
|
||||
impl mod crate::hal_fn::interrupt {
|
||||
fn wait_for_interrupt() {
|
||||
interrupts::hlt();
|
||||
let enable = interrupts::are_enabled();
|
||||
interrupts::enable_and_hlt();
|
||||
if !enable {
|
||||
interrupts::disable();
|
||||
}
|
||||
}
|
||||
|
||||
fn is_valid_irq(gsi: usize) -> bool {
|
||||
|
|
|
@ -4,5 +4,3 @@ pub fn timer_now() -> Duration {
|
|||
let cycle = unsafe { core::arch::x86_64::_rdtsc() };
|
||||
Duration::from_nanos(cycle * 1000 / super::cpu::cpu_frequency() as u64)
|
||||
}
|
||||
|
||||
pub fn timer_init
|
|
@ -32,7 +32,10 @@ pub extern "C" fn trap_handler(tf: &mut TrapFrame) {
|
|||
super::cpu::cpu_id()
|
||||
);
|
||||
|
||||
trace!("trap happened: {:?}", TrapReason::from(tf.trap_num, tf.error_code));
|
||||
trace!(
|
||||
"trap happened: {:?}",
|
||||
TrapReason::from(tf.trap_num, tf.error_code)
|
||||
);
|
||||
|
||||
match TrapReason::from(tf.trap_num, tf.error_code) {
|
||||
TrapReason::HardwareBreakpoint | TrapReason::SoftwareBreakpoint => breakpoint(),
|
||||
|
|
|
@ -11,8 +11,8 @@ use alloc::vec::Vec;
|
|||
use alloc::sync::Arc;
|
||||
|
||||
use alloc::string::String;
|
||||
// use spin::Mutex;
|
||||
use lock::mutex::Mutex;
|
||||
use spin::Mutex;
|
||||
// use lock::mutex::Mutex;
|
||||
|
||||
use crate::drivers::add_device;
|
||||
use crate::drivers::all_net;
|
||||
|
|
|
@ -5,8 +5,8 @@ use core::time::Duration;
|
|||
|
||||
use naive_timer::Timer;
|
||||
// use spin::Mutex;
|
||||
use lock::mutex::Mutex;
|
||||
use core::sync::atomic::{AtomicBool, Ordering};
|
||||
use lock::mutex::Mutex;
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub(super) const TICKS_PER_SEC: u64 = 100;
|
||||
|
|
|
@ -463,7 +463,6 @@ impl Syscall<'_> {
|
|||
// Sys::INIT_MODULE => self.sys_init_module(a0.into(), a1 as usize, a2.into()),
|
||||
Sys::FINIT_MODULE => self.unimplemented("finit_module", Err(LxError::ENOSYS)),
|
||||
// Sys::DELETE_MODULE => self.sys_delete_module(a0.into(), a1 as u32),
|
||||
|
||||
Sys::BLOCK_IN_KERNEL => self.sys_block_in_kernel(),
|
||||
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
|
|
|
@ -346,3 +346,5 @@
|
|||
#define __NR_pidfd_open 434
|
||||
#define __NR_clone3 435
|
||||
|
||||
// JUST FOR TEST
|
||||
#define __NR_block_in_kernel 600
|
|
@ -64,7 +64,10 @@ impl Syscall<'_> {
|
|||
continue;
|
||||
}
|
||||
old = sec;
|
||||
warn!("1 seconds past intr = {}", kernel_hal::interrupt::intr_get());
|
||||
warn!(
|
||||
"1 seconds past intr = {}",
|
||||
kernel_hal::interrupt::intr_get()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -104,4 +107,3 @@ impl Syscall<'_> {
|
|||
Ok(tick as usize)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,7 @@ zircon-object = { path = "../zircon-object", features = ["elf"] }
|
|||
linux-object = { path = "../linux-object", optional = true }
|
||||
zircon-syscall = { path = "../zircon-syscall", optional = true }
|
||||
linux-syscall = { path = "../linux-syscall", optional = true }
|
||||
# executor = { git = "https://github.com/rcore-os/executor.git", rev = "04b6b7b" }
|
||||
executor = { path = "../../../ASYNC/PreemptiveScheduler" }
|
||||
executor = { git = "https://github.com/DeathWish5/PreemptiveScheduler" }
|
||||
|
||||
[features]
|
||||
default = ["libos", "linux", "zircon"]
|
||||
|
|
|
@ -65,8 +65,7 @@ rcore-fs-hostfs = { git = "https://github.com/rcore-os/rcore-fs", rev = "7c232ec
|
|||
# Bare-metal mode
|
||||
[target.'cfg(target_os = "none")'.dependencies]
|
||||
buddy_system_allocator = "0.7"
|
||||
# executor = { git = "https://github.com/rcore-os/executor.git", rev = "85b9335" }
|
||||
executor = { path = "../../../ASYNC/PreemptiveScheduler" }
|
||||
executor = { git = "https://github.com/DeathWish5/PreemptiveScheduler" }
|
||||
|
||||
# Bare-metal mode on x86_64
|
||||
[target.'cfg(all(target_os = "none", target_arch = "x86_64"))'.dependencies]
|
||||
|
|
|
@ -4,7 +4,7 @@ ARCH ?= x86_64
|
|||
PLATFORM ?= qemu
|
||||
MODE ?= release
|
||||
LOG ?= warn
|
||||
LINUX ?= 1
|
||||
LINUX ?=
|
||||
LIBOS ?=
|
||||
TEST ?=
|
||||
GRAPHIC ?=
|
||||
|
@ -18,10 +18,16 @@ ZBI ?= bringup
|
|||
SMP ?= 1
|
||||
ACCEL ?=
|
||||
|
||||
# OBJDUMP ?= rust-objdump --print-imm-hex --x86-asm-syntax=intel
|
||||
OBJDUMP ?= riscv64-linux-musl-objdump
|
||||
|
||||
OBJDUMP :=
|
||||
OBJCOPY ?= rust-objcopy --binary-architecture=$(ARCH)
|
||||
|
||||
ifeq ($(ARCH), x86_64)
|
||||
OBJDUMP := rust-objdump --print-imm-hex --x86-asm-syntax=intel
|
||||
else ifeq ($(ARCH), riscv64)
|
||||
OBJDUMP := riscv64-linux-musl-objdump
|
||||
endif
|
||||
|
||||
ifeq ($(LINUX), 1)
|
||||
CMDLINE ?= LOG=$(LOG)
|
||||
else
|
||||
|
|
|
@ -5,13 +5,11 @@ use log::{self, Level, LevelFilter, Log, Metadata, Record};
|
|||
pub fn init() {
|
||||
static LOGGER: SimpleLogger = SimpleLogger;
|
||||
log::set_logger(&LOGGER).unwrap();
|
||||
log::set_max_level(LevelFilter::Info);
|
||||
log::set_max_level(LevelFilter::Warn);
|
||||
}
|
||||
|
||||
/// Reset max log level.
|
||||
pub fn set_max_level(_level: &str) {
|
||||
// log::set_max_level(LevelFilter::Off);
|
||||
// log::set_max_level(LevelFilter::Info);
|
||||
pub fn set_max_level(level: &str) {
|
||||
log::set_max_level(level.parse().unwrap_or(LevelFilter::Warn));
|
||||
}
|
||||
|
||||
|
|
|
@ -39,8 +39,6 @@ fn primary_main(config: kernel_hal::KernelConfig) {
|
|||
STARTED.store(true, Ordering::SeqCst);
|
||||
|
||||
kernel_hal::interrupt::intr_on();
|
||||
// info!("wait for time interrupt");
|
||||
// kernel_hal::interrupt::wait_for_interrupt();
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(all(feature = "linux", feature = "zircon"))] {
|
||||
|
|
|
@ -120,11 +120,10 @@ pub fn wait_for_exit(proc: Option<Arc<Process>>) -> ! {
|
|||
pub fn wait_for_exit(proc: Option<Arc<Process>>) -> ! {
|
||||
kernel_hal::timer::timer_set_first();
|
||||
loop {
|
||||
executor::run_until_idle();
|
||||
let has_task = executor::run_until_idle();
|
||||
if cfg!(feature = "baremetal-test") && !has_task {
|
||||
proc.map(check_exit_code);
|
||||
kernel_hal::cpu::reset();
|
||||
}
|
||||
kernel_hal::interrupt::wait_for_interrupt();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use kernel_hal::interrupt;
|
||||
use {
|
||||
super::*,
|
||||
super::*,
|
||||
spin::Mutex,
|
||||
// lock::mutex::Mutex,
|
||||
};
|
||||
|
|
|
@ -3,7 +3,7 @@ use {
|
|||
alloc::collections::VecDeque,
|
||||
alloc::sync::{Arc, Weak},
|
||||
bitflags::bitflags,
|
||||
// lock::mutex::Mutex,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
};
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ use {
|
|||
task::{Context, Poll},
|
||||
},
|
||||
downcast_rs::{impl_downcast, DowncastSync},
|
||||
// lock::mutex::Mutex,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
};
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ use {
|
|||
crate::task::Task,
|
||||
alloc::sync::{Arc, Weak},
|
||||
alloc::vec::Vec,
|
||||
// lock::mutex::Mutex,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
use {
|
||||
super::*,
|
||||
crate::object::*,
|
||||
alloc::sync::Arc,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
super::*,
|
||||
crate::object::*,
|
||||
alloc::sync::Arc,
|
||||
numeric_enum_macro::numeric_enum,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
};
|
||||
|
||||
/// A readable, writable, seekable interface to some underlying storage
|
||||
|
|
|
@ -9,7 +9,7 @@ use {
|
|||
bitflags::bitflags,
|
||||
core::ops::Deref,
|
||||
kernel_hal::CachePolicy,
|
||||
// lock::mutex::Mutex,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use {
|
||||
super::*,
|
||||
alloc::sync::Arc,
|
||||
super::*,
|
||||
alloc::sync::Arc,
|
||||
lock::mutex::Mutex,
|
||||
// spin::Mutex,
|
||||
};
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use {
|
||||
super::*,
|
||||
alloc::{string::String, vec::Vec},
|
||||
// lock::mutex::Mutex,
|
||||
// lock::mutex::Mutex,
|
||||
spin::Mutex,
|
||||
zircon_object::{
|
||||
ipc::{Channel, MessagePacket},
|
||||
|
|
Loading…
Reference in New Issue