X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_intr.c;h=51316bbe5073cb33c89cd751eef0bcd4f89bf3f4;hb=452885dcf15a56694ba283a079877ac38b545b0f;hp=ebe9d125f9a7f34fcf94deab9307365ae16fe7fc;hpb=a95b3ca85c794d201a3a25cbfb09bbc236a0524e;p=palacios.releases.git diff --git a/palacios/src/palacios/vmm_intr.c b/palacios/src/palacios/vmm_intr.c index ebe9d12..51316bb 100644 --- a/palacios/src/palacios/vmm_intr.c +++ b/palacios/src/palacios/vmm_intr.c @@ -1,3 +1,23 @@ +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2008, Jack Lange + * Copyright (c) 2008, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ + + #include #include @@ -6,9 +26,6 @@ #ifndef DEBUG_INTERRUPTS #undef PrintDebug #define PrintDebug(fmt, args...) -#else -#undef PrintDebug -#define PrintDebug(fmt, args...) PrintTrace("\nvmm_intr.c(%d) "_f, __LINE__, ## _a) #endif @@ -149,13 +166,14 @@ int v3_lower_irq(struct guest_info * info, int irq) { PrintDebug("[v3_lower_irq]\n"); - // if ((info->intr_state.controller) && - // (info->intr_state.controller->raise_intr)) { + if ((info->intr_state.controller) && + (info->intr_state.controller->raise_intr)) { info->intr_state.controller->lower_intr(info->intr_state.controller_state, irq); - //} else { - // PrintDebug("There is no registered Interrupt Controller... (NULL POINTER)\n"); - // return -1; - //} + } else { + PrintDebug("There is no registered Interrupt Controller... (NULL POINTER)\n"); + return -1; + } + return 0; } @@ -167,13 +185,14 @@ int v3_raise_irq(struct guest_info * info, int irq) { PrintDebug("[v3_raise_irq]\n"); - // if ((info->intr_state.controller) && - // (info->intr_state.controller->raise_intr)) { + if ((info->intr_state.controller) && + (info->intr_state.controller->raise_intr)) { info->intr_state.controller->raise_intr(info->intr_state.controller_state, irq); - //} else { - // PrintDebug("There is no registered Interrupt Controller... (NULL POINTER)\n"); - // return -1; - //} + } else { + PrintDebug("There is no registered Interrupt Controller... (NULL POINTER)\n"); + return -1; + } + return 0; }