X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fvmm_stubs.c;h=25f300be437539d5bc0aa8bd6b41c3edf32b471a;hb=c34c7a69079dd6165db965454104f20c7d873c20;hp=b2b66bec927905f1517bc4dfe947062a9f34c790;hpb=8163b56655f024bb1e3abcdce028598554343d02;p=palacios.git diff --git a/palacios/src/geekos/vmm_stubs.c b/palacios/src/geekos/vmm_stubs.c index b2b66be..25f300b 100644 --- a/palacios/src/geekos/vmm_stubs.c +++ b/palacios/src/geekos/vmm_stubs.c @@ -47,16 +47,16 @@ void VMM_Free(void * addr) { - struct guest_info * irq_map[256]; - static void pic_intr_handler(struct Interrupt_State * state) { Begin_IRQ(state); struct guest_info * info = irq_map[state->intNum - 32]; + SerialPrint("Interrupt %d\n", state->intNum); if (info) { - info->vm_ops.raise_irq(irq_map[state->intNum], state->intNum, state->errorCode); + SerialPrint("Calling handler(info=%x)->%x\n", info, info->vm_ops.raise_irq); + info->vm_ops.raise_irq(info, state->intNum - 32, state->errorCode); } else { SerialPrint("Interrupt handler error: NULL pointer found, no action taken\n"); End_IRQ(state); @@ -88,5 +88,4 @@ int ack_irq(int irq) { void Init_Stubs() { memset(irq_map, 0, sizeof(struct guest_info *) * 256); - }