mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-19 20:22:46 +00:00
hv: vlapic: code clean-up
* rename `vlapic_set_intr_ready` to `vlapic_accept_intr` * replace calling of `vlapic_intr_edge` with `vlapic_set_intr` * remove `vlapic_intr_level` and `vlapic_intr_edge` Tracked-On: #861 Signed-off-by: Shiqing Gao <shiqing.gao@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
parent
1049053e2e
commit
e2971ebc98
@ -94,12 +94,6 @@ an interrupt, for example:
|
||||
|
||||
These APIs will finish by making a request for *ACRN_REQUEST_EVENT.*
|
||||
|
||||
.. doxygenfunction:: vlapic_intr_level
|
||||
:project: Project ACRN
|
||||
|
||||
.. doxygenfunction:: vlapic_intr_edge
|
||||
:project: Project ACRN
|
||||
|
||||
.. doxygenfunction:: vlapic_intr_accepted
|
||||
:project: Project ACRN
|
||||
|
||||
|
@ -465,7 +465,7 @@ vlapic_esr_write_handler(struct acrn_vlapic *vlapic)
|
||||
* @pre vector >= 16
|
||||
*/
|
||||
static bool
|
||||
vlapic_set_intr_ready(struct acrn_vlapic *vlapic, uint32_t vector, bool level)
|
||||
vlapic_accept_intr(struct acrn_vlapic *vlapic, uint32_t vector, bool level)
|
||||
{
|
||||
struct lapic_regs *lapic;
|
||||
struct lapic_reg *irrptr, *tmrptr;
|
||||
@ -519,7 +519,7 @@ vlapic_set_intr_ready(struct acrn_vlapic *vlapic, uint32_t vector, bool level)
|
||||
idx, tmrptr[idx].v, level ? "level" : "edge");
|
||||
}
|
||||
|
||||
vlapic_dump_irr(vlapic, "vlapic_set_intr_ready");
|
||||
vlapic_dump_irr(vlapic, "vlapic_accept_intr");
|
||||
}
|
||||
}
|
||||
|
||||
@ -768,7 +768,7 @@ vlapic_fire_lvt(struct acrn_vlapic *vlapic, uint32_t lvt)
|
||||
|
||||
switch (mode) {
|
||||
case APIC_LVT_DM_FIXED:
|
||||
if (vlapic_set_intr_ready(vlapic, vec, false)) {
|
||||
if (vlapic_accept_intr(vlapic, vec, false)) {
|
||||
vcpu_make_request(vcpu, ACRN_REQUEST_EVENT);
|
||||
}
|
||||
break;
|
||||
@ -1933,7 +1933,7 @@ vlapic_set_intr(struct acrn_vcpu *vcpu, uint32_t vector, bool level)
|
||||
dev_dbg(ACRN_DBG_LAPIC,
|
||||
"vlapic ignoring interrupt to vector %u", vector);
|
||||
} else {
|
||||
if (vlapic_set_intr_ready(vlapic, vector, level)) {
|
||||
if (vlapic_accept_intr(vlapic, vector, level)) {
|
||||
vcpu_make_request(vcpu, ACRN_REQUEST_EVENT);
|
||||
}
|
||||
}
|
||||
@ -2049,7 +2049,7 @@ static void vlapic_timer_expired(void *data)
|
||||
|
||||
/* inject vcpu timer interrupt if not masked */
|
||||
if (!vlapic_lvtt_masked(vlapic)) {
|
||||
vlapic_intr_edge(vcpu, lapic->lvt[APIC_LVT_TIMER].v & APIC_LVTT_VECTOR);
|
||||
vlapic_set_intr(vcpu, lapic->lvt[APIC_LVT_TIMER].v & APIC_LVTT_VECTOR, LAPIC_TRIG_EDGE);
|
||||
}
|
||||
|
||||
if (!vlapic_lvtt_period(vlapic)) {
|
||||
|
@ -384,7 +384,7 @@ void partition_mode_dispatch_interrupt(struct intr_excp_ctx *ctx)
|
||||
vcpu = per_cpu(vcpu, get_cpu_id());
|
||||
if (vr < VECTOR_FIXED_START) {
|
||||
send_lapic_eoi();
|
||||
vlapic_intr_edge(vcpu, vr);
|
||||
vlapic_set_intr(vcpu, vr, LAPIC_TRIG_EDGE);
|
||||
} else {
|
||||
dispatch_interrupt(ctx);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ static void efi_spurious_handler(int32_t vector)
|
||||
struct acrn_vcpu *vcpu = per_cpu(vcpu, BOOT_CPU_ID);
|
||||
|
||||
if (vcpu != NULL) {
|
||||
vlapic_set_intr(vcpu, vector, 0);
|
||||
vlapic_set_intr(vcpu, vector, LAPIC_TRIG_EDGE);
|
||||
} else {
|
||||
pr_err("%s vcpu or vlapic is not ready, interrupt lost\n", __func__);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ static void fire_vhm_interrupt(void)
|
||||
|
||||
vcpu = vcpu_from_vid(vm0, 0U);
|
||||
|
||||
vlapic_intr_edge(vcpu, acrn_vhm_vector);
|
||||
vlapic_set_intr(vcpu, acrn_vhm_vector, LAPIC_TRIG_EDGE);
|
||||
}
|
||||
|
||||
#if defined(HV_DEBUG)
|
||||
|
@ -194,31 +194,6 @@ void vlapic_set_intr(struct acrn_vcpu *vcpu, uint32_t vector, bool level);
|
||||
|
||||
#define LAPIC_TRIG_LEVEL true
|
||||
#define LAPIC_TRIG_EDGE false
|
||||
/**
|
||||
* @brief Pend level-trigger mode virtual interrupt to vCPU.
|
||||
*
|
||||
* @param[in] vcpu Pointer to target vCPU data structure
|
||||
* @param[in] vector Vector to be injected.
|
||||
*
|
||||
*/
|
||||
static inline void
|
||||
vlapic_intr_level(struct acrn_vcpu *vcpu, uint32_t vector)
|
||||
{
|
||||
vlapic_set_intr(vcpu, vector, LAPIC_TRIG_LEVEL);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Pend edge-trigger mode virtual interrupt to vCPU.
|
||||
*
|
||||
* @param[in] vcpu Pointer to target vCPU data structure
|
||||
* @param[in] vector Vector to be injected.
|
||||
*
|
||||
*/
|
||||
static inline void
|
||||
vlapic_intr_edge(struct acrn_vcpu *vcpu, uint32_t vector)
|
||||
{
|
||||
vlapic_set_intr(vcpu, vector, LAPIC_TRIG_EDGE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Triggers LAPIC local interrupt(LVT).
|
||||
|
Loading…
Reference in New Issue
Block a user