Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/64/solstice
/ types & classes
Types & classes
90 in github.com/64/solstice
⨍
Functions
325
◇
Types & classes
90
↓ 5 callers
Class
VirtAddr
x86_64/src/addr.rs:10
↓ 4 callers
Class
PhysAddr
x86_64/src/addr.rs:14
↓ 2 callers
Class
Msr
x86_64/src/registers/model_specific.rs:7
↓ 2 callers
Class
SegmentSelector
x86_64/src/structures/gdt.rs:16
↓ 1 callers
Class
EntryOptions
x86_64/src/structures/idt.rs:595
↓ 1 callers
Class
Hex
x86_64/src/structures/idt.rs:710
↓ 1 callers
Class
MapperFlush
x86_64/src/structures/paging/mapper/mod.rs:144
↓ 1 callers
Class
PhysAddrNotValid
x86_64/src/addr.rs:187
↓ 1 callers
Class
RdRand
Used to obtain random numbers using x86_64's RDRAND opcode
x86_64/src/instructions/random.rs:5
↓ 1 callers
Class
VirtAddrNotValid
x86_64/src/addr.rs:17
Class
AddrSpace
src/mm/addr_space.rs:18
Class
Block
src/mm/slob.rs:14
Enum
Block
src/mm/pmm.rs:144
Enum
Color
src/drivers/vga/ransid.rs:18
Class
ColorChar
src/drivers/vga/ransid.rs:43
Class
Cr0
x86_64/src/registers/control.rs:9
Class
Cr2
x86_64/src/registers/control.rs:48
Class
Cr3
x86_64/src/registers/control.rs:52
Enum
Descriptor
x86_64/src/structures/gdt.rs:148
Class
DescriptorTablePointer
x86_64/src/structures/mod.rs:13
Class
DummyAcpiHandler
src/drivers/acpi.rs:36
Class
Efer
x86_64/src/registers/model_specific.rs:18
Class
Entry
x86_64/src/structures/idt.rs:515
Enum
ExitCode
src/testing.rs:7
Enum
FlagUpdateError
x86_64/src/structures/paging/mapper/mod.rs:189
Interface
FrameAllocator
A trait for types that can allocate a frame of memory. This trait is unsafe to implement because the implementer must guarantee that the `allocate_fr
x86_64/src/structures/paging/frame_alloc.rs:9
Interface
FrameDeallocator
A trait for types that can deallocate a frame of memory.
x86_64/src/structures/paging/frame_alloc.rs:15
Enum
FrameError
x86_64/src/structures/paging/page_table.rs:14
Class
GlobalDescriptorTable
x86_64/src/structures/gdt.rs:84
Class
InterruptDescriptorTable
x86_64/src/structures/idt.rs:38
Class
InterruptStackFrame
Wrapper type for the interrupt stack frame pushed by the CPU. This type derefs to an [`InterruptStackFrameValue`], which allows reading the actual va
x86_64/src/structures/idt.rs:658
Class
InterruptStackFrameValue
x86_64/src/structures/idt.rs:691
Enum
MapToError
x86_64/src/structures/paging/mapper/mod.rs:164
Class
MappedPageTable
x86_64/src/structures/paging/mapper/mapped_page_table.rs:17
Interface
Mapper
A trait for common page table operations on pages of size `S`.
x86_64/src/structures/paging/mapper/mod.rs:81
Interface
MapperAllSizes
This trait defines page table operations that work for all page sizes of the x86_64 architecture.
x86_64/src/structures/paging/mapper/mod.rs:21
Class
MemoryMap
src/mm/map.rs:42
Class
NonCopy
src/ds/sync/rwspinlock.rs:391
Interface
NotGiantPageSize
This trait is implemented for 4KiB and 2MiB pages, but not for 1GiB pages.
x86_64/src/structures/paging/page.rs:19
Class
OffsetPageTable
x86_64/src/structures/paging/mapper/offset_page_table.rs:8
Class
Page
x86_64/src/structures/paging/page.rs:57
Class
PageInfo
src/mm/mod.rs:15
Class
PageRange
x86_64/src/structures/paging/page.rs:212
Class
PageRangeInclusive
x86_64/src/structures/paging/page.rs:262
Interface
PageSize
Trait for abstracting over the three possible page sizes on x86_64, 4KiB, 2MiB, 1GiB.
x86_64/src/structures/paging/page.rs:10
Class
PageTable
x86_64/src/structures/paging/page_table.rs:174
Enum
PageTableCreateError
x86_64/src/structures/paging/mapper/mapped_page_table.rs:494
Class
PageTableEntry
x86_64/src/structures/paging/page_table.rs:25
Enum
PageTableWalkError
x86_64/src/structures/paging/mapper/mapped_page_table.rs:488
Class
PageTableWalker
x86_64/src/structures/paging/mapper/mapped_page_table.rs:403
Class
PerCpu
src/cpu/percpu.rs:5
Class
PhysAllocator
TODO: This should really use an UnsafeCell instead of a RwSpinLock. We don't need to mutate the internal ArrayVec after init(). We use an option here
src/mm/pmm.rs:225
Class
PhysAllocatorProxy
src/mm/addr_space.rs:49
Class
PhysFrame
x86_64/src/structures/paging/frame.rs:12
Class
PhysFrameRange
x86_64/src/structures/paging/frame.rs:103
Class
PhysFrameRangeInclusive
x86_64/src/structures/paging/frame.rs:159
Class
PhysOffset
x86_64/src/structures/paging/mapper/offset_page_table.rs:31
Interface
PhysToVirt
Trait for converting a physical address to a virtual one. This only works if the physical address space is somehow mapped to the virtual address spac
x86_64/src/structures/paging/mapper/mapped_page_table.rs:548
Class
Port
x86_64/src/instructions/port.rs:75
Enum
Port
src/drivers/serial.rs:6
Interface
PortRead
Traits for accessing I/O ports. A helper trait that implements the read port operation. On x86, I/O ports operate on either `u8` (via `inb`/`outb`),
x86_64/src/structures/port.rs:7
Class
PortReadOnly
x86_64/src/instructions/port.rs:61
Interface
PortReadWrite
A helper trait that implements the read/write port operations. On x86, I/O ports operate on either `u8` (via `inb`/`outb`), `u16` (via `inw`/`outw`),
x86_64/src/structures/port.rs:31
Interface
PortWrite
A helper trait that implements the write port operation. On x86, I/O ports operate on either `u8` (via `inb`/`outb`), `u16` (via `inw`/`outw`), or `u
x86_64/src/structures/port.rs:19
Class
PortWriteOnly
x86_64/src/instructions/port.rs:68
Enum
PrivilegeLevel
x86_64/src/lib.rs:26
Class
RansidState
src/drivers/vga/ransid.rs:37
Class
RecursivePageTable
x86_64/src/structures/paging/mapper/recursive_page_table.rs:30
Class
Region
src/mm/map.rs:16
Class
RegionBumpAllocator
Allocates from a physically contiguous chunk of memory
src/mm/map.rs:168
Class
RegionIter
src/mm/map.rs:155
Class
RwSpinLock
src/ds/sync/rwspinlock.rs:16
Class
RwSpinLockReadGuard
src/ds/sync/rwspinlock.rs:26
Class
RwSpinLockUpgradeableGuard
src/ds/sync/rwspinlock.rs:40
Class
RwSpinLockWriteGuard
src/ds/sync/rwspinlock.rs:32
Class
ScreenLocker
Need a separate struct so we can implement Log trait
src/macros.rs:9
Class
ScreenWriter
src/macros.rs:11
Enum
Size1GiB
x86_64/src/structures/paging/page.rs:33
Enum
Size2MiB
x86_64/src/structures/paging/page.rs:27
Enum
Size4KiB
x86_64/src/structures/paging/page.rs:23
Class
SlobAllocator
src/mm/slob.rs:8
Class
SpinLock
src/ds/sync/spinlock.rs:8
Class
SpinLockGuard
src/ds/sync/spinlock.rs:75
Enum
State
src/drivers/vga/ransid.rs:6
Class
TaskStateSegment
x86_64/src/structures/tss.rs:11
Enum
TranslateError
x86_64/src/structures/paging/mapper/mod.rs:199
Enum
TranslateResult
x86_64/src/structures/paging/mapper/mod.rs:52
Enum
UnmapError
x86_64/src/structures/paging/mapper/mod.rs:177
Class
Writer
src/drivers/vga/text_mode.rs:13
Class
Zone
src/mm/pmm.rs:21