uefi: remove old interrupt injection method

we added uefi stub for hv, and want vm0 continue running under uefi env to
boot other uefi payload (osloader or bzImage).

during this, the uefi timer irq need be handled elegantly.

there are 3 types for uefi timer:
1. 8254 based on IRQ0 of PIC
2. HPET based on IOAPIC
3. HPET based on MSI

currently, we only support type 3 (HPET+MSI). But we are following a
in-correct flow to handle this timer interrupt:
- we set VMX_ENTRY_INT_INFO_FIELD directly if a timer interrupt happened
  before vcpu launching, this will make its vlapic mess up, which finally
  cause hpet timer stop.

this patch remove this in-correct approach, the new approach patch will
be followed by next patch.

Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
This commit is contained in:
Jason Chen CJ
2018-03-20 00:27:50 +08:00
committed by Jack Ren
parent 23efb5a0e9
commit a87757d602
5 changed files with 18 additions and 46 deletions

View File

@@ -111,7 +111,7 @@ void update_irq_handler(int irq, irq_handler_t func);
int init_default_irqs(unsigned int cpu);
int dispatch_interrupt(struct intr_ctx *ctx);
void dispatch_interrupt(struct intr_ctx *ctx);
struct dev_handler_node*
pri_register_handler(int irq,
@@ -133,7 +133,7 @@ int get_cpu_interrupt_info(char *str, int str_max);
void setup_notification(void);
typedef int (*spurious_handler_t)(int);
typedef void (*spurious_handler_t)(int);
extern spurious_handler_t spurious_handler;
/*