Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/KuangjuX/hypocaust
/ functions
Functions
178 in github.com/KuangjuX/hypocaust
⨍
Functions
178
◇
Types & classes
45
↓ 1 callers
Function
set_user_trap_entry
()
src/hypervisor/trap/mod.rs:58
↓ 1 callers
Method
synchronize_page_table
(&mut self, va: usize, pte: PageTableEntry)
src/guest/pmap.rs:432
↓ 1 callers
Method
translate
(&self, vpn: VirtPageNum)
src/page_table/sv39.rs:124
↓ 1 callers
Method
translate_guest
(&self, vpn: VirtPageNum, hart_id: usize)
src/page_table/sv39.rs:129
↓ 1 callers
Function
trap_return
set the new addr of __restore asm function in TRAMPOLINE page, set the reg a0 = trap_cx_ptr, reg a1 = phy addr of usr page table, finally, jump to new
src/hypervisor/trap/mod.rs:125
↓ 1 callers
Method
unmap
(&mut self, page_table: &mut P)
src/mm/memory_set.rs:413
↓ 1 callers
Method
unmap_one
(&mut self, page_table: &mut P, vpn: VirtPageNum)
src/mm/memory_set.rs:382
↓ 1 callers
Function
vm_init
(guest_kernel_memory: &MemorySet<PageTableSv39>)
src/mm/mod.rs:11
Method
accessed
(&self)
src/page_table/pte.rs:65
Method
aligned
(&self)
src/page_table/address.rs:111
Method
app_init_context
init app context
src/hypervisor/trap/context.rs:29
Method
base
(&self)
src/device_emu/mod.rs:45
Method
base
(&self)
src/mm/memory_region.rs:21
Method
claim_and_clear
(&mut self)
src/device_emu/plic.rs:12
Function
collect_page_table_vpns
收集所有页表的虚拟页号
src/guest/pmap.rs:134
Method
create_guest
()
src/hypervisor/mod.rs:34
Method
create_user_guest_kernel
创建用户态的 Guest Kernel 内存空间
src/mm/memory_set.rs:180
Method
dirty
(&self)
src/page_table/pte.rs:61
Function
disable_timer_interrupt
()
src/hypervisor/trap/mod.rs:69
Method
drop
(&mut self)
src/hypervisor/hyp_alloc/frame_allocator.rs:35
Method
empty
()
src/page_table/pte.rs:31
Method
fmt
(&self, f: &mut Formatter<'_>)
src/page_table/address.rs:32
Method
fmt
(&self, f: &mut Formatter<'_>)
src/hypervisor/hyp_alloc/frame_allocator.rs:29
Function
frame_allocator_test
a simple test for frame allocator
src/hypervisor/hyp_alloc/frame_allocator.rs:122
Method
from
(v: usize)
src/page_table/address.rs:57
Method
from_ppn
(ppn: PhysPageNum)
src/page_table/sv39.rs:39
Method
from_token
Temporarily used to get arguments from user space.
src/page_table/sv39.rs:32
Function
get_time_ms
get current time in microseconds
src/timer.rs:19
Method
goto_trap_return
set Task Context{__restore ASM funciton: trap_return, sp: kstack_ptr, s: s_0..12}
src/guest/context.rs:126
Function
handle_alloc_error
panic when heap allocation error occurs
src/hypervisor/hyp_alloc/heap_allocator.rs:12
Function
heap_test
()
src/hypervisor/hyp_alloc/heap_allocator.rs:29
Function
hentry
(hart_id: usize, device_tree_blob: usize)
src/main.rs:92
Function
hpa2gpa
(pa: usize, hart_id: usize)
src/guest/pmap.rs:89
Method
in_region
(&self, addr: usize)
src/mm/memory_region.rs:25
Method
index
(&self, index: usize)
src/mm/memory_region.rs:32
Method
index_mut
(&mut self, index: usize)
src/mm/memory_region.rs:43
Function
initialize_shadow_page_table
用于初始化影子页表同步所有页表项(仅在最开始时使用)
src/guest/pmap.rs:214
Method
into_iter
(self)
src/page_table/address.rs:225
Function
is_device_access
(guest_pa: usize)
src/hypervisor/trap/device.rs:54
Method
is_global
(&self)
src/page_table/pte.rs:57
Method
is_user
(&self)
src/page_table/pte.rs:53
Method
new
(memory_set: MemorySet<P>, guest_id: usize)
src/guest/mod.rs:39
Method
new
()
src/guest/pmap.rs:43
Method
new
()
src/guest/context.rs:31
Method
new
(guest_id: usize)
src/device_emu/mod.rs:16
Method
new
(host_base_address: usize)
src/device_emu/virtio.rs:38
Method
new
(guest_id: usize)
src/device_emu/uart.rs:19
Method
new
(ppn: PhysPageNum, flags: PTEFlags)
src/page_table/pte.rs:26
Method
new
()
src/page_table/sv39.rs:24
Method
new
(start: T, end: T)
src/page_table/address.rs:208
Method
new
(ppn: PhysPageNum)
src/hypervisor/hyp_alloc/frame_allocator.rs:18
Method
new
( start_va: VirtAddr, end_va: VirtAddr, start_pa: Option<PhysAddr>, end_pa: Op
src/mm/memory_set.rs:334
Method
new
(addr: usize, length: usize)
src/mm/memory_region.rs:12
Method
new
User is responsible to guarantee that inner struct is only used in uniprocessor.
src/sync/up.rs:22
Method
new_bare
()
src/mm/memory_set.rs:42
Method
new_guest_kernel
(guest_kernel_data: &[u8])
src/mm/memory_set.rs:222
Method
new_kernel
Without kernel stacks. 内核虚拟地址映射 映射了内核代码段和数据段以及跳板页,没有映射内核栈
src/mm/memory_set.rs:88
Method
page_table
(&self)
src/mm/memory_set.rs:52
Method
paged
是否开启分页
src/guest/context.rs:95
Function
panic
panic handler
src/lang_items.rs:8
Method
parse
(dtb: usize)
src/hypervisor/fdt.rs:21
Function
print
(args: fmt::Arguments)
src/console.rs:17
Method
print_guest_page_table
(&self)
src/debug/pagedebug.rs:18
Method
print_page_table
(&self)
src/debug/pagedebug.rs:12
Method
print_trap_context
(&self)
src/debug/pagedebug.rs:24
Function
set_next_trigger
(stimer: usize)
src/timer.rs:23
Function
start
hypocaust entrypoint
src/main.rs:63
Function
synchronize_page_table
(hart_id: usize, satp: usize)
src/guest/pmap.rs:172
Method
token
(&self)
src/page_table/sv39.rs:133
Function
translate_guest_address
将 guest vaddr 翻译为 host paddr,并返回 `AddressTranslation`
src/page_table/mod.rs:89
Method
translate_valid_guest_vaddr
(&self, vaddr: usize)
src/guest/pmap.rs:322
Function
translated_byte_buffer
translate a pointer to a mutable u8 Vec through page table
src/page_table/sv39.rs:170
Function
trap_from_kernel
(_trap_cx: &TrapContext)
src/hypervisor/trap/mod.rs:150
Function
trap_handler
handle an interrupt, exception, or system call from user space
src/hypervisor/trap/mod.rs:76
Method
unmap
(&mut self, vpn: VirtPageNum)
src/page_table/sv39.rs:118
Method
walk_page_table
(root: usize, va: usize, read_pte: R)
src/page_table/sv39.rs:137
Method
write_str
(&mut self, s: &str)
src/console.rs:9
Method
zero_init
init task context
src/guest/context.rs:118
← previous
101–178 of 178, ranked by callers