Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/IBM/ACE-RISCV
/ functions
Functions
620 in github.com/IBM/ACE-RISCV
⨍
Functions
620
◇
Types & classes
158
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/mmio/add_mmio_region.rs:25
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/mmio/mmio_load_response.rs:19
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/shared_page/unshare_page_request.rs:28
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/shared_page/share_page_complete.rs:33
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/shared_page/share_page_request.rs:31
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/attestation/retrieve_secret.rs:28
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/hart_start.rs:34
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/sfence_vma.rs:29
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/no_operation.rs:17
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/hart_stop.rs:23
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/sfence_vma_asid.rs:32
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/ipi.rs:34
Method
handle
(self, confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/hart_status.rs:20
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/hart_resume.rs:31
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/hart_suspend.rs:27
Method
handle
(self, mut confidential_flow: ConfidentialFlow)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/fence_i.rs:23
Method
hart_id
(&self)
security-monitor/rust-crates/flattened_device_tree/src/lib.rs:104
Method
hgatp_mode
(&self)
security-monitor/src/core/architecture/riscv/mmu/paging_system.rs:28
Method
init
TODO: make sure that confidential and non-confidential mem are not bigger than isize?
security-monitor/src/core/memory_layout/mod.rs:102
Method
init
Creates the instance of a state associated with the physical hart. Id is the unique physical hart identifier used to by hardware during inter process
security-monitor/src/core/control_data/hardware_hart.rs:46
Method
init
(address: ConfidentialMemoryAddress, size: PageSize)
security-monitor/src/core/page_allocator/page.rs:92
Method
initialize
Constructs the global, unique interrupt controller instance.
security-monitor/src/core/interrupt_controller/mod.rs:24
Method
initialize
()
security-monitor/src/core/control_data/storage.rs:23
Method
initialize
()
security-monitor/src/core/hardware_setup/mod.rs:23
Method
initialize
(memory_start: ConfidentialMemoryAddress, memory_end: *const usize)
security-monitor/src/core/page_allocator/allocator.rs:88
Method
instruction_length
(&self)
security-monitor/src/confidential_flow/handlers/mmio/mmio_store_pending.rs:15
Method
is_aligned_to
(&self, align: usize)
security-monitor/src/core/memory_layout/confidential_vm_physical_address.rs:22
Method
is_extension_supported
(extension: HardwareExtension)
security-monitor/src/core/hardware_setup/mod.rs:46
Method
is_hart_selected
(&self, hart_id: usize)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/sfence_vma.rs:45
Method
is_hart_selected
(&self, hart_id: usize)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/sfence_vma_asid.rs:48
Method
is_hart_selected
(&self, hart_id: usize)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/ipi.rs:49
Method
is_hart_selected
(&self, hart_id: usize)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/hfence_gvma_vmid.rs:32
Method
is_hart_selected
(&self, hart_id: usize)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/fence_i.rs:38
Method
is_vm_executing
(&self)
security-monitor/src/core/control_data/confidential_vm.rs:155
Method
largest
()
security-monitor/src/core/architecture/riscv/mmu/page_size.rs:100
Function
main
()
tools/cove_tap_tool/src/main.rs:80
Function
main
()
security-monitor/rust-crates/opensbi-sys/build.rs:11
Method
map_empty_page
( &mut self, confidential_vm_physical_address: ConfidentialVmPhysicalAddress, page_size: PageSize,
security-monitor/src/core/memory_protector/confidential_vm_memory_protector.rs:38
Method
map_shared_page
Modifies the configuration of the underlying hardware memory isolation component (e.g., MMU) in a way that a shared page is mapped into the address sp
security-monitor/src/core/memory_protector/confidential_vm_memory_protector.rs:53
Method
map_shared_page
This function maps a page into the address space of the confidential VM. A previous mapping at the given guest physical address is overwritten. If the
security-monitor/src/core/architecture/riscv/mmu/page_table.rs:178
Method
measure
Extends the measurement digest with the context of all GPRs.
security-monitor/src/core/architecture/riscv/general_purpose_registers.rs:27
Method
measure
(&self, digest: &mut MeasurementDigest)
security-monitor/src/core/control_data/confidential_hart.rs:191
Method
measure
Extends the digest with the guest physical address and the content of the page.
security-monitor/src/core/page_allocator/page.rs:342
Method
merge
(mut from_pages: Vec<Page<UnAllocated>>, new_size: PageSize)
security-monitor/src/core/page_allocator/page.rs:204
Method
new
()
security-monitor/rust-crates/riscv_cove_tap/src/serializer.rs:14
Method
new
(lockbox_algorithm: LockboxAlgorithm, encapsulation_key: &Vec<u8>, tsk: &mut Vec<u8>)
security-monitor/rust-crates/riscv_cove_tap/src/spec.rs:30
Method
new
()
security-monitor/src/debug.rs:117
Method
new
(confidential_vm_physical_address: usize)
security-monitor/src/core/memory_layout/confidential_vm_physical_address.rs:10
Method
new
(address: *mut usize)
security-monitor/src/core/memory_layout/non_confidential_memory_address.rs:34
Method
new
TODO this should be unsafe
security-monitor/src/core/memory_layout/confidential_memory_address.rs:32
Method
new
()
security-monitor/src/core/architecture/riscv/control_status_registers.rs:322
Method
new
( hypervisor_address: NonConfidentialMemoryAddress, confidential_vm_address: ConfidentialVmPhysicalAdd
security-monitor/src/core/architecture/riscv/mmu/shared_page.rs:23
Method
new
(address: usize, mode: HgatpMode, vmid: usize)
security-monitor/src/core/architecture/riscv/mmu/hgatp.rs:31
Method
new
()
security-monitor/src/core/interrupt_controller/mod.rs:31
Method
new
Constructs a new confidential VM. # Safety The id of the confidential VM must be unique.
security-monitor/src/core/control_data/confidential_vm.rs:40
Method
new
(value: usize)
security-monitor/src/core/control_data/confidential_vm_id.rs:9
Method
new
(start_address: usize, size_in_bytes: usize)
security-monitor/src/core/control_data/confidential_vm_mmio_region.rs:17
Method
new
(kernel: (usize, usize), fdt: (usize, usize), initrd: Option<(usize, usize)>)
security-monitor/src/core/control_data/confidential_vm_memory_layout.rs:13
Method
new
(hypervisor_memory_protector: HypervisorMemoryProtector)
security-monitor/src/core/control_data/hypervisor_hart.rs:31
Method
new
(inner: A)
security-monitor/src/core/heap_allocator/allocator.rs:21
Method
new
(extension_id: usize, function_id: usize, a0: usize, a1: usize)
security-monitor/src/confidential_flow/handlers/sbi/request.rs:17
Method
new
(instruction_length: usize)
security-monitor/src/confidential_flow/handlers/mmio/mmio_store_pending.rs:11
Method
new
(cause: usize, mtval: usize, mtinst: usize, fault_address: usize)
security-monitor/src/confidential_flow/handlers/mmio/mmio_access_fault.rs:22
Method
new
(instruction_length: usize, gpr_storing_load_result: GeneralPurposeRegister)
security-monitor/src/confidential_flow/handlers/mmio/mmio_load_pending.rs:13
Method
new
(hart_mask: usize, hart_mask_base: usize)
security-monitor/src/confidential_flow/handlers/symmetrical_multiprocessing/ipi.rs:20
Method
new_with_value
(value: usize)
security-monitor/src/core/architecture/riscv/control_status_registers.rs:327
Function
panic
(info: &core::panic::PanicInfo)
security-monitor/src/core/panic.rs:12
Function
parse_key_val
Parse a single key-value pair
tools/cove_tap_tool/src/main.rs:51
Method
pcr_id
(&self)
security-monitor/rust-crates/riscv_cove_tap/src/spec.rs:134
Function
ptr_byte_add
( pointer: *const usize, offset_in_bytes: usize, owned_region_end: *const usize, )
security-monitor/rust-crates/pointers_utility/src/lib.rs:66
Method
put
(c: u8)
security-monitor/src/debug.rs:96
Method
read
(&self)
security-monitor/src/core/memory_layout/non_confidential_memory_address.rs:75
Method
read
(&self, register: GeneralPurposeRegister)
security-monitor/src/core/architecture/riscv/general_purpose_registers.rs:22
Function
read_memory
(address: usize)
security-monitor/src/debug.rs:46
Method
read_time
()
security-monitor/src/core/time_controller/mod.rs:10
Method
read_u32
(&mut self)
security-monitor/rust-crates/riscv_cove_tap/src/parser.rs:111
Method
release_pages
(released_pages: Vec<Page<UnAllocated>>)
security-monitor/src/core/page_allocator/allocator.rs:285
Method
relocate
Copies a buffer into a single large page. Why do we need this function? The input buffer is continuous across guest physical pages with G-stage addre
security-monitor/src/non_confidential_flow/handlers/cove_host_extension/promote_to_confidential_vm.rs:228
Method
remove_confidential_vm
(confidential_vm_id: ConfidentialVmId)
security-monitor/src/core/control_data/storage.rs:55
Method
restore_from_main_memory
(&self)
security-monitor/src/core/architecture/riscv/control_status_registers.rs:181
Method
restore_from_main_memory
Restores from main memory the float point unit state. # Safety Caller must ensure that the FPU hardware exists and is enabled.
security-monitor/src/core/architecture/riscv/extensions/floating_point_unit.rs:79
Method
restore_from_main_memory
Restores from main memory the sstc state. # Safety Caller must ensure that the sstc exists.
security-monitor/src/core/architecture/riscv/extensions/supervisor_timer_extension.rs:39
Method
restore_from_main_memory
Restores the state of the confidential hart from the main memory. This is part of the heavy context switch.
security-monitor/src/core/control_data/confidential_hart.rs:177
Method
route_trap_from_confidential_hart
(hardware_hart_pointer: *mut HardwareHart)
security-monitor/src/confidential_flow/finite_state_machine.rs:68
Method
route_trap_from_hypervisor_or_vm
(hart_ptr: *mut HardwareHart)
security-monitor/src/non_confidential_flow/finite_state_machine.rs:51
Method
save_in_main_memory
(&mut self)
security-monitor/src/core/architecture/riscv/control_status_registers.rs:127
Method
save_in_main_memory
Saves in main memory the float point unit state. # Safety Caller must ensure that the FPU hardware exists and is enabled.
security-monitor/src/core/architecture/riscv/extensions/floating_point_unit.rs:33
Method
save_in_main_memory
Saves in main memory the sstc state. # Safety Caller must ensure that the sstc exists
security-monitor/src/core/architecture/riscv/extensions/supervisor_timer_extension.rs:29
Method
save_in_main_memory
Saves the state of the confidential hart in the main memory. This is part of the heavy context switch.
security-monitor/src/core/control_data/confidential_hart.rs:154
Method
set_confidential_vm_id
(&mut self, id: ConfidentialVmId)
security-monitor/src/core/memory_protector/confidential_vm_memory_protector.rs:33
Method
set_resumable_operation
Stores a resumable operation inside the confidential hart's state. Before the next execution of this confidential hart, the security monitor will decl
security-monitor/src/core/control_data/confidential_hart.rs:269
Method
setup
Configures the memory protection mechanism on the hart which executes this function. # Safety Caller must ensure that: the `MemoryLayout` has been i
security-monitor/src/core/memory_protector/hypervisor_memory_protector.rs:25
Method
size_align
Adjust the given layout so that the resulting allocated memory region is also capable of storing a `ListNode`. Returns the adjusted size and alignmen
security-monitor/src/core/heap_allocator/allocator.rs:127
Method
smallest
()
security-monitor/src/core/architecture/riscv/mmu/page_size.rs:105
Method
sstc
(&self)
security-monitor/src/core/architecture/riscv/hart_architectural_state.rs:55
Method
sstc_mut
(&mut self)
security-monitor/src/core/architecture/riscv/hart_architectural_state.rs:59
Method
success
()
security-monitor/src/non_confidential_flow/handlers/supervisor_binary_interface/response.rs:16
Method
success
()
security-monitor/src/confidential_flow/handlers/sbi/response.rs:37
Method
success_with_code
(code: usize)
security-monitor/src/non_confidential_flow/handlers/supervisor_binary_interface/response.rs:20
Method
success_with_code
(code: usize)
security-monitor/src/confidential_flow/handlers/sbi/response.rs:41
← previous
next →
501–600 of 620, ranked by callers