Use Mutex and RwLock in jinux-frame for jinux-std

This commit is contained in:
Chuandong Li
2023-08-19 17:26:02 +00:00
committed by Tate, Hongliang Tian
parent df7bd65e70
commit 6d101c5b6d
26 changed files with 54 additions and 32 deletions

View File

@ -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};

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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,

View File

@ -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};