1 #include <palacios/vmm_intr.h>
2 #include <palacios/vm_guest.h>
5 void init_interrupt_state(struct vm_intr * state) {
6 state->excp_pending = 0;
8 state->excp_error_code = 0;
11 int raise_exception(struct guest_info * info, uint_t excp) {
13 /* We can't stack exceptions,
14 but do we need to have some sort of priority?
16 if (info->intr_state.excp_pending) {
17 info->intr_state.excp_pending = 1;
18 info->intr_state.excp_num = excp;
27 int intr_pending(struct vm_intr * intr) {
28 if (intr->excp_pending) {
38 uint_t get_intr_number(struct vm_intr * intr) {
39 if (intr->excp_pending) {
40 return intr->excp_num;
43 /* someway to get the [A]PIC intr */
49 uint_t get_intr_type(struct vm_intr * intr) {
50 if (intr->excp_pending) {