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
↓ 37 callers
Method
is_unused
Returns whether this entry is zero.
x86_64/src/structures/paging/page_table.rs:36
↓ 35 callers
Method
p3_index
Returns the level 3 page table index of this page.
x86_64/src/structures/paging/page.rs:100
↓ 31 callers
Method
addr
Returns the physical address mapped by this entry, might be zero.
x86_64/src/structures/paging/page_table.rs:51
↓ 30 callers
Method
p4_index
Returns the level 4 page table index of this page.
x86_64/src/structures/paging/page.rs:95
↓ 30 callers
Method
start_address
Returns the start address of the page.
x86_64/src/structures/paging/page.rs:85
↓ 27 callers
Method
as_mut
Gives mutable access to the contents of the interrupt stack frame. This function is unsafe since modifying the content of the interrupt stack frame c
x86_64/src/structures/idt.rs:669
↓ 26 callers
Method
p2_index
Returns the level 2 page table index of this page.
x86_64/src/structures/paging/page.rs:117
↓ 19 callers
Method
as_usize
(self)
x86_64/src/addr.rs:72
↓ 17 callers
Method
contains
(&self, frame: PhysFrame<S>)
x86_64/src/structures/paging/frame.rs:120
↓ 15 callers
Method
p1_index
Returns the level 1 page table index of this page.
x86_64/src/structures/paging/page.rs:161
↓ 13 callers
Method
next_table_mut
Internal helper function to get a mutable reference to the page table of the next level. Returns `PageTableWalkError::NotMapped` if the entry is unus
x86_64/src/structures/paging/mapper/mapped_page_table.rs:432
↓ 12 callers
Method
as_mut_ptr
(self)
x86_64/src/addr.rs:89
↓ 12 callers
Method
flags
Returns the flags of this entry.
x86_64/src/structures/paging/page_table.rs:46
↓ 11 callers
Method
frame
Returns the physical frame mapped by this entry. Returns the following errors: - `FrameError::FrameNotPresent` if the entry doesn't have the `PRESEN
x86_64/src/structures/paging/page_table.rs:62
↓ 11 callers
Method
preempt_inc
(&self)
src/cpu/percpu.rs:33
↓ 10 callers
Function
p3_ptr
(page: Page<S>, recursive_index: u9)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:584
↓ 10 callers
Method
start_address
Returns the start address of the frame.
x86_64/src/structures/paging/frame.rs:37
↓ 9 callers
Method
next_table
Internal helper function to get a reference to the page table of the next level. Returns `PageTableWalkError::NotMapped` if the entry is unused. Retu
x86_64/src/structures/paging/mapper/mapped_page_table.rs:417
↓ 9 callers
Method
preempt_dec
(&self)
src/cpu/percpu.rs:37
↓ 8 callers
Method
as_ptr
(self)
x86_64/src/addr.rs:83
↓ 7 callers
Function
p2_ptr
(page: Page<S>, recursive_index: u9)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:597
↓ 7 callers
Method
set_unused
Sets this entry to zero.
x86_64/src/structures/paging/page_table.rs:41
↓ 6 callers
Function
align_up
Align address upwards. Returns the smallest x with alignment `align` so that x >= addr. The alignment must be a power of 2.
x86_64/src/addr.rs:327
↓ 6 callers
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/mapped_page_table.rs:451
↓ 6 callers
Method
iter_mut
Returns an iterator that allows modifying the entries of the page table.
x86_64/src/structures/paging/page_table.rs:199
↓ 6 callers
Method
lock
(&self)
src/ds/sync/spinlock.rs:24
↓ 6 callers
Function
read_raw
Returns the raw current value of the RFLAGS register.
x86_64/src/registers/rflags.rs:77
↓ 6 callers
Method
set_flags
Sets the flags of this entry.
x86_64/src/structures/paging/page_table.rs:85
↓ 5 callers
Method
len
(&self)
x86_64/src/structures/paging/frame.rs:116
↓ 5 callers
Function
read
Returns the current value of the RFLAGS register. Drops any unknown bits.
x86_64/src/registers/rflags.rs:72
↓ 5 callers
Method
set_addr
Map the entry to the specified physical address with the specified flags.
x86_64/src/structures/paging/page_table.rs:73
↓ 5 callers
Method
size
Returns the size the page (4KB, 2MB or 1GB).
x86_64/src/structures/paging/page.rs:90
↓ 5 callers
Method
write
(&self)
src/ds/sync/rwspinlock.rs:142
↓ 4 callers
Method
align_down
Aligns the virtual address downwards to the given alignment. See the `align_down` function for more information.
x86_64/src/addr.rs:106
↓ 4 callers
Function
init
()
src/drivers/acpi.rs:6
↓ 4 callers
Method
load
(&'static self)
x86_64/src/structures/idt.rs:434
↓ 4 callers
Function
p1_ptr
(page: Page<Size4KiB>, recursive_index: u9)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:610
↓ 4 callers
Function
p3_page
(page: Page<S>, recursive_index: u9)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:588
↓ 4 callers
Method
set_frame
Map the entry to the specified physical frame with the specified flags.
x86_64/src/structures/paging/page_table.rs:79
↓ 4 callers
Function
write
Writes the RFLAGS register, preserves reserved bits.
x86_64/src/registers/rflags.rs:84
↓ 3 callers
Function
align_down
Align address downwards. Returns the greatest x with alignment `align` so that x <= addr. The alignment must be a power of 2.
x86_64/src/addr.rs:318
↓ 3 callers
Method
allocate_frame
(&mut self)
src/mm/map.rs:110
↓ 3 callers
Method
iter
Returns an iterator over the entries of the page table.
x86_64/src/structures/paging/page_table.rs:194
↓ 3 callers
Method
larger_than
(self, order: u8)
src/mm/pmm.rs:165
↓ 3 callers
Function
p2_page
(page: Page<S>, recursive_index: u9)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:601
↓ 3 callers
Method
push
(&mut self, value: u64)
x86_64/src/structures/gdt.rs:131
↓ 3 callers
Method
read
(&self)
src/ds/sync/rwspinlock.rs:71
↓ 3 callers
Function
write_raw
Writes the RFLAGS register. Does not preserve any bits, including reserved bits.
x86_64/src/registers/rflags.rs:95
↓ 2 callers
Function
blocks_in_region
(pages: u64)
src/mm/pmm.rs:317
↓ 2 callers
Function
compare_exchange
( atomic: &AtomicUsize, current: usize, new: usize, success: Ordering, failure: Ordering,
src/ds/sync/rwspinlock.rs:371
↓ 2 callers
Function
convert_color
(color: u8)
src/drivers/vga/ransid.rs:54
↓ 2 callers
Function
dealloc_inner
(head: &mut Option<NonNull<Block>>, ptr: *mut u8, layout: Layout)
src/mm/slob.rs:115
↓ 2 callers
Function
disable
()
x86_64/src/instructions/interrupts.rs:24
↓ 2 callers
Method
draw_char
(&mut self, style: u8, ch: u8)
src/drivers/vga/text_mode.rs:41
↓ 2 callers
Function
exit_qemu
(exit_code: ExitCode)
src/testing.rs:12
↓ 2 callers
Function
halt_loop
()
src/main.rs:62
↓ 2 callers
Function
inner
(sel: SegmentSelector)
x86_64/src/instructions/segmentation.rs:13
↓ 2 callers
Method
is_aligned
Checks whether the virtual address has the demanded alignment.
x86_64/src/addr.rs:114
↓ 2 callers
Function
load
()
src/cpu/idt.rs:34
↓ 2 callers
Method
map_to_with_allocator
TODO: Make sure that allocations and deallocations are done with the same allocator?
src/mm/addr_space.rs:61
↓ 2 callers
Method
newline
(&mut self)
src/drivers/vga/text_mode.rs:64
↓ 2 callers
Function
p1_page
(page: Page<Size4KiB>, recursive_index: u9)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:614
↓ 2 callers
Method
page_offset
Returns the 12-bit page offset of this virtual address.
x86_64/src/addr.rs:122
↓ 2 callers
Function
parse_table
(ctx: &mut AmlContext, table: &AmlTable)
src/drivers/acpi.rs:30
↓ 2 callers
Function
phys_to_kernel_virt
(phys: PhysAddr)
src/mm/mod.rs:34
↓ 2 callers
Method
phys_to_virt
(&self, phys_frame: PhysFrame)
x86_64/src/structures/paging/mapper/mapped_page_table.rs:557
↓ 2 callers
Method
push
(&mut self, rg: Region)
src/mm/map.rs:103
↓ 2 callers
Method
ransid_process
(&mut self, x: u8)
src/drivers/vga/ransid.rs:74
↓ 2 callers
Method
try_upgrade_internal
(self, strong: bool)
src/ds/sync/rwspinlock.rs:232
↓ 2 callers
Method
try_write_internal
(&self, strong: bool)
src/ds/sync/rwspinlock.rs:120
↓ 2 callers
Method
update_tree
Iterate back up, setting parents to have the correct largest order value
src/mm/pmm.rs:80
↓ 2 callers
Method
write_str
(&mut self, s: &str)
src/drivers/vga/text_mode.rs:33
↓ 2 callers
Method
zero
Clears all entries.
x86_64/src/structures/paging/page_table.rs:187
↓ 1 callers
Method
alloc
(&mut self, order: u8)
src/mm/pmm.rs:90
↓ 1 callers
Function
alloc_inner
(head: &mut Option<NonNull<Block>>, layout: Layout)
src/mm/slob.rs:65
↓ 1 callers
Function
are_enabled
Enabling and disabling interrupts Returns whether interrupts are enabled.
x86_64/src/instructions/interrupts.rs:4
↓ 1 callers
Method
contains_range
(&self, range: Self)
x86_64/src/structures/paging/frame.rs:128
↓ 1 callers
Function
cs
Returns the current value of the code segment register.
x86_64/src/instructions/segmentation.rs:55
↓ 1 callers
Function
enable
()
x86_64/src/instructions/interrupts.rs:14
↓ 1 callers
Method
enabled
(&self, metadata: &Metadata)
src/macros.rs:78
↓ 1 callers
Function
flush
(addr: VirtAddr)
x86_64/src/instructions/tlb.rs:7
↓ 1 callers
Method
flush
(&self)
src/macros.rs:98
↓ 1 callers
Function
hlt
()
x86_64/src/instructions/mod.rs:14
↓ 1 callers
Method
index
Returns the GDT index.
x86_64/src/structures/gdt.rs:29
↓ 1 callers
Function
kernel_main
(info: &BootInfo)
src/kernel.rs:10
↓ 1 callers
Function
lgdt
(gdt: &DescriptorTablePointer)
x86_64/src/instructions/tables.rs:11
↓ 1 callers
Function
lidt
(idt: &DescriptorTablePointer)
x86_64/src/instructions/tables.rs:19
↓ 1 callers
Function
load_ds
(sel: SegmentSelector)
x86_64/src/instructions/segmentation.rs:32
↓ 1 callers
Function
load_es
(sel: SegmentSelector)
x86_64/src/instructions/segmentation.rs:38
↓ 1 callers
Function
load_fs
(sel: SegmentSelector)
x86_64/src/instructions/segmentation.rs:44
↓ 1 callers
Function
load_gs
(sel: SegmentSelector)
x86_64/src/instructions/segmentation.rs:50
↓ 1 callers
Function
load_ss
(sel: SegmentSelector)
x86_64/src/instructions/segmentation.rs:26
↓ 1 callers
Function
load_tss
(sel: SegmentSelector)
x86_64/src/instructions/tables.rs:25
↓ 1 callers
Method
map_to
( &self, virt: VirtAddr, phys: PhysAddr, flags: PageTableFlags, )
src/mm/addr_space.rs:43
↓ 1 callers
Method
map_to
( &mut self, page: Page<Size1GiB>, frame: PhysFrame<Size1GiB>, flags: PageTabl
x86_64/src/structures/paging/mapper/mapped_page_table.rs:123
↓ 1 callers
Method
map_to_1gib
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/mapped_page_table.rs:39
↓ 1 callers
Method
map_to_1gib
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:138
↓ 1 callers
Method
map_to_2mib
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/mapped_page_table.rs:64
↓ 1 callers
Method
map_to_2mib
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:164
↓ 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/mapped_page_table.rs:92
next →
1–100 of 325, ranked by callers