Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/64/solstice
/ functions
Functions
325 in github.com/64/solstice
⨍
Functions
325
◇
Types & classes
90
Method
inner
This inner function is used to limit the scope of `unsafe`. This is a safe function, so we need to use `unsafe` blocks when we do something unsafe.
x86_64/src/structures/paging/mapper/recursive_page_table.rs:99
Function
int3
()
x86_64/src/instructions/interrupts.rs:76
Method
into_inner
(self)
src/ds/sync/rwspinlock.rs:61
Method
into_iter
(self)
src/mm/map.rs:148
Function
invalid_opcode_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:67
Function
invalid_tss_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:79
Method
is_empty
Returns wether this range contains no pages.
x86_64/src/structures/paging/page.rs:221
Method
is_empty
Returns whether the range contains no frames.
x86_64/src/structures/paging/frame.rs:112
Method
is_null
Convenience method for checking if a physical address is null.
x86_64/src/addr.rs:218
Method
kernel
()
src/mm/addr_space.rs:39
Method
kernel_code_segment
Creates a segment descriptor for a long mode kernel code segment.
x86_64/src/structures/gdt.rs:182
Function
kernel_virt_to_phys
(virt: VirtAddr)
src/mm/mod.rs:29
Function
load
()
src/cpu/gdt.rs:44
Method
load
(&'static self)
x86_64/src/structures/gdt.rs:119
Method
log
(&self, record: &Record)
src/macros.rs:82
Function
machine_check_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:107
Method
map_physical_region
( &mut self, physical_address: usize, size: usize, )
src/drivers/acpi.rs:39
Method
map_to
( &mut self, page: Page<Size1GiB>, frame: PhysFrame<Size1GiB>, flags: PageTabl
x86_64/src/structures/paging/mapper/offset_page_table.rs:46
Method
map_to
( &mut self, page: Page<Size1GiB>, frame: PhysFrame<Size1GiB>, flags: PageTabl
x86_64/src/structures/paging/mapper/recursive_page_table.rs:224
Method
minimal
Creates a minimal options field with all the must-be-one bits set.
x86_64/src/structures/idt.rs:599
Method
missing
Creates a non-present IDT entry (but sets the must-be-one bits).
x86_64/src/structures/idt.rs:536
Method
new
(data: T)
src/ds/sync/spinlock.rs:17
Method
new
(user_data: T)
src/ds/sync/rwspinlock.rs:53
Method
new
()
src/drivers/vga/ransid.rs:60
Method
new
()
src/mm/slob.rs:25
Method
new
(addr: PhysAddr, size: usize, blocks: &'static mut [Block])
src/mm/pmm.rs:28
Method
new
(memory_map: &[MemoryRegion])
src/mm/map.rs:48
Method
new
(addr: usize)
x86_64/src/addr.rs:32
Method
new
Creates a new IDT filled with non-present entries.
x86_64/src/structures/idt.rs:373
Method
new
Creates a new TSS with zeroed privilege and interrupt stack table and a zero `iomap_base`.
x86_64/src/structures/tss.rs:27
Method
new
Creates a new SegmentSelector # Arguments `index`: index in GDT or LDT array (not the offset) `rpl`: the requested privilege level
x86_64/src/structures/gdt.rs:24
Method
new
Creates an unused page table entry.
x86_64/src/structures/paging/page_table.rs:31
Method
new
Creates a new `MappedPageTable` that uses the passed closure for converting virtual to physical addresses. This function is unsafe because the caller
x86_64/src/structures/paging/mapper/mapped_page_table.rs:30
Method
new
Create a new flush promise
x86_64/src/structures/paging/mapper/mod.rs:148
Method
new
Creates a new `OffsetPageTable` that uses the given offset for converting virtual to physical addresses. This function is unsafe because the caller m
x86_64/src/structures/paging/mapper/offset_page_table.rs:20
Method
new
Creates a new RecursivePageTable from the passed level 4 PageTable. The page table must be recursively mapped, that means: - The page table must hav
x86_64/src/structures/paging/mapper/recursive_page_table.rs:47
Method
new
Creates Some(RdRand) if RDRAND is supported, None otherwise
x86_64/src/instructions/random.rs:10
Method
new
Creates a read only I/O port with the given port number.
x86_64/src/instructions/port.rs:82
Method
new
Create an instance from a register.
x86_64/src/registers/model_specific.rs:11
Method
new_blocks_for_region
(region: Region, usable_pages: u64)
src/mm/pmm.rs:194
Method
new_unchecked
Creates a new canonical virtual address without checks. This function performs sign extension of bit 47 to make the address canonical, so bits 48 to
x86_64/src/addr.rs:58
Method
new_unchecked
Creates a new RecursivePageTable without performing any checks. The `recursive_index` parameter must be the index of the recursively mapped entry.
x86_64/src/structures/paging/mapper/recursive_page_table.rs:70
Method
next
(&mut self)
src/mm/map.rs:162
Method
next
(&mut self)
x86_64/src/structures/paging/page.rs:229
Method
next
(&mut self)
x86_64/src/structures/paging/frame.rs:136
Function
non_maskable_interrupt_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:51
Method
offset_addr
(block: NonNull<Block>, size: usize)
src/mm/slob.rs:175
Function
overflow_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:59
Method
p1_index
Returns the 9-bit level 1 page table index.
x86_64/src/addr.rs:127
Method
p2_index
Returns the 9-bit level 2 page table index.
x86_64/src/addr.rs:132
Method
p3_index
Returns the 9-bit level 3 page table index.
x86_64/src/addr.rs:137
Method
p4_index
Returns the 9-bit level 4 page table index.
x86_64/src/addr.rs:142
Function
page_fault_handler
(frame: &mut idt::InterruptStackFrame, error_code: idt::PageFaultErrorCode)
src/cpu/idt.rs:95
Function
panic
(info: &PanicInfo)
src/main.rs:52
Function
panic
(info: &PanicInfo)
src/testing.rs:24
Method
parent_state
(left: Self, right: Self)
src/mm/pmm.rs:174
Method
phys_to_virt
(&self, frame: PhysFrame)
x86_64/src/structures/paging/mapper/offset_page_table.rs:36
Method
preempt_count
(&self, ordering: Ordering)
src/cpu/percpu.rs:55
Method
range
Returns a range of pages, exclusive `end`.
x86_64/src/structures/paging/page.rs:105
Method
range
Returns a range of frames, exclusive `end`.
x86_64/src/structures/paging/frame.rs:47
Method
range_inclusive
Returns a range of pages, inclusive `end`.
x86_64/src/structures/paging/page.rs:110
Method
range_inclusive
Returns a range of frames, inclusive `end`.
x86_64/src/structures/paging/frame.rs:52
Method
read
(&mut self)
x86_64/src/instructions/port.rs:94
Method
read
Read the current set of CR0 flags.
x86_64/src/registers/control.rs:72
Method
read_from_port
(port: u16)
x86_64/src/instructions/port.rs:9
Method
read_raw
Read the current raw EFER flags.
x86_64/src/registers/model_specific.rs:74
Method
read_raw
Read the current raw CR0 value.
x86_64/src/registers/control.rs:77
Function
read_rip
()
x86_64/src/registers/mod.rs:10
Method
reset
Resets all entries of this IDT in place.
x86_64/src/structures/idt.rs:404
Function
security_exception_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64, )
src/cpu/idt.rs:119
Function
segment_not_present_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:83
Method
set_handler_addr
(&mut self, addr: u64)
x86_64/src/structures/idt.rs:556
Method
set_privilege_level
Set the required privilege level (DPL) for invoking the handler. The DPL can be 0, 1, 2, or 3, the default is 0. If CPL < DPL, a general protection fa
x86_64/src/structures/idt.rs:620
Method
set_stack_index
Assigns a Interrupt Stack Table (IST) stack to this handler. The CPU will then always switch to the specified stack before the handler is invoked. Thi
x86_64/src/structures/idt.rs:637
Function
simd_floating_point_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:111
Method
size
Returns the size the frame (4KB, 2MB or 1GB).
x86_64/src/structures/paging/frame.rs:42
Function
size_test
()
x86_64/src/structures/idt.rs:760
Method
split_at
( mut block: NonNull<Self>, mut alloc_len: usize, )
src/mm/slob.rs:181
Method
split_region
( num_pages: u64, mut blocks: &'static mut [Block], )
src/mm/pmm.rs:58
Function
stack_segment_fault_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:87
Method
sub
(self, rhs: usize)
x86_64/src/addr.rs:168
Method
sub
(self, rhs: usize)
x86_64/src/structures/paging/page.rs:191
Method
sub
(self, rhs: usize)
x86_64/src/structures/paging/frame.rs:82
Method
sub_assign
(&mut self, rhs: usize)
x86_64/src/addr.rs:174
Method
sub_assign
(&mut self, rhs: usize)
x86_64/src/structures/paging/page.rs:197
Method
sub_assign
(&mut self, rhs: usize)
x86_64/src/structures/paging/frame.rs:88
Function
test_align_up
()
x86_64/src/addr.rs:342
Function
test_page_ranges
()
x86_64/src/structures/paging/page.rs:304
Function
test_rdrand
()
x86_64/src/instructions/random.rs:73
Function
test_runner
(tests: &[&dyn Fn()])
src/testing.rs:31
Method
translate
(&self, addr: VirtAddr)
x86_64/src/structures/paging/mapper/offset_page_table.rs:148
Method
translate
(&self, addr: VirtAddr)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:532
Method
translate_addr
Translates the given virtual address to the physical address that it maps to. Returns `None` if there is no valid mapping for the given address. Thi
x86_64/src/structures/paging/mapper/mod.rs:37
Method
translate_page
(&self, page: Page<Size1GiB>)
x86_64/src/structures/paging/mapper/mapped_page_table.rs:180
Method
translate_page
(&self, page: Page<Size1GiB>)
x86_64/src/structures/paging/mapper/offset_page_table.rs:74
Method
translate_page
(&self, page: Page<Size1GiB>)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:289
Method
try_merge
(mut left: NonNull<Self>, mut right: NonNull<Self>)
src/mm/slob.rs:198
Method
try_new
Tries to create a new canonical virtual address. This function tries to performs sign extension of bit 47 to make the address canonical. It succeeds
x86_64/src/addr.rs:45
Method
try_upgrade
(self)
src/ds/sync/rwspinlock.rs:272
Method
try_upgradeable_read
(&self)
src/ds/sync/rwspinlock.rs:194
← previous
next →
201–300 of 325, ranked by callers