MCPcopy Create free account

hub / github.com/KuangjuX/hypocaust-2 / functions

Functions150 in github.com/KuangjuX/hypocaust-2

↓ 38 callersMethodpush
将内存区域 push 到页表中,并映射内存区域
src/mm/mod.rs:56
↓ 9 callersMethodflags
(&self)
src/page_table/pte.rs:37
↓ 8 callersFunctionframe_alloc
allocate a frame
src/hyp_alloc/frame_allocator.rs:111
↓ 7 callersFunctionwrite
(hedeleg: usize)
src/constants.rs:317
↓ 6 callersMethodbits
Returns the raw bits of this `DeviceId`.
src/drivers/iommu/device_directory.rs:25
↓ 6 callersMethodget_mut
(&self)
src/page_table/address.rs:174
↓ 6 callersMethodget_start
(&self)
src/page_table/address.rs:212
↓ 6 callersMethodmap
(&mut self, page_table: &mut P)
src/mm/memory_set.rs:585
↓ 6 callersMethodnext
(&mut self)
src/page_table/address.rs:250
↓ 6 callersMethodreg
Returns the value of the given register.
src/constants.rs:450
↓ 5 callersMethodfloor
(&self)
src/page_table/address.rs:102
↓ 5 callersMethodget_end
(&self)
src/page_table/address.rs:215
↓ 4 callersMethodppn
(&self)
src/page_table/pte.rs:34
↓ 4 callersMethodstep
(&mut self)
src/page_table/address.rs:184
↓ 3 callersMethodceil
(&self)
src/page_table/address.rs:105
↓ 3 callersMethodis_valid
(&self)
src/page_table/pte.rs:40
↓ 3 callersMethodmap_trampoline
Mention that trampoline is not collected by areas.
src/mm/mod.rs:65
↓ 2 callersFunctionconsole_putchar
use sbi call to putchar in console (qemu uart handler)
src/sbi.rs:71
↓ 2 callersMethodcopy_data
data: start-aligned but maybe with shorter length assume that all frames were cleared before
src/mm/memory_set.rs:617
↓ 2 callersMethodfind_pte
(&self, vpn: VirtPageNum)
src/page_table/sv39.rs:16
↓ 2 callersMethodget_bytes_array
(&self)
src/page_table/address.rs:170
↓ 2 callersMethodget_pte_array
暂时的实现
src/page_table/address.rs:166
↓ 2 callersFunctionhstack_position
(guest_id: usize)
src/hypervisor.rs:10
↓ 2 callersMethodindexes
(&self)
src/page_table/address.rs:153
↓ 2 callersMethodinit
(&mut self, l: PhysPageNum, r: PhysPageNum)
src/hyp_alloc/frame_allocator.rs:53
↓ 2 callersMethodmap
(&mut self, vpn: VirtPageNum, ppn: PhysPageNum, flags: PTEFlags)
src/page_table/sv39.rs:102
↓ 2 callersMethodmap_one
(&mut self, page_table: &mut P, vpn: VirtPageNum, ppn_: Option<PhysPageNum>)
src/mm/memory_set.rs:562
↓ 2 callersMethodpage_offset
(&self)
src/page_table/address.rs:108
↓ 2 callersMethodreadable
(&self)
src/page_table/pte.rs:43
↓ 2 callersFunctionriscv_illegal_insn_bits
(insn: u16)
src/detect.rs:61
↓ 2 callersFunctionsbi_call
general sbi call
src/sbi.rs:54
↓ 2 callersFunctionsbi_call_1
(eid: usize, fid: usize, arg0: usize)
src/guest/sbi.rs:20
↓ 2 callersFunctionset_kernel_trap_entry
()
src/guest/vmexit.rs:40
↓ 2 callersFunctionset_timer
(stime: usize)
src/sbi.rs:80
↓ 2 callersFunctionset_user_trap_entry
()
src/guest/vmexit.rs:52
↓ 2 callersMethodtoken
(&self)
src/mm/mod.rs:38
↓ 1 callersMethodactivate
激活根页表
src/mm/memory_set.rs:181
↓ 1 callersFunctionadd_guest_queue
(guest: Guest<PageTableSv39>)
src/hypervisor.rs:179
↓ 1 callersMethodalloc
(&mut self)
src/hyp_alloc/frame_allocator.rs:66
↓ 1 callersFunctionclear_bss
clear BSS segment
src/main.rs:88
↓ 1 callersFunctionconsole_getchar
use sbi call to getchar from console (qemu uart handler)
src/sbi.rs:76
↓ 1 callersMethoddealloc
(&mut self, ppn: PhysPageNum)
src/hyp_alloc/frame_allocator.rs:76
↓ 1 callersFunctiondecode_inst
decode risc-v instruction, return (inst len, inst)
src/guest/mod.rs:137
↓ 1 callersFunctiondetect_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 callersFunctionenable_paging
()
src/mm/mod.rs:11
↓ 1 callersMethodexecutable
(&self)
src/page_table/pte.rs:49
↓ 1 callersMethodfind_pte_create
(&mut self, vpn: VirtPageNum)
src/page_table/sv39.rs:34
↓ 1 callersFunctionforward_exception
forward exception by setting `vsepc` & `vscause`
src/guest/vmexit.rs:131
↓ 1 callersFunctionframe_dealloc
deallocate a frame
src/hyp_alloc/frame_allocator.rs:124
↓ 1 callersMethodget_top
(&self)
src/hypervisor.rs:29
↓ 1 callersFunctiongpa2hpa
(va: usize, guest_id: usize)
src/guest/mod.rs:78
↓ 1 callersFunctionguest_page_fault_handler
( host_vmm: &mut HostVmm<P, G>, ctx: &mut TrapContext, )
src/guest/vmexit.rs:62
↓ 1 callersFunctionhandle_internal_vmm_error
(err: VmmError)
src/guest/vmexit.rs:143
↓ 1 callersFunctionhandle_irq
handle interrupt request(current only external interrupt)
src/guest/vmexit.rs:110
↓ 1 callersMethodhandle_plic_access
( &mut self, ctx: &mut TrapContext, guest_pa: usize, instrution: Instruction,
src/device_emu/plic.rs:33
↓ 1 callersFunctionhart_entry_1
()
src/guest/vmexit.rs:227
↓ 1 callersFunctionhart_entry_2
()
src/guest/vmexit.rs:244
↓ 1 callersFunctionheap_init
initiate heap allocator, frame allocator and kernel space
src/hyp_alloc/mod.rs:7
↓ 1 callersFunctionhstack_alloc
(guest_id: usize)
src/hypervisor.rs:16
↓ 1 callersFunctioninit_detect_trap
(param: usize)
src/detect.rs:77
↓ 1 callersFunctioninit_frame_allocator
initiate the frame allocator using `ekernel` and `MEMORY_END`
src/hyp_alloc/frame_allocator.rs:94
↓ 1 callersFunctioninit_heap
initiate heap allocator
src/hyp_alloc/heap_allocator.rs:20
↓ 1 callersFunctioninit_vmm
(hpm: HostMemorySet<PageTableSv39>, host_machine: MachineMeta)
src/hypervisor.rs:188
↓ 1 callersMethodinsert_framed_area
Assume that no conflicts.
src/mm/mod.rs:43
↓ 1 callersFunctionis_plic_access
(addr: usize)
src/device_emu/plic.rs:101
↓ 1 callersMethodmap_guest
(&mut self, start_pa: usize, gpm_size: usize)
src/mm/memory_set.rs:192
↓ 1 callersFunctionprivileged_inst_handler
(_ctx: &mut TrapContext)
src/guest/vmexit.rs:58
↓ 1 callersFunctionremap_test
()
src/mm/memory_set.rs:657
↓ 1 callersFunctionrestore_detect_trap
(sie: bool, stvec: Stvec, tp: usize)
src/detect.rs:97
↓ 1 callersFunctionsbi_base_handler
(fid: usize, ctx: &TrapContext)
src/guest/sbi.rs:53
↓ 1 callersFunctionsbi_console_getchar_handler
()
src/guest/sbi.rs:101
↓ 1 callersFunctionsbi_console_putchar_handler
(c: usize)
src/guest/sbi.rs:93
↓ 1 callersFunctionsbi_legacy_set_time
(stime: usize)
src/guest/sbi.rs:134
↓ 1 callersFunctionsbi_time_handler
(stime: usize, fid: usize)
src/guest/sbi.rs:109
↓ 1 callersFunctionsbi_vs_handler
(ctx: &mut TrapContext)
src/guest/sbi.rs:34
↓ 1 callersMethodset_sp
set stack pointer to x_2 reg (sp)
src/guest/context.rs:33
↓ 1 callersFunctionshutdown
use sbi call to shutdown the kernel
src/sbi.rs:85
↓ 1 callersFunctionswitch_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 callersMethodtranslate
(&self, vpn: VirtPageNum)
src/page_table/sv39.rs:115
↓ 1 callersMethodtranslate
将虚拟页号翻译成页表项
src/mm/mod.rs:78
↓ 1 callersMethodtranslate_va
(&self, va: usize)
src/mm/mod.rs:82
↓ 1 callersFunctiontrap_init
initialize CSR `stvec` as the entry of `__alltraps`
src/guest/vmexit.rs:23
↓ 1 callersFunctiontwo_stage_translation
(guest_id: usize, guest_va: usize, vsatp: usize, gpm: &GuestMemorySet<G>)
src/guest/mod.rs:86
↓ 1 callersMethodunmap
(&mut self, page_table: &mut P)
src/mm/memory_set.rs:610
↓ 1 callersMethodunmap_one
(&mut self, page_table: &mut P, vpn: VirtPageNum)
src/mm/memory_set.rs:579
↓ 1 callersFunctionwith_detect_trap
(param: usize, f: impl FnOnce())
src/detect.rs:27
↓ 1 callersMethodwritable
(&self)
src/page_table/pte.rs:46
Function_assert_register_layout
()
src/drivers/iommu/registers.rs:72
Methoda_regs
Returns the argument registers. This is avoids many calls when an SBI handler needs all of the argmuent regs.
src/constants.rs:465
Methoda_regs_mut
Returns the arguments register as a mutable.
src/constants.rs:470
Methodaccessed
(&self)
src/page_table/pte.rs:65
Methodaligned
(&self)
src/page_table/address.rs:111
Functiondecode_inst_at_addr
(host_va: usize)
src/guest/mod.rs:125
Methoddirty
(&self)
src/page_table/pte.rs:61
Functiondisable_timer_interrupt
()
src/guest/vmexit.rs:34
Methoddrop
(&mut self)
src/hyp_alloc/frame_allocator.rs:34
Methodempty
()
src/page_table/pte.rs:31
Functionenable_timer_interrupt
enable timer interrupt in sie CSR
src/guest/vmexit.rs:28
Methodexclusive_access
Exclusive access inner data in UPSafeCell. Panic if the data has been borrowed.
src/sync/up.rs:28
Functionfast_two_stage_translation
(guest_id: usize, guest_va: usize, vsatp: usize)
src/guest/mod.rs:107
next →1–100 of 150, ranked by callers