diff --git a/sys/ia64/ia64/sapic.c b/sys/ia64/ia64/sapic.c index 0830a8293cf2..b895a7eb1ac4 100644 --- a/sys/ia64/ia64/sapic.c +++ b/sys/ia64/ia64/sapic.c @@ -142,7 +142,7 @@ sapic_enable(struct sapic *sa, int input, int vector, rte.rte_destination_eid = (lid >> 16) & 255; rte.rte_trigger_mode = trigger_mode; rte.rte_polarity = polarity; - rte.rte_delivery_mode = 0; /* fixed */ + rte.rte_delivery_mode = SAPIC_DELMODE_LOWPRI; rte.rte_vector = vector; sapic_write_rte(sa, input, &rte); } diff --git a/sys/ia64/include/sapicvar.h b/sys/ia64/include/sapicvar.h index 298b4bc60cbc..ae3f154986ba 100644 --- a/sys/ia64/include/sapicvar.h +++ b/sys/ia64/include/sapicvar.h @@ -42,6 +42,13 @@ struct sapic { #define SAPIC_POLARITY_HIGH 0 #define SAPIC_POLARITY_LOW 1 +#define SAPIC_DELMODE_FIXED 0 +#define SAPIC_DELMODE_LOWPRI 1 +#define SAPIC_DELMODE_PMI 2 +#define SAPIC_DELMODE_NMI 4 +#define SAPIC_DELMODE_INIT 5 +#define SAPIC_DELMODE_EXTINT 7 + struct sapic *sapic_create(int id, int base, u_int64_t address); void sapic_enable(struct sapic *sa, int input, int vector, int trigger_mode, int polarity);