Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/KuangjuX/hypocaust-2
/ functions
Functions
150 in github.com/KuangjuX/hypocaust-2
⨍
Functions
150
◇
Types & classes
49
↓ 38 callers
Method
push
将内存区域 push 到页表中,并映射内存区域
src/mm/mod.rs:56
↓ 9 callers
Method
flags
(&self)
src/page_table/pte.rs:37
↓ 8 callers
Function
frame_alloc
allocate a frame
src/hyp_alloc/frame_allocator.rs:111
↓ 7 callers
Function
write
(hedeleg: usize)
src/constants.rs:317
↓ 6 callers
Method
bits
Returns the raw bits of this `DeviceId`.
src/drivers/iommu/device_directory.rs:25
↓ 6 callers
Method
get_mut
(&self)
src/page_table/address.rs:174
↓ 6 callers
Method
get_start
(&self)
src/page_table/address.rs:212
↓ 6 callers
Method
map
(&mut self, page_table: &mut P)
src/mm/memory_set.rs:585
↓ 6 callers
Method
next
(&mut self)
src/page_table/address.rs:250
↓ 6 callers
Method
reg
Returns the value of the given register.
src/constants.rs:450
↓ 5 callers
Method
floor
(&self)
src/page_table/address.rs:102
↓ 5 callers
Method
get_end
(&self)
src/page_table/address.rs:215
↓ 4 callers
Method
ppn
(&self)
src/page_table/pte.rs:34
↓ 4 callers
Method
step
(&mut self)
src/page_table/address.rs:184
↓ 3 callers
Method
ceil
(&self)
src/page_table/address.rs:105
↓ 3 callers
Method
is_valid
(&self)
src/page_table/pte.rs:40
↓ 3 callers
Method
map_trampoline
Mention that trampoline is not collected by areas.
src/mm/mod.rs:65
↓ 2 callers
Function
console_putchar
use sbi call to putchar in console (qemu uart handler)
src/sbi.rs:71
↓ 2 callers
Method
copy_data
data: start-aligned but maybe with shorter length assume that all frames were cleared before
src/mm/memory_set.rs:617
↓ 2 callers
Method
find_pte
(&self, vpn: VirtPageNum)
src/page_table/sv39.rs:16
↓ 2 callers
Method
get_bytes_array
(&self)
src/page_table/address.rs:170
↓ 2 callers
Method
get_pte_array
暂时的实现
src/page_table/address.rs:166
↓ 2 callers
Function
hstack_position
(guest_id: usize)
src/hypervisor.rs:10
↓ 2 callers
Method
indexes
(&self)
src/page_table/address.rs:153
↓ 2 callers
Method
init
(&mut self, l: PhysPageNum, r: PhysPageNum)
src/hyp_alloc/frame_allocator.rs:53
↓ 2 callers
Method
map
(&mut self, vpn: VirtPageNum, ppn: PhysPageNum, flags: PTEFlags)
src/page_table/sv39.rs:102
↓ 2 callers
Method
map_one
(&mut self, page_table: &mut P, vpn: VirtPageNum, ppn_: Option<PhysPageNum>)
src/mm/memory_set.rs:562
↓ 2 callers
Method
page_offset
(&self)
src/page_table/address.rs:108
↓ 2 callers
Method
readable
(&self)
src/page_table/pte.rs:43
↓ 2 callers
Function
riscv_illegal_insn_bits
(insn: u16)
src/detect.rs:61
↓ 2 callers
Function
sbi_call
general sbi call
src/sbi.rs:54
↓ 2 callers
Function
sbi_call_1
(eid: usize, fid: usize, arg0: usize)
src/guest/sbi.rs:20
↓ 2 callers
Function
set_kernel_trap_entry
()
src/guest/vmexit.rs:40
↓ 2 callers
Function
set_timer
(stime: usize)
src/sbi.rs:80
↓ 2 callers
Function
set_user_trap_entry
()
src/guest/vmexit.rs:52
↓ 2 callers
Method
token
(&self)
src/mm/mod.rs:38
↓ 1 callers
Method
activate
激活根页表
src/mm/memory_set.rs:181
↓ 1 callers
Function
add_guest_queue
(guest: Guest<PageTableSv39>)
src/hypervisor.rs:179
↓ 1 callers
Method
alloc
(&mut self)
src/hyp_alloc/frame_allocator.rs:66
↓ 1 callers
Function
clear_bss
clear BSS segment
src/main.rs:88
↓ 1 callers
Function
console_getchar
use sbi call to getchar from console (qemu uart handler)
src/sbi.rs:76
↓ 1 callers
Method
dealloc
(&mut self, ppn: PhysPageNum)
src/hyp_alloc/frame_allocator.rs:76
↓ 1 callers
Function
decode_inst
decode risc-v instruction, return (inst len, inst)
src/guest/mod.rs:137
↓ 1 callers
Function
detect_h_extension
Detect if hypervisor extension exists on current hart environment This function tries to read hgatp and returns false if the read operation failed.
src/detect.rs:13
↓ 1 callers
Function
enable_paging
()
src/mm/mod.rs:11
↓ 1 callers
Method
executable
(&self)
src/page_table/pte.rs:49
↓ 1 callers
Method
find_pte_create
(&mut self, vpn: VirtPageNum)
src/page_table/sv39.rs:34
↓ 1 callers
Function
forward_exception
forward exception by setting `vsepc` & `vscause`
src/guest/vmexit.rs:131
↓ 1 callers
Function
frame_dealloc
deallocate a frame
src/hyp_alloc/frame_allocator.rs:124
↓ 1 callers
Method
get_top
(&self)
src/hypervisor.rs:29
↓ 1 callers
Function
gpa2hpa
(va: usize, guest_id: usize)
src/guest/mod.rs:78
↓ 1 callers
Function
guest_page_fault_handler
( host_vmm: &mut HostVmm<P, G>, ctx: &mut TrapContext, )
src/guest/vmexit.rs:62
↓ 1 callers
Function
handle_internal_vmm_error
(err: VmmError)
src/guest/vmexit.rs:143
↓ 1 callers
Function
handle_irq
handle interrupt request(current only external interrupt)
src/guest/vmexit.rs:110
↓ 1 callers
Method
handle_plic_access
( &mut self, ctx: &mut TrapContext, guest_pa: usize, instrution: Instruction,
src/device_emu/plic.rs:33
↓ 1 callers
Function
hart_entry_1
()
src/guest/vmexit.rs:227
↓ 1 callers
Function
hart_entry_2
()
src/guest/vmexit.rs:244
↓ 1 callers
Function
heap_init
initiate heap allocator, frame allocator and kernel space
src/hyp_alloc/mod.rs:7
↓ 1 callers
Function
hstack_alloc
(guest_id: usize)
src/hypervisor.rs:16
↓ 1 callers
Function
init_detect_trap
(param: usize)
src/detect.rs:77
↓ 1 callers
Function
init_frame_allocator
initiate the frame allocator using `ekernel` and `MEMORY_END`
src/hyp_alloc/frame_allocator.rs:94
↓ 1 callers
Function
init_heap
initiate heap allocator
src/hyp_alloc/heap_allocator.rs:20
↓ 1 callers
Function
init_vmm
(hpm: HostMemorySet<PageTableSv39>, host_machine: MachineMeta)
src/hypervisor.rs:188
↓ 1 callers
Method
insert_framed_area
Assume that no conflicts.
src/mm/mod.rs:43
↓ 1 callers
Function
is_plic_access
(addr: usize)
src/device_emu/plic.rs:101
↓ 1 callers
Method
map_guest
(&mut self, start_pa: usize, gpm_size: usize)
src/mm/memory_set.rs:192
↓ 1 callers
Function
privileged_inst_handler
(_ctx: &mut TrapContext)
src/guest/vmexit.rs:58
↓ 1 callers
Function
remap_test
()
src/mm/memory_set.rs:657
↓ 1 callers
Function
restore_detect_trap
(sie: bool, stvec: Stvec, tp: usize)
src/detect.rs:97
↓ 1 callers
Function
sbi_base_handler
(fid: usize, ctx: &TrapContext)
src/guest/sbi.rs:53
↓ 1 callers
Function
sbi_console_getchar_handler
()
src/guest/sbi.rs:101
↓ 1 callers
Function
sbi_console_putchar_handler
(c: usize)
src/guest/sbi.rs:93
↓ 1 callers
Function
sbi_legacy_set_time
(stime: usize)
src/guest/sbi.rs:134
↓ 1 callers
Function
sbi_time_handler
(stime: usize, fid: usize)
src/guest/sbi.rs:109
↓ 1 callers
Function
sbi_vs_handler
(ctx: &mut TrapContext)
src/guest/sbi.rs:34
↓ 1 callers
Method
set_sp
set stack pointer to x_2 reg (sp)
src/guest/context.rs:33
↓ 1 callers
Function
shutdown
use sbi call to shutdown the kernel
src/sbi.rs:85
↓ 1 callers
Function
switch_to_guest
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/guest/vmexit.rs:298
↓ 1 callers
Method
translate
(&self, vpn: VirtPageNum)
src/page_table/sv39.rs:115
↓ 1 callers
Method
translate
将虚拟页号翻译成页表项
src/mm/mod.rs:78
↓ 1 callers
Method
translate_va
(&self, va: usize)
src/mm/mod.rs:82
↓ 1 callers
Function
trap_init
initialize CSR `stvec` as the entry of `__alltraps`
src/guest/vmexit.rs:23
↓ 1 callers
Function
two_stage_translation
(guest_id: usize, guest_va: usize, vsatp: usize, gpm: &GuestMemorySet<G>)
src/guest/mod.rs:86
↓ 1 callers
Method
unmap
(&mut self, page_table: &mut P)
src/mm/memory_set.rs:610
↓ 1 callers
Method
unmap_one
(&mut self, page_table: &mut P, vpn: VirtPageNum)
src/mm/memory_set.rs:579
↓ 1 callers
Function
with_detect_trap
(param: usize, f: impl FnOnce())
src/detect.rs:27
↓ 1 callers
Method
writable
(&self)
src/page_table/pte.rs:46
Function
_assert_register_layout
()
src/drivers/iommu/registers.rs:72
Method
a_regs
Returns the argument registers. This is avoids many calls when an SBI handler needs all of the argmuent regs.
src/constants.rs:465
Method
a_regs_mut
Returns the arguments register as a mutable.
src/constants.rs:470
Method
accessed
(&self)
src/page_table/pte.rs:65
Method
aligned
(&self)
src/page_table/address.rs:111
Function
decode_inst_at_addr
(host_va: usize)
src/guest/mod.rs:125
Method
dirty
(&self)
src/page_table/pte.rs:61
Function
disable_timer_interrupt
()
src/guest/vmexit.rs:34
Method
drop
(&mut self)
src/hyp_alloc/frame_allocator.rs:34
Method
empty
()
src/page_table/pte.rs:31
Function
enable_timer_interrupt
enable timer interrupt in sie CSR
src/guest/vmexit.rs:28
Method
exclusive_access
Exclusive access inner data in UPSafeCell. Panic if the data has been borrowed.
src/sync/up.rs:28
Function
fast_two_stage_translation
(guest_id: usize, guest_va: usize, vsatp: usize)
src/guest/mod.rs:107
next →
1–100 of 150, ranked by callers