diff options
author | marcel <marcel@FreeBSD.org> | 2008-04-14 20:34:45 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2008-04-14 20:34:45 +0000 |
commit | d8346deefc77884c1b0a07f30cf8280f5f854c9b (patch) | |
tree | 5a9f36a6d6ff0cc6c34dc212ddc36b90c0a5cff1 /sys/ia64 | |
parent | 1d41def9a35adf24894265b2d4847e3f1be14782 (diff) | |
download | FreeBSD-src-d8346deefc77884c1b0a07f30cf8280f5f854c9b.zip FreeBSD-src-d8346deefc77884c1b0a07f30cf8280f5f854c9b.tar.gz |
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...
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/sapic.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); |