1 #include <palacios/vmm_intr.h>
4 #include <palacios/vm_guest.h>
7 void init_interrupt_state(struct vm_intr * state) {
8 state->excp_pending = 0;
10 state->excp_error_code = 0;
13 int raise_exception(struct guest_info * info, uint_t excp) {
15 /* We can't stack exceptions,
16 but do we need to have some sort of priority?
18 if (info->intr_state.excp_pending) {
19 info->intr_state.excp_pending = 1;
20 info->intr_state.excp_num = excp;
29 int intr_pending(struct vm_intr * intr) {
30 if (intr->excp_pending) {
40 uint_t get_intr_number(struct vm_intr * intr) {
41 if (intr->excp_pending) {
42 return intr->excp_num;
45 /* someway to get the [A]PIC intr */
51 uint_t get_intr_type(struct vm_intr * intr) {
52 if (intr->excp_pending) {