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:
Shiqing Gao 2019-01-10 15:09:42 +08:00 committed by wenlingz
parent 1049053e2e
commit e2971ebc98
6 changed files with 8 additions and 39 deletions

View File

@ -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

View File

@ -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)) {

View File

@ -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);
}

View File

@ -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__);
}

View File

@ -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)

View File

@ -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).