mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-28 20:03:22 +00:00
Use Mutex and RwLock in jinux-frame for jinux-std
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
df7bd65e70
commit
6d101c5b6d
@ -1,11 +1,11 @@
|
||||
//! Block device based on Virtio
|
||||
|
||||
use jinux_frame::sync::Mutex;
|
||||
use jinux_frame::{io_mem::IoMem, trap::TrapFrame};
|
||||
use jinux_pci::msix::MSIX;
|
||||
use jinux_util::safe_ptr::SafePtr;
|
||||
use jinux_virtio::{device::block::device::BLKDevice, PCIVirtioDevice, VirtioPciCommonCfg};
|
||||
use log::debug;
|
||||
use spin::Mutex;
|
||||
|
||||
use crate::{BlockDevice, BLK_COMPONENT};
|
||||
|
||||
|
@ -14,9 +14,10 @@ use alloc::sync::Arc;
|
||||
use alloc::vec::Vec;
|
||||
use component::init_component;
|
||||
use component::ComponentInitError;
|
||||
use jinux_frame::sync::Mutex;
|
||||
use jinux_virtio::VirtioDeviceType;
|
||||
|
||||
use spin::{Mutex, Once};
|
||||
use spin::Once;
|
||||
use virtio::VirtioInputDevice;
|
||||
use virtio_input_decoder::DecodeType;
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
use alloc::{string::String, sync::Arc, vec::Vec};
|
||||
use jinux_frame::io_mem::IoMem;
|
||||
use jinux_frame::offset_of;
|
||||
use jinux_frame::sync::Mutex;
|
||||
use jinux_frame::trap::TrapFrame;
|
||||
use jinux_pci::msix::MSIX;
|
||||
use jinux_util::field_ptr;
|
||||
@ -14,7 +15,6 @@ use jinux_virtio::{
|
||||
PCIVirtioDevice,
|
||||
};
|
||||
use log::{debug, info};
|
||||
use spin::Mutex;
|
||||
use virtio_input_decoder::{DecodeType, Decoder};
|
||||
|
||||
use crate::INPUTDevice;
|
||||
|
@ -12,7 +12,8 @@ use component::ComponentInitError;
|
||||
|
||||
use alloc::{sync::Arc, vec::Vec};
|
||||
use jinux_frame::bus::pci::PciDeviceLocation;
|
||||
use spin::{mutex::Mutex, Once};
|
||||
use jinux_frame::sync::Mutex;
|
||||
use spin::Once;
|
||||
use util::CSpaceAccessMethod;
|
||||
|
||||
pub use crate::util::PciDevice;
|
||||
|
@ -1,11 +1,10 @@
|
||||
use core::sync::atomic::AtomicU8;
|
||||
use core::sync::atomic::Ordering::Relaxed;
|
||||
|
||||
use spin::Mutex;
|
||||
|
||||
use crate::SystemTime;
|
||||
|
||||
use jinux_frame::arch::x86::device::cmos::{get_century, CMOS_ADDRESS, CMOS_DATA};
|
||||
use jinux_frame::sync::Mutex;
|
||||
|
||||
pub(crate) static CENTURY_REGISTER: AtomicU8 = AtomicU8::new(0);
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
use crate::{device::VirtioDeviceError, queue::VirtQueue, VirtioPciCommonCfg};
|
||||
use alloc::{boxed::Box, vec::Vec};
|
||||
use bitflags::bitflags;
|
||||
use jinux_frame::sync::Mutex;
|
||||
use jinux_frame::{io_mem::IoMem, offset_of};
|
||||
use jinux_pci::{capability::vendor::virtio::CapabilityVirtioData, util::BAR};
|
||||
use jinux_util::{field_ptr, safe_ptr::SafePtr};
|
||||
use pod::Pod;
|
||||
use spin::Mutex;
|
||||
|
||||
use super::{
|
||||
InputConfigSelect, InputEvent, VirtioInputConfig, QUEUE_EVENT, QUEUE_SIZE, QUEUE_STATUS,
|
||||
|
@ -12,12 +12,13 @@ use alloc::{collections::VecDeque, string::String, sync::Arc, vec::Vec};
|
||||
use bitflags::bitflags;
|
||||
use component::ComponentInitError;
|
||||
use device::VirtioDevice;
|
||||
use jinux_frame::sync::Mutex;
|
||||
use jinux_frame::{io_mem::IoMem, offset_of, trap::TrapFrame};
|
||||
use jinux_pci::{util::BAR, PciDevice};
|
||||
use jinux_util::{field_ptr, safe_ptr::SafePtr};
|
||||
use log::{debug, info};
|
||||
use pod::Pod;
|
||||
use spin::{Mutex, Once};
|
||||
use spin::Once;
|
||||
|
||||
use crate::device::VirtioInfo;
|
||||
use jinux_pci::{capability::vendor::virtio::CapabilityVirtioData, msix::MSIX};
|
||||
|
@ -3,9 +3,9 @@ use alloc::str;
|
||||
use alloc::string::String;
|
||||
use core::sync::atomic::{AtomicUsize, Ordering};
|
||||
use core::time::Duration;
|
||||
use jinux_frame::sync::{RwLock, RwLockWriteGuard};
|
||||
use jinux_frame::vm::VmFrame;
|
||||
use jinux_util::slot_vec::SlotVec;
|
||||
use spin::{RwLock, RwLockWriteGuard};
|
||||
|
||||
use super::*;
|
||||
use crate::fs::device::Device;
|
||||
|
@ -18,14 +18,11 @@ pub(crate) use core::ffi::CStr;
|
||||
pub(crate) use core::fmt::Debug;
|
||||
pub(crate) use int_to_c_enum::TryFromInt;
|
||||
pub(crate) use jinux_frame::config::PAGE_SIZE;
|
||||
// pub(crate) use jinux_frame::sync::{Mutex, MutexGuard};
|
||||
pub(crate) use jinux_frame::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
|
||||
pub(crate) use jinux_frame::sync::{SpinLock, SpinLockGuard};
|
||||
pub(crate) use jinux_frame::sync::{Mutex, MutexGuard, RwLock, SpinLock, SpinLockGuard};
|
||||
pub(crate) use jinux_frame::vm::Vaddr;
|
||||
pub(crate) use jinux_frame::{print, println};
|
||||
pub(crate) use log::{debug, error, info, trace, warn};
|
||||
pub(crate) use pod::Pod;
|
||||
pub(crate) use spin::{Mutex, MutexGuard};
|
||||
|
||||
/// return current process
|
||||
#[macro_export]
|
||||
|
@ -1,7 +1,7 @@
|
||||
use crate::prelude::*;
|
||||
use core::ops::Range;
|
||||
use jinux_frame::sync::Mutex;
|
||||
use jinux_frame::vm::{VmFrame, VmFrameVec, VmIo, VmMapOptions, VmPerm, VmSpace};
|
||||
use spin::Mutex;
|
||||
|
||||
use crate::vm::{
|
||||
vmo::get_page_idx_range,
|
||||
|
Reference in New Issue
Block a user