Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Simple-XX/SimpleKernel
/ types & classes
Types & classes
206 in github.com/Simple-XX/SimpleKernel
⨍
Functions
1,141
◇
Types & classes
206
↓ 174 callers
Class
Error
错误类型,用于 std::expected
src/include/expected.hpp:337
↓ 5 callers
Class
PerCpu
@brief 每个 CPU 核心的局部数据
src/include/per_cpu.hpp:23
↓ 2 callers
Class
ResourceId
* @brief 资源 ID * * [63:56] - 资源类型 (8 bits) * [55:0] - 资源数据 (56 bits) */
src/task/include/resource_id.hpp:77
↓ 1 callers
Class
Gic
* @brief GIC 中断控制器驱动 * @see * https://developer.arm.com/documentation/100095/0003/Generic-Interrupt-Controller-CPU-Interface/GIC-programmers-model/C
src/arch/aarch64/gic/include/gic.h:17
↓ 1 callers
Class
InsClass
tests/system_test/ctor_dtor_test.cpp:58
↓ 1 callers
Class
Plic
* @brief Plic 驱动 * @see https://github.com/riscv/riscv-plic */
src/arch/riscv64/plic/include/plic.h:20
↓ 1 callers
Class
VirtioBlk
src/device/virtio/device/blk/virtio_blk.hpp:50
Class
AbsClass
tests/system_test/ctor_dtor_test.cpp:50
Class
Acpi
* @brief ACPI 驱动 * * 提供 ACPI 表结构定义和基本的表解析能力。 * * @see https://uefi.org/sites/default/files/resources/ACPI_Spec_6_5_Aug29.pdf */
src/device/acpi/acpi.hpp:18
Class
ArrayObj
tests/unit_test/sk_unique_ptr_test.cpp:241
Class
Avail
src/device/virtio/virt_queue/split.hpp:103
Enum
AvailFlags
src/device/virtio/virt_queue/split.hpp:57
Class
Base
tests/unit_test/sk_unique_ptr_test.cpp:203
Class
BaseEnvTest
tests/unit_test/vfs_test.cpp:98
Class
BasicInfo
@brief 内核基础信息(物理内存、内核地址、CPU 核数等)
src/include/basic_info.hpp:26
Class
BlkConfig
* @brief 块设备配置空间布局 * @see virtio-v1.2#5.2.4 Device configuration layout * * 设备配置空间包含设备的静态配置信息,如容量、最大段大小、 * 几何信息、拓扑信息等。驱动程序通过传输层读取这些信息。 * * @note
src/device/virtio/device/blk/virtio_blk_defs.h:59
Enum
BlkConfigOffset
* @brief 块设备配置空间字段偏移量 * @see virtio-v1.2#5.2.4 * * 这些常量定义了各个配置字段在配置空间中的字节偏移量, * 用于通过传输层 ReadConfigU* 系列函数访问配置空间。 */
src/device/virtio/device/blk/virtio_blk_defs.h:134
Class
BlkDiscardWriteZeroes
* @brief Discard/Write Zeroes/Secure Erase 请求段 * @see virtio-v1.2#5.2.6 * * VIRTIO_BLK_T_DISCARD、VIRTIO_BLK_T_WRITE_ZEROES 和 * VIRTIO_BLK_T_SECURE
src/device/virtio/device/blk/virtio_blk_defs.h:225
Enum
BlkFeatureBit
* @brief 块设备特性位定义 * @see virtio-v1.2#5.2.3 Feature bits * * 特性位用于在设备初始化期间协商设备功能。 * 驱动程序通过读取设备特性位来确定设备支持哪些功能, * 并通过写入驱动程序特性位来确认要使用的功能。 */
src/device/virtio/device/blk/virtio_blk_defs.h:20
Class
BlkLifetime
* @brief 设备生命周期信息 * @see virtio-v1.2#5.2.6 * * VIRTIO_BLK_T_GET_LIFETIME 请求的响应数据。 * 用于 eMMC/UFS 等存储设备报告磨损程度。 */
src/device/virtio/device/blk/virtio_blk_defs.h:247
Class
BlkReqHeader
* @brief 块设备请求头 * @see virtio-v1.2#5.2.6 Device Operation * * 所有块设备请求都以此结构开头,位于第一个描述符中(设备只读)。 * * @note 协议中所有字段采用小端格式 * @note 请求头后跟数据缓冲区(可选),最后是
src/device/virtio/device/blk/virtio_blk_defs.h:209
Enum
BlkStatus
* @brief 块设备请求状态 * @see virtio-v1.2#5.2.6 * * 设备在请求完成后,在响应中写入状态字节。 */
src/device/virtio/device/blk/virtio_blk_defs.h:191
Class
BlockDevice
src/device/include/device_node.hpp:29
Class
BlockDevice
* @brief 块设备抽象基类 * @details 所有块设备驱动(virtio-blk、ramdisk 等)必须实现此接口。 * 块设备以固定大小的扇区 (sector) 为最小 I/O 单位。 */
src/filesystem/vfs/include/block_device.hpp:19
Class
BmallocLock
* @brief bmalloc 线程安全锁(基于 SpinLock) * @details 在 Lock() 时关中断 + 原子自旋,保证 malloc/free * 在 timer 抢占和多核环境下的安全性。 */
src/memory/memory.cpp:34
Class
BmallocLogger
bmalloc 日志回调(空实现)
src/memory/memory.cpp:22
Enum
BusType
总线类型标识 — 为将来扩展 PCI/ACPI 总线预留的扩展点
src/device/include/device_node.hpp:14
Class
CStrLess
flat_map 中 const char* 键的比较器(使用 kstd::strcmp)。
src/device/include/driver_registry.hpp:49
Class
CalleeSavedContext
tests/unit_test/mocks/cpu_io.h:199
Class
Cell
3rd/MPMCQueue/include/MPMCQueue.hpp:150
Class
CfsScheduler
* @brief CFS (Completely Fair Scheduler) 调度器 * * 基于虚拟运行时间 (vruntime) 的完全公平调度器。 * 每个任务根据其权重累积 vruntime,调度器总是选择 vruntime 最小的任务。 * * 特点: * - 完全公平:每
src/task/include/cfs_scheduler.hpp:29
Class
ContentionArgs
tests/system_test/mutex_test.cpp:152
Class
CoreEnvironment
* @brief 单个核心的环境状态 */
tests/unit_test/mocks/test_environment_state.hpp:24
Class
CpuSchedData
* @brief 每个核心的调度数据 (RunQueue) */
src/task/include/task_manager.hpp:34
Class
CpuSchedData
src/include/per_cpu.hpp:18
Class
CpuSchedData
tests/unit_test/mocks/test_environment_state.hpp:17
Class
CustomDeleter
tests/unit_test/sk_unique_ptr_test.cpp:159
Class
Dentry
* @brief Dentry — 目录项缓存(路径名 ↔ Inode 的映射) * @details Dentry 构成一棵树,反映目录层次结构。 * 支持路径查找加速。 */
src/filesystem/vfs/include/vfs.hpp:41
Class
Dentry
src/filesystem/vfs/include/vfs_types.hpp:16
Class
Derived
tests/unit_test/sk_unique_ptr_test.cpp:207
Class
Desc
src/device/virtio/virt_queue/split.hpp:80
Enum
DescFlags
src/device/virtio/virt_queue/split.hpp:44
Class
DescriptionHeader
src/device/acpi/acpi.hpp:68
Enum
DeviceId
* @brief Virtio 设备 ID 定义 * @see virtio-v1.2#5 Device Types */
src/device/virtio/defs.h:15
Enum
DeviceId
src/device/virtio/virtio_driver.hpp:35
Class
DeviceInitializer
src/device/virtio/device/device_initializer.hpp:46
Class
DeviceManager
* @brief 设备管理器 — 管理所有设备节点和驱动程序。 * * @pre 调用任何方法前,内存子系统必须已完成初始化 * @post ProbeAll() 执行完成后,已绑定的设备可供使用 */
src/device/include/device_manager.hpp:23
Class
DeviceNode
* @brief 单个设备的硬件资源描述。 * * 纯数据结构 — 无生命周期管理、无 DMA 缓冲区、 * 无并发原语。`bound` 受 DeviceManager::lock_ 保护 *(在整个 ProbeAll() 循环期间持有)。 */
src/device/include/device_node.hpp:39
Enum
DeviceStatus
src/device/virtio/transport/transport.hpp:89
Enum
DeviceType
设备分类
src/device/include/device_node.hpp:17
Class
DirEntry
目录项结构(用于 readdir)
src/filesystem/vfs/include/vfs_types.hpp:172
Class
DmaRegion
* @brief DMA 可访问内存区域的非拥有描述符 * * 将虚拟地址、物理(总线)地址和大小封装为单一值类型。 * 不拥有内存所有权——生命周期由分配器(如 IoBuffer)管理。 * * @note 类 POD 类型,可平凡拷贝,可安全按值或 const 引用传递。 */
src/include/io_buffer.hpp:37
Class
DriverEntry
* @brief 类型擦除的驱动条目 — 每个已注册驱动对应一条。 * * @pre 注册前 match/probe/remove 委托必须已绑定 */
src/device/include/driver_registry.hpp:37
Class
DriverRegistry
* @brief 驱动注册表 — 以 ETL vector 存储 DriverEntry,并附带 flat_map * 兼容索引。 * * 注册时构建 etl::flat_map(compatible 字符串 → 驱动索引), * 将 FindDriver 的复杂度从 O(N·M·K) 降至
src/device/include/driver_registry.hpp:62
Class
Dsdt
src/device/acpi/acpi.hpp:165
Class
EarlyConsole
* @brief 早期控制台初始化类 * @note 通过全局构造在内核 main 之前初始化 PL011 串口输出 */
src/arch/aarch64/early_console.cpp:16
Enum
ErrorCode
内核错误码
src/include/expected.hpp:11
Class
ExitWaitArgs
tests/system_test/cross_core_test.cpp:136
Class
Fadt
src/device/acpi/acpi.hpp:102
Class
FatDirHandle
src/filesystem/fatfs/include/fatfs.hpp:284
Class
FatFileHandle
src/filesystem/fatfs/include/fatfs.hpp:276
Class
FatFsFileOps
src/filesystem/fatfs/include/fatfs.hpp:185
Class
FatFsFileSystem
* @brief FatFS VFS 适配器 * @details 将 FatFS (f_mount / f_open / f_read / ...) 封装在 vfs::FileSystem * 接口后。每个 FatFsFileSystem 实例独占一个 FatFS 逻辑驱动器
src/filesystem/fatfs/include/fatfs.hpp:25
Class
FatFsInodeOps
src/filesystem/fatfs/include/fatfs.hpp:130
Class
FatInode
src/filesystem/fatfs/include/fatfs.hpp:261
Class
FdTableTest
测试文件描述符表
tests/unit_test/vfs_test.cpp:153
Class
FifoScheduler
* @brief 先来先服务 (FIFO) 调度器 * * FIFO 调度器特点: * - 先进先出,适合对延迟敏感的实时任务 * - 不可抢占,任务运行直到主动让出 CPU * - O(1) 时间复杂度 */
src/task/include/fifo_scheduler.hpp:22
Class
File
* @brief File — 打开的文件实例(每次 open 产生一个) * @details File 对象持有当前偏移量和操作方法指针。 * 多个 File 可以指向同一个 Inode。 */
src/filesystem/vfs/include/vfs.hpp:65
Class
File
src/filesystem/vfs/include/vfs_types.hpp:17
Class
FileDescriptorTable
* @brief 进程级文件描述符表 * @details 每个进程(TaskControlBlock)持有一个 FdTable, * 将整数 fd 映射到 File 对象。 * fd 0/1/2 预留给 stdin/stdout/stderr。 */
src/filesystem/include/file_descriptor.hpp:23
Class
FileOps
File 操作接口
src/filesystem/vfs/include/vfs_types.hpp:182
Class
FileSystem
* @brief 文件系统类型基类 * @details 每种文件系统(ramfs/fat32/ext2 等)注册一个 FileSystem 实例。 * VFS 通过此接口挂载/卸载文件系统。 */
src/filesystem/vfs/include/filesystem.hpp:17
Class
FileSystem
src/filesystem/vfs/include/vfs_types.hpp:18
Enum
FileType
文件类型
src/filesystem/vfs/include/vfs_types.hpp:22
Class
GenericAddressStructure
src/device/acpi/acpi.hpp:40
Class
Gicd
src/arch/aarch64/gic/include/gic.h:31
Class
GicdCtlr
src/arch/aarch64/gic/include/gic.h:123
Class
GicdIidr
src/arch/aarch64/gic/include/gic.h:193
Class
GicdTyper
src/arch/aarch64/gic/include/gic.h:153
Class
Gicr
src/arch/aarch64/gic/include/gic.h:410
Class
GuardType
@note 根据 Itanium C++ ABI,守护变量必须是 64 位 @see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor
src/libcxx/kstd_libcxx.cpp:111
Class
IdleScheduler
* @brief Idle 调度器 * * Idle 调度器特点: * - 只管理 idle 任务,通常只有一个 idle 任务 * - 当没有其他任务可运行时,调度 idle 任务 * - 最低优先级,只有在所有其他调度器都为空时才会被选中 * - O(1) 时间复杂度 */
src/task/include/idle_scheduler.hpp:19
Class
Inode
* @brief Inode — 文件元数据(独立于路径名) * @details 每个文件/目录在 VFS 中有且仅有一个 Inode。 * Inode 持有文件的元信息和操作方法指针。 */
src/filesystem/vfs/include/vfs.hpp:16
Class
Inode
Forward declarations
src/filesystem/vfs/include/vfs_types.hpp:15
Class
InodeOps
Inode 操作接口
src/filesystem/vfs/include/vfs_types.hpp:104
Class
Interrupt
src/arch/riscv64/include/interrupt.h:17
Class
Interrupt
* @brief AArch64 中断控制器实现 */
src/arch/aarch64/include/interrupt.h:19
Class
InterruptBase
* @brief 中断子系统抽象基类 * * 所有架构的中断处理必须实现此接口。 * 已知实现:PLIC(RISC-V)、GIC(AArch64) * * @pre 硬件中断控制器已初始化 * @post 可通过 RegisterInterruptFunc 注册中断处理函数 */
src/include/interrupt_base.h:23
Enum
InterruptStatus
* @brief MMIO 中断状态位 * @see virtio-v1.2#4.2.2 Table 4.1: MMIO Device Register Layout */
src/device/virtio/transport/mmio.hpp:20
Class
InterruptWork
src/task/include/task_manager.hpp:279
Class
IoBuffer
* @brief 动态分配、对齐 IO 缓冲区的 RAII 封装 * * @pre 无 * @post 缓冲区内存已正确分配并对齐,析构时自动释放 */
src/include/io_buffer.hpp:85
Class
IoVec
* @brief Scatter-Gather IO 物理内存向量 * * 描述一段用于 DMA 传输的物理内存区域。 * * @see virtio-v1.2#2.7.5 The Virtqueue Descriptor Table */
src/device/virtio/virt_queue/misc.hpp:43
Class
KernelElf
* @brief ELF 文件相关 */
src/include/kernel_elf.hpp:22
Class
KernelFdt
* @brief FDT(Flattened Device Tree)解析器 * * 提供对 FDT 的解析功能,包括节点查找、属性读取、设备枚举等。 * * @pre FDT 数据必须是有效的 DTB 格式 * @post 通过各 Get* 方法可获取设备树中的硬件信息 * * @
src/include/kernel_fdt.hpp:47
Class
KernelFdtTest
tests/unit_test/kernel_fdt_test.cpp:12
Enum
Level
日志级别
src/include/kernel_log.hpp:29
Class
LockGuard
src/include/spinlock.hpp:131
Class
LogEntry
存储于 MPMC 队列中的日志条目
src/include/kernel_log.hpp:61
Class
MPMCQueue
3rd/MPMCQueue/include/MPMCQueue.hpp:28
Class
MatchEntry
驱动静态匹配表中的一条记录
src/device/include/driver_registry.hpp:25
next →
1–100 of 206, ranked by callers