mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-24 02:08:04 +00:00
HV: Enclose debug specific code with #ifdef HV_DEBUG
Thare some debug specific code which don't run on release version, such as vmexit_time, vmexit_cnt, sbuf related codes, etc... This patch encloses the codes with #ifdef HV_DEBUG. Signed-off-by: Kaige Fu <kaige.fu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -59,11 +59,13 @@ void vcpu_thread(struct vcpu *vcpu)
|
||||
continue;
|
||||
}
|
||||
|
||||
#ifdef HV_DEBUG
|
||||
vmexit_end = rdtsc();
|
||||
if (vmexit_begin != 0UL) {
|
||||
per_cpu(vmexit_time, vcpu->pcpu_id)[basic_exit_reason]
|
||||
+= (vmexit_end - vmexit_begin);
|
||||
}
|
||||
#endif
|
||||
TRACE_2L(TRACE_VM_ENTER, 0UL, 0UL);
|
||||
|
||||
/* Restore guest TSC_AUX */
|
||||
@@ -79,7 +81,9 @@ void vcpu_thread(struct vcpu *vcpu)
|
||||
continue;
|
||||
}
|
||||
|
||||
#ifdef HV_DEBUG
|
||||
vmexit_begin = rdtsc();
|
||||
#endif
|
||||
|
||||
vcpu->arch_vcpu.nrexits++;
|
||||
/* Save guest TSC_AUX */
|
||||
@@ -90,16 +94,18 @@ void vcpu_thread(struct vcpu *vcpu)
|
||||
CPU_IRQ_ENABLE();
|
||||
/* Dispatch handler */
|
||||
ret = vmexit_handler(vcpu);
|
||||
basic_exit_reason = vcpu->arch_vcpu.exit_reason & 0xFFFFU;
|
||||
if (ret < 0) {
|
||||
pr_fatal("dispatch VM exit handler failed for reason"
|
||||
" %d, ret = %d!",
|
||||
vcpu->arch_vcpu.exit_reason & 0xFFFFU, ret);
|
||||
" %d, ret = %d!", basic_exit_reason, ret);
|
||||
vcpu_inject_gp(vcpu, 0U);
|
||||
continue;
|
||||
}
|
||||
|
||||
basic_exit_reason = vcpu->arch_vcpu.exit_reason & 0xFFFFU;
|
||||
#ifdef HV_DEBUG
|
||||
per_cpu(vmexit_cnt, vcpu->pcpu_id)[basic_exit_reason]++;
|
||||
#endif
|
||||
|
||||
TRACE_2L(TRACE_VM_EXIT, basic_exit_reason, vcpu_get_rip(vcpu));
|
||||
} while (1);
|
||||
}
|
||||
|
@@ -788,6 +788,7 @@ hcall_reset_ptdev_intr_info(struct vm *vm, uint16_t vmid, uint64_t param)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef HV_DEBUG
|
||||
int32_t hcall_setup_sbuf(struct vm *vm, uint64_t param)
|
||||
{
|
||||
struct sbuf_setup_param ssp;
|
||||
@@ -808,6 +809,12 @@ int32_t hcall_setup_sbuf(struct vm *vm, uint64_t param)
|
||||
|
||||
return sbuf_share_setup(ssp.pcpu_id, ssp.sbuf_id, hva);
|
||||
}
|
||||
#else
|
||||
int32_t hcall_setup_sbuf(__unused struct vm *vm, __unused uint64_t param)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif
|
||||
|
||||
int32_t hcall_get_cpu_pm_state(struct vm *vm, uint64_t cmd, uint64_t param)
|
||||
{
|
||||
|
Reference in New Issue
Block a user