/freebsd/sys/arm64/vmm/ |
H A D | arm64.h | 45 struct hypctx { struct 46 struct trapframe tf; 51 uint64_t elr_el1; /* Exception Link Register */ 52 uint64_t sp_el0; /* Stack pointer */ 53 uint64_t tpidr_el0; /* EL0 Software ID Register */ 54 uint64_t tpidrro_el0; /* Read-only Thread ID Register */ 55 uint64_t tpidr_el1; /* EL1 Software ID Register */ 56 uint64_t vbar_el1; /* Vector Base Address Register */ 58 uint64_t actlr_el1; /* Auxiliary Control Register */ 59 uint64_t afsr0_el1; /* Auxiliary Fault Status Register 0 */ [all …]
|
H A D | vmm_arm64.c | 109 arm64_set_active_vcpu(struct hypctx *hypctx) in arm64_set_active_vcpu() 539 struct hypctx *hypctx; in vmmops_vcpu_init() local 597 arm64_gen_inst_emul_data(struct hypctx *hypctx, uint32_t esr_iss, in arm64_gen_inst_emul_data() 649 raise_data_insn_abort(struct hypctx *hypctx, uint64_t far, bool dabort, int fsc) in raise_data_insn_abort() 667 handle_el1_sync_excp(struct hypctx *hypctx, struct vm_exit *vme_ret, in handle_el1_sync_excp() 775 arm64_handle_world_switch(struct hypctx *hypctx, int excp_type, in arm64_handle_world_switch() 840 struct hypctx *hypctx; in vmmops_gla2gpa() local 1066 struct hypctx *hypctx; in vmmops_run() local 1197 struct hypctx *hypctx = vcpui; in vmmops_vcpu_cleanup() local 1229 hypctx_regptr(struct hypctx *hypctx, int reg) in hypctx_regptr() [all …]
|
H A D | vmm_hyp.c | 45 vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_store() 265 vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_restore() 485 vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) in vmm_hyp_call_guest()
|
H A D | vmm_handlers.c | 52 vmm_nvhe_enter_guest(struct hyp *hyp, struct hypctx *hypctx) in vmm_nvhe_enter_guest()
|
H A D | vmm.c | 1675 struct hypctx *hypctx; in vm_handle_smccc_call() local
|
/freebsd/sys/riscv/vmm/ |
H A D | riscv.h | 84 struct hypctx { struct 85 struct hypregs host_regs; 86 struct hypregs guest_regs; 87 struct hypcsr guest_csrs; 88 uint64_t host_sscratch; 89 uint64_t host_stvec; 90 uint64_t host_scounteren; 114 struct hypctx *ctx[]; argument
|
H A D | vmm_riscv.c | 89 riscv_set_active_vcpu(struct hypctx *hypctx) in riscv_set_active_vcpu() 160 vmmops_vcpu_restore_csrs(struct hypctx *hypctx) in vmmops_vcpu_restore_csrs() 178 vmmops_vcpu_save_csrs(struct hypctx *hypctx) in vmmops_vcpu_save_csrs() 198 struct hypctx *hypctx; in vmmops_vcpu_init() local 265 riscv_unpriv_read(struct hypctx *hypctx, uintptr_t guest_addr, uint64_t *data, in riscv_unpriv_read() 325 riscv_gen_inst_emul_data(struct hypctx *hypctx, struct vm_exit *vme_ret, in riscv_gen_inst_emul_data() 446 riscv_handle_world_switch(struct hypctx *hypctx, struct vm_exit *vme, in riscv_handle_world_switch() 540 riscv_send_ipi(struct hypctx *hypctx, int hart_id) in riscv_send_ipi() 554 riscv_check_ipi(struct hypctx *hypctx, bool clear) in riscv_check_ipi() 567 riscv_check_interrupts_pending(struct hypctx *hypctx) in riscv_check_interrupts_pending() [all …]
|
H A D | vmm_fence.c | 46 vmm_fence_dequeue(struct hypctx *hypctx, struct vmm_fence *new_fence) in vmm_fence_dequeue() 69 vmm_fence_enqueue(struct hypctx *hypctx, struct vmm_fence *new_fence) in vmm_fence_enqueue() 119 vmm_fence_process(struct hypctx *hypctx) in vmm_fence_process() 142 struct hypctx *hypctx; in vmm_fence_add() local
|
H A D | vmm_sbi.c | 64 vmm_sbi_handle_rfnc(struct vcpu *vcpu, struct hypctx *hypctx) in vmm_sbi_handle_rfnc() 125 vmm_sbi_handle_time(struct vcpu *vcpu, struct hypctx *hypctx) in vmm_sbi_handle_time() 150 vmm_sbi_handle_ipi(struct vcpu *vcpu, struct hypctx *hypctx) in vmm_sbi_handle_ipi() 200 struct hypctx *hypctx; in vmm_sbi_ecall() local
|
H A D | vmm_vtimer.c | 66 vtimer_cpuinit(struct hypctx *hypctx) in vtimer_cpuinit() 86 struct hypctx *hypctx; in vtimer_inject_irq_callout() local 97 vtimer_set_timer(struct hypctx *hypctx, uint64_t next_val) in vtimer_set_timer()
|
H A D | vmm_aplic.c | 285 struct hypctx *hypctx; in mem_read() local 314 struct hypctx *hypctx; in mem_write() local 405 aplic_check_pending(struct hypctx *hypctx) in aplic_check_pending() 497 aplic_cpuinit(struct hypctx *hypctx) in aplic_cpuinit() 503 aplic_cpucleanup(struct hypctx *hypctx) in aplic_cpucleanup() 509 aplic_flush_hwstate(struct hypctx *hypctx) in aplic_flush_hwstate() 515 aplic_sync_hwstate(struct hypctx *hypctx) in aplic_sync_hwstate()
|
/freebsd/sys/arm64/vmm/io/ |
H A D | vtimer.c | 68 struct hypctx *hypctx; in vtimer_virtual_timer_intr() local 176 vtimer_cpuinit(struct hypctx *hypctx) in vtimer_cpuinit() 203 vtimer_cpucleanup(struct hypctx *hypctx) in vtimer_cpucleanup() 217 struct hypctx *hypctx; in vtimer_vmcleanup() local 235 vtimer_sync_hwstate(struct hypctx *hypctx) in vtimer_sync_hwstate() 259 struct hypctx *hypctx; in vtimer_inject_irq_callout_phys() local 269 struct hypctx *hypctx; in vtimer_inject_irq_callout_virt() local 277 vtimer_schedule_irq(struct hypctx *hypctx, bool phys) in vtimer_schedule_irq() 307 vtimer_remove_irq(struct hypctx *hypctx, struct vcpu *vcpu) in vtimer_remove_irq() 340 struct hypctx *hypctx; in vtimer_phys_ctl_read() local [all …]
|
H A D | vgic_v3.c | 428 struct hypctx *hypctx; in mpidr_to_vcpu() local 464 vgic_v3_cpuinit(device_t dev, struct hypctx *hypctx) in vgic_v3_cpuinit() 537 vgic_v3_cpucleanup(device_t dev, struct hypctx *hypctx) in vgic_v3_cpucleanup() 637 gic_pidr2_read(struct hypctx *hypctx, u_int reg, uint64_t *rval, in gic_pidr2_read() 645 gic_zero_read(struct hypctx *hypctx, u_int reg, uint64_t *rval, in gic_zero_read() 652 gic_ignore_write(struct hypctx *hypctx, u_int reg, u_int offset, u_int size, in gic_ignore_write() 659 read_enabler(struct hypctx *hypctx, int n) in read_enabler() 683 write_enabler(struct hypctx *hypctx,int n, bool set, uint64_t val) in write_enabler() 707 read_pendr(struct hypctx *hypctx, int n) in read_pendr() 731 write_pendr(struct hypctx *hypctx, int n, bool set, uint64_t val) in write_pendr() [all …]
|