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
↓ 1 callers
Method
map_to_4kib
Helper function for implementing Mapper. Safe to limit the scope of unsafe, see https://github.com/rust-lang/rfcs/pull/2585.
x86_64/src/structures/paging/mapper/recursive_page_table.rs:193
↓ 1 callers
Function
morecore
(head: &mut Option<NonNull<Block>>, num_pages: u64)
src/mm/slob.rs:155
↓ 1 callers
Function
phys_to_page_info
(frame: PhysFrame)
src/mm/mod.rs:19
↓ 1 callers
Method
read
Read 64 bits msr register.
x86_64/src/registers/model_specific.rs:53
↓ 1 callers
Method
rpl
Returns the requested privilege level.
x86_64/src/structures/gdt.rs:34
↓ 1 callers
Function
set_cs
Reload code segment register. Note this is special since we can not directly move to %cs. Instead we push the new segment selector and return value o
x86_64/src/instructions/segmentation.rs:11
↓ 1 callers
Method
set_present
Set or reset the preset bit.
x86_64/src/structures/idt.rs:604
↓ 1 callers
Method
split_at
(self, offset: usize)
src/mm/map.rs:22
↓ 1 callers
Method
translate
(&self, addr: VirtAddr)
x86_64/src/structures/paging/mapper/mapped_page_table.rs:359
↓ 1 callers
Method
translate_addr
(&self, addr: VirtAddr)
src/mm/addr_space.rs:78
↓ 1 callers
Method
try_lock
(&self)
src/ds/sync/spinlock.rs:39
↓ 1 callers
Method
try_read
(&self)
src/ds/sync/rwspinlock.rs:100
↓ 1 callers
Method
update_cursor
(&self)
src/drivers/vga/text_mode.rs:52
↓ 1 callers
Function
usable_pages
Each page of memory has a constant memory overhead of size_of::<PageInfo>(), as well as the whole region having a memory overhead of blocks_in_region(
src/mm/pmm.rs:311
↓ 1 callers
Function
without_interrupts
Run a closure with disabled interrupts. Run the given closure, disabling interrupts before running it (if they aren't already disabled). Afterwards,
x86_64/src/instructions/interrupts.rs:50
↓ 1 callers
Method
write
Write 64 bits to msr register.
x86_64/src/registers/model_specific.rs:60
↓ 1 callers
Function
write_byte
(ch: u8)
src/drivers/serial.rs:28
↓ 1 callers
Method
write_byte
(&mut self, ch: u8)
src/drivers/vga/text_mode.rs:21
↓ 1 callers
Function
write_str
(s: &str)
src/drivers/serial.rs:34
Function
_print
(args: fmt::Arguments)
src/macros.rs:70
Function
_start
(boot_info: &'static BootInfo)
src/main.rs:34
Method
add
(self, rhs: usize)
x86_64/src/addr.rs:155
Method
add
(self, rhs: usize)
x86_64/src/structures/paging/page.rs:178
Method
add
(self, rhs: usize)
x86_64/src/structures/paging/frame.rs:69
Method
add_assign
(&mut self, rhs: usize)
x86_64/src/addr.rs:161
Method
add_assign
(&mut self, rhs: usize)
x86_64/src/structures/paging/page.rs:184
Method
add_assign
(&mut self, rhs: usize)
x86_64/src/structures/paging/frame.rs:75
Method
add_entry
Adds the given segment descriptor to the GDT, returning the segment selector. Panics if the GDT has no free entries left.
x86_64/src/structures/gdt.rs:101
Method
align_up
Aligns the virtual address upwards to the given alignment. See the `align_up` function for more information.
x86_64/src/addr.rs:96
Function
alignment_check_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:103
Method
alloc
(&self, layout: Layout)
src/mm/slob.rs:56
Method
alloc
(&mut self, layout: Layout)
src/mm/map.rs:175
Function
alloc_error_handler
(layout: alloc::alloc::Layout)
src/main.rs:58
Method
allocate_frame
(&mut self)
src/mm/addr_space.rs:51
Method
allocation
(block: NonNull<Self>)
src/mm/slob.rs:216
Method
as_4kib_page_range
Converts the range of 2MiB pages to a range of 4KiB pages.
x86_64/src/structures/paging/page.rs:242
Function
bochs_breakpoint
()
x86_64/src/instructions/mod.rs:23
Function
bound_range_exceeded_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:63
Function
breakpoint_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:55
Method
containing_address
Returns the page that contains the given virtual address.
x86_64/src/structures/paging/page.rs:77
Method
containing_address
Returns the frame that contains the given physical address.
x86_64/src/structures/paging/frame.rs:29
Method
contains_address
(&self, addr: PhysAddr)
x86_64/src/structures/paging/frame.rs:124
Method
create_next_table
Internal helper function to create the page table of the next level if needed. If the passed entry is unused, a new frame is allocated from the given
x86_64/src/structures/paging/mapper/recursive_page_table.rs:88
Function
create_style
(bg: Color, fg: Color)
src/drivers/vga/ransid.rs:48
Method
current
()
src/cpu/percpu.rs:29
Method
dealloc
(&self, ptr: *mut u8, layout: Layout)
src/mm/slob.rs:60
Method
debug
()
src/mm/slob.rs:30
Function
debug_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:47
Method
default
()
src/ds/sync/spinlock.rs:55
Method
default
()
src/ds/sync/rwspinlock.rs:225
Method
default
()
src/drivers/vga/text_mode.rs:89
Method
deref
(&self)
src/ds/sync/spinlock.rs:83
Method
deref
(&self)
src/ds/sync/rwspinlock.rs:312
Method
deref
(&self)
x86_64/src/structures/idt.rs:677
Method
deref_mut
(&mut self)
src/ds/sync/spinlock.rs:89
Method
deref_mut
(&mut self)
src/ds/sync/rwspinlock.rs:334
Function
device_not_available_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:71
Method
disable_interrupts
Let the CPU disable hardware interrupts when the handler is invoked. By default, interrupts are disabled on handler invocation.
x86_64/src/structures/idt.rs:611
Function
divide_error_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:43
Function
double_fault_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:75
Method
downgrade
(self)
src/ds/sync/rwspinlock.rs:277
Method
drop
(&mut self)
src/ds/sync/spinlock.rs:95
Method
drop
(&mut self)
src/ds/sync/rwspinlock.rs:340
Method
flush
(self)
x86_64/src/structures/paging/mapper/mod.rs:154
Function
flush_all
()
x86_64/src/instructions/tlb.rs:13
Method
fmt
(&self, f: &mut core::fmt::Formatter)
src/ds/sync/spinlock.rs:61
Method
fmt
(&self, f: &mut fmt::Formatter)
src/ds/sync/rwspinlock.rs:214
Method
fmt
(&self, fmt: &mut core::fmt::Formatter)
src/mm/pmm.rs:150
Method
fmt
(&self, f: &mut fmt::Formatter)
x86_64/src/addr.rs:148
Method
fmt
(&self, f: &mut fmt::Formatter)
x86_64/src/structures/idt.rs:683
Method
fmt
(&self, f: &mut fmt::Formatter)
x86_64/src/structures/gdt.rs:40
Method
fmt
(&self, f: &mut fmt::Formatter)
x86_64/src/structures/paging/page.rs:167
Method
fmt
(&self, f: &mut fmt::Formatter)
x86_64/src/structures/paging/frame.rs:58
Method
fmt
(&self, f: &mut fmt::Formatter)
x86_64/src/structures/paging/page_table.rs:91
Method
free
(&mut self, range: PhysFrameRange)
src/mm/pmm.rs:130
Method
from
(rg: Region)
src/mm/map.rs:197
Method
from
(phys: PhysAddr)
x86_64/src/addr.rs:20
Method
from
(err: PageTableCreateError)
x86_64/src/structures/paging/mapper/mapped_page_table.rs:500
Method
from_allocation
(ptr: *mut u8)
src/mm/slob.rs:220
Method
from_order
(largest_free_order: u8)
src/mm/pmm.rs:161
Method
from_page_table_indices
Returns the 4KiB memory page with the specified page table indices.
x86_64/src/structures/paging/page.rs:149
Method
from_page_table_indices_1gib
Returns the 1GiB memory page with the specified page table indices.
x86_64/src/structures/paging/page.rs:124
Method
from_page_table_indices_2mib
Returns the 2MiB memory page with the specified page table indices.
x86_64/src/structures/paging/page.rs:136
Method
from_ptr
Creates a virtual address from the given pointer
x86_64/src/addr.rs:77
Method
from_start_address
Returns the page that starts at the given virtual address. Returns an error if the address is not correctly aligned (i.e. is not a valid page start).
x86_64/src/structures/paging/page.rs:69
Method
from_start_address
Returns the frame that starts at the given virtual address. Returns an error if the address is not correctly aligned (i.e. is not a valid frame start
x86_64/src/structures/paging/frame.rs:21
Method
from_u16
Creates a `PrivilegeLevel` from a numeric value. The value must be in the range 0..4. This function panics if the passed value is >3.
x86_64/src/lib.rs:57
Function
general_protection_fault_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:91
Method
get_u16
(&self)
x86_64/src/instructions/random.rs:54
Method
get_u32
(&self)
x86_64/src/instructions/random.rs:39
Method
get_u64
(&self)
x86_64/src/instructions/random.rs:24
Method
identity_map
Maps the given frame to the virtual page with the same address. This function is unsafe because the caller must guarantee that the passed `frame` is
x86_64/src/structures/paging/mapper/mod.rs:121
Method
ignore
Don't flush the TLB and silence the “must be used” warning.
x86_64/src/structures/paging/mapper/mod.rs:159
Method
index
Returns the IDT entry with the specified index. Panics if index is outside the IDT (i.e. greater than 255) or if the entry is an exception that pushe
x86_64/src/structures/idt.rs:454
Method
index
(&self, index: usize)
x86_64/src/structures/paging/page_table.rs:207
Method
index_mut
Returns a mutable reference to the IDT entry with the specified index. Panics if index is outside the IDT (i.e. greater than 255) or if the entry is
x86_64/src/structures/idt.rs:484
Method
index_mut
(&mut self, index: usize)
x86_64/src/structures/paging/page_table.rs:213
Function
init
()
src/drivers/serial.rs:15
Function
init
()
src/drivers/vga/text_mode.rs:104
Method
init
(map: MemoryMap)
src/mm/pmm.rs:238
← previous
next →
101–200 of 325, ranked by callers