mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-04 12:52:15 +00:00
Enable interrupts on the BSP once all PICs are initialized.
This moves the enabling of interrupts slightly earlier (the old location was still before devices were enumerated and probed) and does it in the interrupt code (rather than in the device configuration code). This also avoids tripping over an assertion on the first TLB shootdown with earlier AP startup. Reviewed by: kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D5710
This commit is contained in:
parent
52a4455b80
commit
7a2c1d8c60
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=297218
@ -100,13 +100,6 @@ configure(dummy)
|
||||
void *dummy;
|
||||
{
|
||||
|
||||
/*
|
||||
* Enable interrupts on the processor. The interrupts are still
|
||||
* disabled in the interrupt controllers until interrupt handlers
|
||||
* are registered.
|
||||
*/
|
||||
enable_intr();
|
||||
|
||||
/* initialize new bus architecture */
|
||||
root_bus_configure();
|
||||
|
||||
|
@ -101,13 +101,6 @@ configure(dummy)
|
||||
void *dummy;
|
||||
{
|
||||
|
||||
/*
|
||||
* Enable interrupts on the processor. The interrupts are still
|
||||
* disabled in the interrupt controllers until interrupt handlers
|
||||
* are registered.
|
||||
*/
|
||||
enable_intr();
|
||||
|
||||
/* initialize new bus architecture */
|
||||
root_bus_configure();
|
||||
|
||||
|
@ -393,6 +393,21 @@ intr_init(void *dummy __unused)
|
||||
}
|
||||
SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL);
|
||||
|
||||
static void
|
||||
intr_init_final(void *dummy __unused)
|
||||
{
|
||||
|
||||
/*
|
||||
* Enable interrupts on the BSP after all of the interrupt
|
||||
* controllers are initialized. Device interrupts are still
|
||||
* disabled in the interrupt controllers until interrupt
|
||||
* handlers are registered. Interrupts are enabled on each AP
|
||||
* after their first context switch.
|
||||
*/
|
||||
enable_intr();
|
||||
}
|
||||
SYSINIT(intr_init_final, SI_SUB_INTR, SI_ORDER_ANY, intr_init_final, NULL);
|
||||
|
||||
#ifndef DEV_ATPIC
|
||||
/* Initialize the two 8259A's to a known-good shutdown state. */
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user