MCPcopy Create free account

hub / github.com/64/solstice / functions

Functions325 in github.com/64/solstice

Methodinner
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
Functionint3
()
x86_64/src/instructions/interrupts.rs:76
Methodinto_inner
(self)
src/ds/sync/rwspinlock.rs:61
Methodinto_iter
(self)
src/mm/map.rs:148
Functioninvalid_opcode_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:67
Functioninvalid_tss_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:79
Methodis_empty
Returns wether this range contains no pages.
x86_64/src/structures/paging/page.rs:221
Methodis_empty
Returns whether the range contains no frames.
x86_64/src/structures/paging/frame.rs:112
Methodis_null
Convenience method for checking if a physical address is null.
x86_64/src/addr.rs:218
Methodkernel
()
src/mm/addr_space.rs:39
Methodkernel_code_segment
Creates a segment descriptor for a long mode kernel code segment.
x86_64/src/structures/gdt.rs:182
Functionkernel_virt_to_phys
(virt: VirtAddr)
src/mm/mod.rs:29
Functionload
()
src/cpu/gdt.rs:44
Methodload
(&'static self)
x86_64/src/structures/gdt.rs:119
Methodlog
(&self, record: &Record)
src/macros.rs:82
Functionmachine_check_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:107
Methodmap_physical_region
( &mut self, physical_address: usize, size: usize, )
src/drivers/acpi.rs:39
Methodmap_to
( &mut self, page: Page<Size1GiB>, frame: PhysFrame<Size1GiB>, flags: PageTabl
x86_64/src/structures/paging/mapper/offset_page_table.rs:46
Methodmap_to
( &mut self, page: Page<Size1GiB>, frame: PhysFrame<Size1GiB>, flags: PageTabl
x86_64/src/structures/paging/mapper/recursive_page_table.rs:224
Methodminimal
Creates a minimal options field with all the must-be-one bits set.
x86_64/src/structures/idt.rs:599
Methodmissing
Creates a non-present IDT entry (but sets the must-be-one bits).
x86_64/src/structures/idt.rs:536
Methodnew
(data: T)
src/ds/sync/spinlock.rs:17
Methodnew
(user_data: T)
src/ds/sync/rwspinlock.rs:53
Methodnew
()
src/drivers/vga/ransid.rs:60
Methodnew
()
src/mm/slob.rs:25
Methodnew
(addr: PhysAddr, size: usize, blocks: &'static mut [Block])
src/mm/pmm.rs:28
Methodnew
(memory_map: &[MemoryRegion])
src/mm/map.rs:48
Methodnew
(addr: usize)
x86_64/src/addr.rs:32
Methodnew
Creates a new IDT filled with non-present entries.
x86_64/src/structures/idt.rs:373
Methodnew
Creates a new TSS with zeroed privilege and interrupt stack table and a zero `iomap_base`.
x86_64/src/structures/tss.rs:27
Methodnew
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
Methodnew
Creates an unused page table entry.
x86_64/src/structures/paging/page_table.rs:31
Methodnew
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
Methodnew
Create a new flush promise
x86_64/src/structures/paging/mapper/mod.rs:148
Methodnew
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
Methodnew
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
Methodnew
Creates Some(RdRand) if RDRAND is supported, None otherwise
x86_64/src/instructions/random.rs:10
Methodnew
Creates a read only I/O port with the given port number.
x86_64/src/instructions/port.rs:82
Methodnew
Create an instance from a register.
x86_64/src/registers/model_specific.rs:11
Methodnew_blocks_for_region
(region: Region, usable_pages: u64)
src/mm/pmm.rs:194
Methodnew_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
Methodnew_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
Methodnext
(&mut self)
src/mm/map.rs:162
Methodnext
(&mut self)
x86_64/src/structures/paging/page.rs:229
Methodnext
(&mut self)
x86_64/src/structures/paging/frame.rs:136
Functionnon_maskable_interrupt_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:51
Methodoffset_addr
(block: NonNull<Block>, size: usize)
src/mm/slob.rs:175
Functionoverflow_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:59
Methodp1_index
Returns the 9-bit level 1 page table index.
x86_64/src/addr.rs:127
Methodp2_index
Returns the 9-bit level 2 page table index.
x86_64/src/addr.rs:132
Methodp3_index
Returns the 9-bit level 3 page table index.
x86_64/src/addr.rs:137
Methodp4_index
Returns the 9-bit level 4 page table index.
x86_64/src/addr.rs:142
Functionpage_fault_handler
(frame: &mut idt::InterruptStackFrame, error_code: idt::PageFaultErrorCode)
src/cpu/idt.rs:95
Functionpanic
(info: &PanicInfo)
src/main.rs:52
Functionpanic
(info: &PanicInfo)
src/testing.rs:24
Methodparent_state
(left: Self, right: Self)
src/mm/pmm.rs:174
Methodphys_to_virt
(&self, frame: PhysFrame)
x86_64/src/structures/paging/mapper/offset_page_table.rs:36
Methodpreempt_count
(&self, ordering: Ordering)
src/cpu/percpu.rs:55
Methodrange
Returns a range of pages, exclusive `end`.
x86_64/src/structures/paging/page.rs:105
Methodrange
Returns a range of frames, exclusive `end`.
x86_64/src/structures/paging/frame.rs:47
Methodrange_inclusive
Returns a range of pages, inclusive `end`.
x86_64/src/structures/paging/page.rs:110
Methodrange_inclusive
Returns a range of frames, inclusive `end`.
x86_64/src/structures/paging/frame.rs:52
Methodread
(&mut self)
x86_64/src/instructions/port.rs:94
Methodread
Read the current set of CR0 flags.
x86_64/src/registers/control.rs:72
Methodread_from_port
(port: u16)
x86_64/src/instructions/port.rs:9
Methodread_raw
Read the current raw EFER flags.
x86_64/src/registers/model_specific.rs:74
Methodread_raw
Read the current raw CR0 value.
x86_64/src/registers/control.rs:77
Functionread_rip
()
x86_64/src/registers/mod.rs:10
Methodreset
Resets all entries of this IDT in place.
x86_64/src/structures/idt.rs:404
Functionsecurity_exception_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64, )
src/cpu/idt.rs:119
Functionsegment_not_present_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:83
Methodset_handler_addr
(&mut self, addr: u64)
x86_64/src/structures/idt.rs:556
Methodset_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
Methodset_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
Functionsimd_floating_point_handler
(frame: &mut idt::InterruptStackFrame)
src/cpu/idt.rs:111
Methodsize
Returns the size the frame (4KB, 2MB or 1GB).
x86_64/src/structures/paging/frame.rs:42
Functionsize_test
()
x86_64/src/structures/idt.rs:760
Methodsplit_at
( mut block: NonNull<Self>, mut alloc_len: usize, )
src/mm/slob.rs:181
Methodsplit_region
( num_pages: u64, mut blocks: &'static mut [Block], )
src/mm/pmm.rs:58
Functionstack_segment_fault_handler
(frame: &mut idt::InterruptStackFrame, error_code: u64)
src/cpu/idt.rs:87
Methodsub
(self, rhs: usize)
x86_64/src/addr.rs:168
Methodsub
(self, rhs: usize)
x86_64/src/structures/paging/page.rs:191
Methodsub
(self, rhs: usize)
x86_64/src/structures/paging/frame.rs:82
Methodsub_assign
(&mut self, rhs: usize)
x86_64/src/addr.rs:174
Methodsub_assign
(&mut self, rhs: usize)
x86_64/src/structures/paging/page.rs:197
Methodsub_assign
(&mut self, rhs: usize)
x86_64/src/structures/paging/frame.rs:88
Functiontest_align_up
()
x86_64/src/addr.rs:342
Functiontest_page_ranges
()
x86_64/src/structures/paging/page.rs:304
Functiontest_rdrand
()
x86_64/src/instructions/random.rs:73
Functiontest_runner
(tests: &[&dyn Fn()])
src/testing.rs:31
Methodtranslate
(&self, addr: VirtAddr)
x86_64/src/structures/paging/mapper/offset_page_table.rs:148
Methodtranslate
(&self, addr: VirtAddr)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:532
Methodtranslate_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
Methodtranslate_page
(&self, page: Page<Size1GiB>)
x86_64/src/structures/paging/mapper/mapped_page_table.rs:180
Methodtranslate_page
(&self, page: Page<Size1GiB>)
x86_64/src/structures/paging/mapper/offset_page_table.rs:74
Methodtranslate_page
(&self, page: Page<Size1GiB>)
x86_64/src/structures/paging/mapper/recursive_page_table.rs:289
Methodtry_merge
(mut left: NonNull<Self>, mut right: NonNull<Self>)
src/mm/slob.rs:198
Methodtry_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
Methodtry_upgrade
(self)
src/ds/sync/rwspinlock.rs:272
Methodtry_upgradeable_read
(&self)
src/ds/sync/rwspinlock.rs:194
← previousnext →201–300 of 325, ranked by callers