List of all items
Structs
- abi::AbiRegistry
- abi::scarlet::ScarletAbi
- arch::riscv64::Riscv64
- arch::riscv64::instruction::sbi::SbiRet
- arch::riscv64::registers::Registers
- arch::riscv64::timer::Stimer
- arch::riscv64::vcpu::Vcpu
- arch::riscv64::vm::mmu::sv48::PageTable
- arch::riscv64::vm::mmu::sv48::PageTableEntry
- device::GenericDevice
- device::block::GenericBlockDevice
- device::block::request::BlockIORequest
- device::block::request::BlockIOResult
- device::char::GenericCharDevice
- device::fdt::FdtManager
- device::manager::BasicDeviceManager
- device::manager::BorrowedDeviceGuard
- device::manager::DeviceHandle
- device::manager::DeviceManager
- device::platform::PlatformDeviceDriver
- device::platform::PlatformDeviceInfo
- device::platform::resource::PlatformDeviceResource
- drivers::block::virtio_blk::VirtioBlkConfig
- drivers::block::virtio_blk::VirtioBlkGeometry
- drivers::block::virtio_blk::VirtioBlkReqHeader
- drivers::block::virtio_blk::VirtioBlkTopology
- drivers::block::virtio_blk::VirtioBlockDevice
- drivers::uart::virt::Uart
- drivers::virtio::device::VirtioDeviceCommon
- drivers::virtio::queue::AvailableRing
- drivers::virtio::queue::Descriptor
- drivers::virtio::queue::RawAvailableRing
- drivers::virtio::queue::RawUsedRing
- drivers::virtio::queue::RawUsedRingEntry
- drivers::virtio::queue::UsedRing
- drivers::virtio::queue::VirtQueue
- earlycon::EarlyConsole
- fs::DeviceFileInfo
- fs::Directory
- fs::DirectoryEntry
- fs::File
- fs::FileMetadata
- fs::FilePermission
- fs::FileSystemDriverManager
- fs::FileSystemError
- fs::GenericFileSystem
- fs::VfsManager
- fs::drivers::cpio::Cpiofs
- fs::drivers::cpio::CpiofsDriver
- fs::drivers::cpio::CpiofsEntry
- fs::drivers::cpio::CpiofsFileHandle
- fs::mount_tree::MountNode
- fs::mount_tree::MountOptions
- fs::mount_tree::MountPoint
- fs::mount_tree::MountTree
- fs::params::BasicFSParams
- fs::params::CpioFSParams
- fs::params::TmpFSParams
- fs::tmpfs::DirectoryEntries
- fs::tmpfs::TmpFS
- fs::tmpfs::TmpFSDriver
- fs::tmpfs::TmpFileHandle
- fs::tmpfs::TmpNode
- mem::Stack
- mem::page::Page
- sched::dispatcher::Dispatcher
- sched::scheduler::Scheduler
- task::ManagedPage
- task::Task
- task::elf_loader::ElfHeader
- task::elf_loader::ElfHeaderParseError
- task::elf_loader::ElfLoaderError
- task::elf_loader::LoadedSegment
- task::elf_loader::ProgramHeader
- task::elf_loader::ProgramHeaderParseError
- timer::KernelTimer
- vm::manager::VirtualMemoryManager
- vm::vmem::MemoryArea
- vm::vmem::VirtualMemoryMap
Enums
- arch::riscv64::instruction::sbi::Extension
- arch::riscv64::instruction::sbi::SbiError
- arch::riscv64::vcpu::Mode
- device::DeviceType
- device::block::request::BlockIORequestType
- device::manager::DeviceState
- device::platform::resource::PlatformDeviceResourceType
- drivers::virtio::device::DeviceStatus
- drivers::virtio::device::Register
- drivers::virtio::device::VirtioDeviceType
- drivers::virtio::queue::DescriptorFlag
- fs::FileSystemErrorKind
- fs::FileSystemType
- fs::FileType
- fs::ManagerRef
- fs::SeekFrom
- fs::mount_tree::BindType
- fs::mount_tree::MountType
- syscall::Syscall
- task::TaskState
- task::TaskType
- task::WaitError
- task::elf_loader::ElfHeaderParseErrorKind
- task::elf_loader::ProgramHeaderParseErrorKind
- vm::vmem::VirtualMemoryPermission
- vm::vmem::VirtualMemoryRegion
Traits
- abi::AbiModule
- device::Device
- device::DeviceDriver
- device::DeviceInfo
- device::block::BlockDevice
- device::char::CharDevice
- drivers::virtio::device::VirtioDevice
- fs::FileHandle
- fs::FileOperations
- fs::FileSystem
- fs::FileSystemDriver
- fs::VirtualFileSystem
- fs::params::FileSystemParams
- traits::serial::Serial
Macros
- defer
- driver_initcall
- early_initcall
- early_print
- early_println
- late_initcall
- println
- register_abi
- syscall::macros::syscall_table
Functions
- abi::scarlet::register_scarlet_abi
- abi::syscall_dispatcher
- arch::riscv64::boot::entry::_entry
- arch::riscv64::boot::entry::_entry_ap
- arch::riscv64::boot::entry::arch_start_kernel
- arch::riscv64::disable_interrupt
- arch::riscv64::earlycon::early_putc
- arch::riscv64::enable_interrupt
- arch::riscv64::get_cpu
- arch::riscv64::get_kernel_trap_handler
- arch::riscv64::get_kernel_trapvector_paddr
- arch::riscv64::get_user_trap_handler
- arch::riscv64::get_user_trapvector_paddr
- arch::riscv64::init_arch
- arch::riscv64::instruction::ecall
- arch::riscv64::instruction::idle
- arch::riscv64::instruction::sbi::sbi_call
- arch::riscv64::instruction::sbi::sbi_console_getchar
- arch::riscv64::instruction::sbi::sbi_console_putchar
- arch::riscv64::instruction::sbi::sbi_set_timer
- arch::riscv64::instruction::sbi::sbi_system_reset
- arch::riscv64::instruction::syscall
- arch::riscv64::reboot
- arch::riscv64::set_next_mode
- arch::riscv64::set_trapframe
- arch::riscv64::set_trapvector
- arch::riscv64::shutdown
- arch::riscv64::trap::exception::arch_exception_handler
- arch::riscv64::trap::interrupt::arch_interrupt_handler
- arch::riscv64::trap::kernel::_kernel_trap_entry
- arch::riscv64::trap::kernel::arch_kernel_exception_handler
- arch::riscv64::trap::kernel::arch_kernel_trap_handler
- arch::riscv64::trap::print_traplog
- arch::riscv64::trap::user::_user_trap_entry
- arch::riscv64::trap::user::arch_user_trap_handler
- arch::riscv64::trap_init
- arch::riscv64::vm::alloc_virtual_address_space
- arch::riscv64::vm::get_page_table
- arch::riscv64::vm::get_root_page_table_idx
- arch::riscv64::vm::new_page_table_idx
- device::fdt::init_fdt
- device::fdt::relocate_fdt
- device::manager::register_serial
- drivers::uart::virt::register_uart
- drivers::virtio::device::probe_fn
- drivers::virtio::device::register_driver
- drivers::virtio::device::remove_fn
- earlycon::print
- fs::drivers::cpio::register_driver
- fs::drivers::initramfs::init_initramfs
- fs::drivers::initramfs::mount_initramfs
- fs::drivers::initramfs::relocate_initramfs
- fs::get_fs_driver_manager
- fs::helper::get_path_str
- fs::syscall::sys_close
- fs::syscall::sys_lseek
- fs::syscall::sys_open
- fs::syscall::sys_read
- fs::syscall::sys_write
- fs::tmpfs::register_tmpfs_driver
- initcall::call_initcalls
- initcall::driver::driver_initcall_call
- initcall::early::early_initcall_call
- library::std::defer::defer
- library::std::print::_print
- mem::allocator::init_heap
- mem::init_bss
- mem::kfree
- mem::kmalloc
- mem::page::allocate_boxed_pages
- mem::page::allocate_raw_pages
- mem::page::free_boxed_page
- mem::page::free_boxed_pages
- mem::page::free_raw_pages
- panic
- sched::scheduler::get_scheduler
- sched::scheduler::make_test_tasks
- start_ap
- start_kernel
- syscall::syscall_handler
- task::elf_loader::load_elf_into_task
- task::elf_loader::map_elf_segment
- task::elf_loader::read_u16
- task::elf_loader::read_u32
- task::elf_loader::read_u64
- task::mytask
- task::new_kernel_task
- task::new_user_task
- task::syscall::sys_brk
- task::syscall::sys_clone
- task::syscall::sys_execve
- task::syscall::sys_execve_abi
- task::syscall::sys_exit
- task::syscall::sys_getchar
- task::syscall::sys_getpid
- task::syscall::sys_getppid
- task::syscall::sys_putchar
- task::syscall::sys_sbrk
- task::syscall::sys_waitpid
- time::current_time
- time::current_time_ms
- time::current_time_s
- time::format_time_us
- timer::get_kernel_timer
- vm::get_kernel_vm_manager
- vm::get_trampoline_trap_vector
- vm::get_trampoline_trapframe
- vm::kernel_vm_init
- vm::kernel_vm_manager_init
- vm::set_trampoline_trap_vector
- vm::set_trampoline_trapframe
- vm::setup_trampoline
- vm::setup_user_stack
- vm::switch_to_kernel_vm
- vm::switch_to_user_vm
- vm::user_kernel_vm_init
- vm::user_vm_init
Type Aliases
- arch::riscv64::Arch
- arch::riscv64::Trapframe
- arch::riscv64::timer::ArchTimer
- device::manager::BorrowedDevice
- fs::FileSystemRef
- fs::Result
Statics
- abi::scarlet::__EARLY_INITCALL__
- arch::riscv64::TRAPFRAME
- arch::riscv64::vm::PAGE_TABLES
- arch::riscv64::vm::PAGE_TABLES_USED
- arch::riscv64::vm::ROOT_PAGE_TABLES
- arch::riscv64::vm::ROOT_PAGE_TABLES_USED
- device::fdt::FDT_ADDR
- device::fdt::MANAGER
- device::manager::MANAGER
- drivers::uart::virt::__EARLY_INITCALL__
- drivers::virtio::device::__DRIVER_INITCALL__
- fs::FS_DRIVER_MANAGER
- fs::drivers::cpio::__DRIVER_INITCALL__
- fs::drivers::initramfs::INITRAMFS_AREA
- fs::tmpfs::__DRIVER_INITCALL__
- initcall::__INITCALL_DRIVER_END
- initcall::__INITCALL_END
- initcall::driver::__INITCALL_DRIVER_END
- initcall::driver::__INITCALL_DRIVER_START
- initcall::early::__INITCALL_EARLY_END
- initcall::early::__INITCALL_EARLY_START
- mem::KERNEL_STACK
- mem::__FDT_RESERVED_END
- mem::__FDT_RESERVED_START
- mem::__KERNEL_SPACE_END
- mem::__KERNEL_SPACE_START
- mem::allocator::ALLOCATOR
- sched::scheduler::SCHEDULER
- task::TASK_ID
- timer::KERNEL_TIMER
- vm::KERNEL_AREA
- vm::KERNEL_VM_MANAGER
- vm::TRAMPOLINE_TRAPFRAME
- vm::TRAMPOLINE_TRAP_VECTOR
- vm::__KERNEL_SPACE_END
- vm::__KERNEL_SPACE_START
- vm::__TRAMPOLINE_END
- vm::__TRAMPOLINE_START
Constants
- abi::MAX_ABI_LENGTH
- arch::riscv64::vm::NUM_OF_MAX_PAGE_TABLE
- arch::riscv64::vm::NUM_OF_MAX_ROOT_PAGE_TABLE
- arch::riscv64::vm::mmu::sv48::MAX_PAGING_LEVEL
- drivers::block::virtio_blk::VIRTIO_BLK_F_BLK_SIZE
- drivers::block::virtio_blk::VIRTIO_BLK_F_CONFIG_WCE
- drivers::block::virtio_blk::VIRTIO_BLK_F_MQ
- drivers::block::virtio_blk::VIRTIO_BLK_F_RO
- drivers::block::virtio_blk::VIRTIO_BLK_F_SCSI
- drivers::block::virtio_blk::VIRTIO_BLK_S_IOERR
- drivers::block::virtio_blk::VIRTIO_BLK_S_OK
- drivers::block::virtio_blk::VIRTIO_BLK_S_UNSUPP
- drivers::block::virtio_blk::VIRTIO_BLK_T_IN
- drivers::block::virtio_blk::VIRTIO_BLK_T_OUT
- drivers::block::virtio_blk::VIRTIO_F_ANY_LAYOUT
- drivers::block::virtio_blk::VIRTIO_RING_F_EVENT_IDX
- drivers::block::virtio_blk::VIRTIO_RING_F_INDIRECT_DESC
- drivers::uart::virt::LSR_DR
- drivers::uart::virt::LSR_OFFSET
- drivers::uart::virt::LSR_THRE
- drivers::uart::virt::RHR_OFFSET
- drivers::uart::virt::THR_OFFSET
- environment::DEAFAULT_MAX_TASK_DATA_SIZE
- environment::DEAFAULT_MAX_TASK_STACK_SIZE
- environment::DEAFAULT_MAX_TASK_TEXT_SIZE
- environment::KERNEL_VM_STACK_END
- environment::KERNEL_VM_STACK_SIZE
- environment::KERNEL_VM_STACK_START
- environment::NUM_OF_CPUS
- environment::PAGE_SIZE
- environment::RISCV_STIMER_FREQ
- environment::STACK_SIZE
- environment::USER_STACK_TOP
- environment::VMMAX
- fs::MAX_PATH_LENGTH
- task::NUM_OF_FDS
- task::elf_loader::EI_CLASS
- task::elf_loader::EI_DATA
- task::elf_loader::EI_MAG0
- task::elf_loader::EI_MAG1
- task::elf_loader::EI_MAG2
- task::elf_loader::EI_MAG3
- task::elf_loader::ELFCLASS64
- task::elf_loader::ELFDATA2LSB
- task::elf_loader::ELFMAG
- task::elf_loader::PF_R
- task::elf_loader::PF_W
- task::elf_loader::PF_X
- task::elf_loader::PT_LOAD