diff options
author | jhb <jhb@FreeBSD.org> | 2006-10-10 23:23:12 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2006-10-10 23:23:12 +0000 |
commit | 920b219fcf73ff01950bf272923fd4b46e75fb62 (patch) | |
tree | eb9c93770a076684865872d673c762161b0390f7 /sys/amd64/include/apicvar.h | |
parent | 98af27d199c605e0cfa80eee1e631093cf1bf30a (diff) | |
download | FreeBSD-src-920b219fcf73ff01950bf272923fd4b46e75fb62.zip FreeBSD-src-920b219fcf73ff01950bf272923fd4b46e75fb62.tar.gz |
Change the x86 interrupt code to suspend/resume interrupt controllers
(PICs) rather than interrupt sources. This allows interrupt controllers
with no interrupt pics (such as the 8259As when APIC is in use) to
participate in suspend/resume.
- Always register the 8259A PICs even if we don't use any of their pins.
- Explicitly reset the 8259As on resume on amd64 if 'device atpic' isn't
included.
- Add a "dummy" PIC for the local APIC on the BSP to reset the local APIC
on resume. This gets suspend/resume working with APIC on UP systems.
SMP still needs more work to bring the APs back to life.
The MFC after is tentative.
Tested by: anholt (i386)
Submitted by: Andrea Bittau <a.bittau at cs.ucl.ac.uk> (3)
MFC after: 1 week
Diffstat (limited to 'sys/amd64/include/apicvar.h')
-rw-r--r-- | sys/amd64/include/apicvar.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/include/apicvar.h b/sys/amd64/include/apicvar.h index 98cf3a3..ebd8f04 100644 --- a/sys/amd64/include/apicvar.h +++ b/sys/amd64/include/apicvar.h @@ -211,7 +211,7 @@ int lapic_set_lvt_polarity(u_int apic_id, u_int lvt, int lapic_set_lvt_triggermode(u_int apic_id, u_int lvt, enum intr_trigger trigger); void lapic_set_tpr(u_int vector); -void lapic_setup(void); +void lapic_setup(int boot); int lapic_setup_clock(void); #endif /* !LOCORE */ |