Fix suspend/resume problem with some configurations. From drochner@.
This commit is contained in:
parent
a61915e94f
commit
74b6a42ba2
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ioapic.c,v 1.42 2009/05/01 09:38:24 cegger Exp $ */
|
||||
/* $NetBSD: ioapic.c,v 1.43 2009/05/16 23:48:00 ad Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2000, 2009 The NetBSD Foundation, Inc.
|
||||
|
@ -64,7 +64,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: ioapic.c,v 1.42 2009/05/01 09:38:24 cegger Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: ioapic.c,v 1.43 2009/05/16 23:48:00 ad Exp $");
|
||||
|
||||
#include "opt_ddb.h"
|
||||
|
||||
|
@ -409,14 +409,15 @@ apic_set_redir(struct ioapic_softc *sc, int pin, int idt_vec,
|
|||
pp = &sc->sc_pins[pin];
|
||||
map = pp->ip_map;
|
||||
redlo = map == NULL ? IOAPIC_REDLO_MASK : map->redir;
|
||||
redhi = 0;
|
||||
delmode = (redlo & IOAPIC_REDLO_DEL_MASK) >> IOAPIC_REDLO_DEL_SHIFT;
|
||||
redhi = (ci->ci_cpuid << IOAPIC_REDHI_DEST_SHIFT);
|
||||
|
||||
if (delmode == IOAPIC_REDLO_DEL_FIXED ||
|
||||
delmode == IOAPIC_REDLO_DEL_LOPRI) {
|
||||
if (pp->ip_type == IST_NONE) {
|
||||
redlo |= IOAPIC_REDLO_MASK;
|
||||
} else {
|
||||
redhi = (ci->ci_cpuid << IOAPIC_REDHI_DEST_SHIFT);
|
||||
redlo |= (idt_vec & 0xff);
|
||||
redlo |= (IOAPIC_REDLO_DEL_FIXED<<IOAPIC_REDLO_DEL_SHIFT);
|
||||
redlo &= ~IOAPIC_REDLO_DSTMOD;
|
||||
|
|
Loading…
Reference in New Issue