From d8346deefc77884c1b0a07f30cf8280f5f854c9b Mon Sep 17 00:00:00 2001 From: marcel Date: Mon, 14 Apr 2008 20:34:45 +0000 Subject: Revision 1.9 changes the delivery mode from the magic constant 0 (i.e. fixed delivery) to SAPIC_DELMODE_LOWPRI. While the commit log doesn't mention the change in behaviour, it is believed to be deliberate. In the last 5.5 years this hasn't been a problem. Nor do I think did it make any difference, but who knows. However, I do know that it break SMP support for Montecito-based machines. Switch back to fixed-CPU delivery so that SMP works again. This gives me some time to look more closely at the problem, as well as make sure the I-cache validation as it's implemented currently is sufficient in SMP configurations... --- sys/ia64/ia64/sapic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/ia64') diff --git a/sys/ia64/ia64/sapic.c b/sys/ia64/ia64/sapic.c index 86bb00f..00ef234 100644 --- a/sys/ia64/ia64/sapic.c +++ b/sys/ia64/ia64/sapic.c @@ -202,7 +202,7 @@ sapic_enable(struct sapic *sa, u_int irq, u_int vector) sapic_read_rte(sa, irq - sa->sa_base, &rte); rte.rte_destination_id = (lid >> 24) & 255; rte.rte_destination_eid = (lid >> 16) & 255; - rte.rte_delivery_mode = SAPIC_DELMODE_LOWPRI; + rte.rte_delivery_mode = SAPIC_DELMODE_FIXED; rte.rte_vector = vector; rte.rte_mask = 0; sapic_write_rte(sa, irq - sa->sa_base, &rte); -- cgit v1.1