Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/coconut-svsm/svsm
/ functions
Functions
2,698 in github.com/coconut-svsm/svsm
⨍
Functions
2,698
◇
Types & classes
573
↓ 128 callers
Method
lock
Acquires the lock, providing access to the protected data. # Examples ``` use svsm::locking::SpinLock; let spin_lock = SpinLock::new(42); // Acqui
kernel/src/locking/spinlock.rs:158
↓ 116 callers
Method
contains
Check whether an address is within this region. ```rust # use svsm::address::VirtAddr; # use svsm::types::{PAGE_SIZE, PageSize}; # use svsm::utils::M
kernel/src/utils/memory_region.rs:227
↓ 107 callers
Method
bits
(&self)
kernel/src/address.rs:52
↓ 105 callers
Function
this_cpu
()
kernel/src/cpu/percpu.rs:1260
↓ 103 callers
Method
iter
(&self)
kernel/src/cpu/percpu.rs:152
↓ 102 callers
Method
len
(&self)
kernel/src/cpu/percpu.rs:136
↓ 82 callers
Method
push
(&mut self, pa: PhysAddr, shared_page: SharedBox<[u8; PAGE_SIZE]>)
kernel/src/virtio/hal.rs:27
↓ 54 callers
Method
as_ref
(&self)
kernel/src/mm/pagebox.rs:229
↓ 50 callers
Method
clone
(&self)
kernel/src/fs/api.rs:275
↓ 49 callers
Method
len
Returns the length of the virtual address range, calculated as the difference between `vaddr_end` and `vaddr_begin`. # Examples ```rust use elf::{El
elf/src/addr_range.rs:38
↓ 49 callers
Method
load
Makes this GDT the active GDT.
kernel/src/cpu/gdt.rs:130
↓ 48 callers
Method
get
(&self, idx: Cap)
kernel/src/platform/capabilities.rs:48
↓ 47 callers
Method
map
Creates a new `RawReadLockGuard` for a component of the backing data.
kernel/src/locking/rwlock.rs:33
↓ 46 callers
Method
decode
Decode the instruction with the given InsnMachineCtx. # Returns A [`DecodedInsnCtx`] if the instruction is supported, or an [`InsnError`] otherwise.
kernel/src/insn_decode/insn.rs:96
↓ 46 callers
Method
start
(&self)
kernel/src/mm/pagetable.rs:531
↓ 43 callers
Method
as_bytes
Returns a slice to the specified page within the allocated page tables. The index here represents the page index, not the PTE index.
boot/bootimg/src/page_tables.rs:152
↓ 42 callers
Method
as_mut_ptr
(&self)
kernel/src/cpu/smp.rs:43
↓ 39 callers
Function
create
Create a file with the given path from the file-system root. # Argument `path`: path of the file to be created. # Returns [`Result<FileHandle, Svs
kernel/src/fs/filesystem.rs:632
↓ 35 callers
Method
lock_read
This function allows multiple readers to access the data concurrently. # Returns A [`ReadLockGuard`] that provides read access to the protected data
kernel/src/locking/rwlock.rs:514
↓ 34 callers
Method
add
(&mut self, leaf: SnpCpuidLeaf)
tools/igvmbuilder/src/cpuid.rs:128
↓ 33 callers
Method
emulate
Emulates the decoded instruction using the provided machine context. # Arguments `mctx` - A mutable reference to an object implementing the `InsnMac
kernel/src/insn_decode/decode.rs:720
↓ 33 callers
Method
lock_write
This function ensures exclusive access for a single writer and waits for all readers to finish before granting access to the writer. # Returns A [`W
kernel/src/locking/rwlock.rs:438
↓ 32 callers
Method
set
(&mut self, start: usize, entries: usize, value: bool)
kernel/src/utils/bitmap_allocator.rs:60
↓ 30 callers
Method
as_ptr
Returns a pointer into the underlying data.
kernel/src/locking/rwlock.rs:388
↓ 30 callers
Function
virt_to_phys
(vaddr: VirtAddr)
kernel/src/mm/address_space.rs:84
↓ 29 callers
Method
end
(&self)
kernel/src/mm/pagetable.rs:536
↓ 28 callers
Method
insert
Inserts [`VMM`] into the virtual memory region. It searches from the beginning of the [`VMR`] region for a suitable slot. # Arguments `mapping` - `R
kernel/src/mm/vm/range.rs:419
↓ 27 callers
Function
current_ghcb
Gets the GHCB for this CPU. # Panics Panics if the GHCB for this CPU has not been set up via [`PerCpu::setup_ghcb()`].
kernel/src/cpu/percpu.rs:1352
↓ 27 callers
Method
write
(&self, offset: usize, buf: &[u8])
kernel/src/mm/alloc.rs:1569
↓ 26 callers
Method
checked_sub
(&self, off: InnerAddr)
kernel/src/address.rs:596
↓ 26 callers
Method
set_entry
(&mut self, idx: usize, entry: IdtEntry)
kernel/src/cpu/idt/common.rs:341
↓ 25 callers
Method
as_mut
(&mut self)
kernel/src/mm/pagebox.rs:236
↓ 24 callers
Method
get_pgtable
(&self)
kernel/src/cpu/percpu.rs:746
↓ 24 callers
Method
is_aligned
(&self, align: InnerAddr)
kernel/src/address.rs:118
↓ 24 callers
Method
len
Returns how many bytes the wire ABI representation takes.
kernel/src/protocols/attest.rs:222
↓ 23 callers
Method
cast
(&self)
kernel/src/mm/guestmem.rs:403
↓ 23 callers
Method
try_get_inner
Obtains the inner value of the cell, returning `Ok(T)` if the cell is initialized or `Err(ImmutAfterInitError)` if not.
kernel/src/utils/immut_after_init.rs:121
↓ 22 callers
Method
checked_add
(&self, off: InnerAddr)
kernel/src/address.rs:588
↓ 21 callers
Method
clear
(&self)
kernel/src/sev/ghcb.rs:427
↓ 21 callers
Method
const_add
(&self, offset: usize)
kernel/src/address.rs:422
↓ 21 callers
Method
get
(&self)
tools/igvmbuilder/src/platform.rs:20
↓ 20 callers
Method
get_mut
(&mut self)
kernel/src/mm/pagetable.rs:1585
↓ 20 callers
Method
init
(&mut self, handler_array: *const u8, size: usize)
kernel/src/cpu/idt/common.rs:330
↓ 20 callers
Method
vmgexit
( &self, exit_code: GHCBExitCode, exit_info_1: u64, exit_info_2: u64, )
kernel/src/sev/ghcb.rs:454
↓ 19 callers
Method
is_null
(&self)
kernel/src/address.rs:61
↓ 18 callers
Method
contains
(&self, test_mask: u32)
tools/igvmbuilder/src/platform.rs:28
↓ 18 callers
Function
cpu_has_feat
Check if the given feature is enabled by comparing it to its expected value.
kernel/src/cpu/features.rs:147
↓ 18 callers
Method
to_vec
Writes the GuidTable contents at the end of `data` or returns an error.
kernel/src/protocols/attest.rs:230
↓ 18 callers
Method
try_lock_read
Attempts to acquire the lock for reading without blocking. If the access could not be granted at this time, `None` is returned.
kernel/src/locking/rwlock.rs:542
↓ 17 callers
Method
address
Get the address from the page table entry, excluding the C/shared bit.
kernel/src/mm/pagetable.rs:388
↓ 17 callers
Method
flags
Get the flags of the page table entry.
kernel/src/mm/pagetable.rs:357
↓ 17 callers
Function
read_msr
(msr: u32)
kernel/src/cpu/msr.rs:12
↓ 17 callers
Method
remove
Removes a CPU from the set. `cpu_index`: the index of the CPU to remove from the set.
kernel/src/cpu/cpuset.rs:33
↓ 17 callers
Function
verify_ghcb_gets_altered
Calls `f` with an assertion that it ended up altering the ghcb.
kernel/src/cpu/vc.rs:278
↓ 17 callers
Method
virt_addr
Returns the virtual address of the memory page.
kernel/src/mm/alloc.rs:1543
↓ 16 callers
Method
contains
Checks whether a given address falls within the span of this symbol.
boot/defs/src/symbols.rs:30
↓ 16 callers
Function
current_task
()
kernel/src/cpu/percpu.rs:1489
↓ 16 callers
Method
get_start
(&self)
tools/igvmbuilder/src/gpa_map.rs:50
↓ 16 callers
Function
is_test_platform_type
(platform_type: SvsmPlatformType)
kernel/src/testutils.rs:18
↓ 16 callers
Function
make_private_address
Set address as private via mask.
kernel/src/mm/pagetable.rs:119
↓ 16 callers
Method
size
(&self)
kernel/src/mm/pagetable.rs:523
↓ 16 callers
Function
unlink
Unlink a file from its parent directory. # Arguments `path`: path of the file to unlink relative to the file-system root. # Returns [`Result<(), S
kernel/src/fs/filesystem.rs:735
↓ 16 callers
Method
walk_addr
Walk the virtual address and return the corresponding mapping. # Parameters - `vaddr`: The virtual address to find a mapping for. # Returns A `Mappi
kernel/src/mm/pagetable.rs:688
↓ 16 callers
Function
write_msr
# Safety The caller should ensure that the new value in the target MSR doesn't break memory safety.
kernel/src/cpu/msr.rs:32
↓ 15 callers
Method
read
(&self, offset: usize, buf: &mut [u8])
kernel/src/mm/alloc.rs:1581
↓ 15 callers
Method
set
Set the page table entry with the specified address, with flags constrained to the supported feature flags.
kernel/src/mm/pagetable.rs:370
↓ 14 callers
Method
page_align
(&self)
kernel/src/address.rs:107
↓ 14 callers
Method
read_page_info
(&self, pfn: usize)
kernel/src/mm/alloc.rs:698
↓ 13 callers
Method
as_slice
# Safety The caller must ensure that the mapping that was created can be interpreted as a slice of type `T`.
boot/bldr/src/temp_maps.rs:98
↓ 13 callers
Method
assume_init
Transforms a [`PageBox<MaybeUninit<T>>`] into a [`PageBox<T>`]. # Safety See the safety requirements for [`MaybeUninit::assume_init()`].
kernel/src/mm/pagebox.rs:133
↓ 13 callers
Method
encode
(&self)
kernel/src/mm/alloc.rs:293
↓ 13 callers
Method
get
Gets the raw value of this feature, lazily querying CPUID if the value is not cached from a previous query
kernel/src/cpu/features.rs:109
↓ 13 callers
Method
map
Request physical address to map for a given offset # Arguments `offset` - Byte offset into the memory mapping # Returns Physical address to map fo
kernel/src/mm/vm/mapping/rawalloc.rs:113
↓ 13 callers
Method
page_offset
(&self)
kernel/src/address.rs:164
↓ 13 callers
Function
read
(fd: &FsObjHandle, buffer: &mut [u8])
syscall/src/class1.rs:65
↓ 13 callers
Method
write_bytes
(&mut self, buffer: &[u8])
kernel/src/console.rs:30
↓ 12 callers
Method
addr
Request the virtual start address of the global mapping. # Returns Virtual start address of the global mapping.
kernel/src/mm/global_memory.rs:103
↓ 12 callers
Function
align_up
(addr: T, align: T)
kernel/src/utils/util.rs:22
↓ 12 callers
Function
has_qemu_testdev
()
kernel/src/testutils.rs:11
↓ 12 callers
Function
has_test_iorequests
()
kernel/src/testutils.rs:14
↓ 12 callers
Method
iter_pages
Iterate over the addresses covering the memory region in jumps of the specified page size. Note that if the base address of the region is not page ali
kernel/src/utils/memory_region.rs:209
↓ 12 callers
Method
peek
Retrieves a single unprocessed instruction byte. # Returns An instruction byte if success or an [`InsnError`] otherwise.
kernel/src/insn_decode/decode.rs:86
↓ 12 callers
Function
raw_irqs_disable
()
kernel/src/cpu/irq_state.rs:20
↓ 12 callers
Method
runqueue_mut
(&self)
kernel/src/cpu/percpu.rs:377
↓ 12 callers
Method
size
Retrieves the length of the decoded instruction in bytes. # Returns The length of the decoded instruction as a `usize`. If the repeat count is great
kernel/src/insn_decode/decode.rs:705
↓ 12 callers
Method
try_lock_write
Attempts to acquire the lock for writing without blocking. If the access could not be granted at this time, `None` is returned.
kernel/src/locking/rwlock.rs:473
↓ 12 callers
Method
write_str
(&mut self, s: &str)
kernel/src/console.rs:23
↓ 11 callers
Method
advance
Increases the count by one after a peeked byte being processed.
kernel/src/insn_decode/decode.rs:94
↓ 11 callers
Method
as_ptr
(&self)
kernel/src/address.rs:361
↓ 11 callers
Method
clear_vmpck
(&mut self, idx: usize)
kernel/src/sev/secrets_page.rs:134
↓ 11 callers
Method
end
(&self)
kernel/src/utils/memory_region.rs:112
↓ 11 callers
Method
is_empty
Checks if the virtual address range is empty, i.e. if its length is zero. # Examples ```rust use elf::{Elf64Addr, Elf64AddrRange}; let range1 = Elf
elf/src/addr_range.rs:57
↓ 11 callers
Method
overlap
Checks whether two regions overlap. This does *not* include contiguous regions, use [`MemoryRegion::contiguous()`] for that purpose. ```rust # use sv
kernel/src/utils/memory_region.rs:146
↓ 11 callers
Method
shared
(&self)
kernel/src/cpu/percpu.rs:492
↓ 11 callers
Method
write_page_info
(&mut self, pfn: usize, pi: PageInfo)
kernel/src/mm/alloc.rs:673
↓ 10 callers
Method
capacity
(&self)
kernel/src/utils/bitmap_allocator.rs:92
↓ 10 callers
Method
get
(&self)
kernel/src/mm/pagetable.rs:1589
↓ 10 callers
Method
insert_at
Inserts [`VMM`] at a specified virtual base address. This method checks that the [`VMM`] does not overlap with any other region. # Arguments `vaddr`
kernel/src/mm/vm/range.rs:294
↓ 10 callers
Function
irqs_enabled
()
kernel/src/cpu/irq_state.rs:53
↓ 10 callers
Method
is_empty
(&self)
kernel/src/cpu/percpu.rs:144
next →
1–100 of 2,698, ranked by callers