Don't probe PnP BIOS devices for PICs for now to avoid problems with those
devices claiming resources that they don't actually use. The PIC drivers only register valid interrupt sources, so we don't need to rely on these drivers to claim invalid IRQs to prevent their use by other drivers.
This commit is contained in:
parent
e9982e75c1
commit
9738024229
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=121995
@ -583,20 +583,14 @@ pnpbios_identify(driver_t *driver, device_t parent)
|
||||
}
|
||||
|
||||
/*
|
||||
* If we are in APIC_IO mode, we should ignore the ISA PIC if it
|
||||
* shows up. Likewise, in !APIC_IO mode, we should ignore the
|
||||
* APIC (less important).
|
||||
* This is significant because the ISA PIC will claim IRQ 2 (which
|
||||
* it uses for chaining), while in APIC mode this is a valid IRQ
|
||||
* available for general use.
|
||||
* Ignore PICs so that we don't have to worry about the PICs
|
||||
* claiming IRQs to prevent their use. The PIC drivers
|
||||
* already ensure that invalid IRQs are not used.
|
||||
*/
|
||||
#ifdef APIC_IO
|
||||
if (!strcmp(pnp_eisaformat(pd->devid), "PNP0000")) /* ISA PIC */
|
||||
continue;
|
||||
#else
|
||||
if (!strcmp(pnp_eisaformat(pd->devid), "PNP0003")) /* APIC */
|
||||
continue;
|
||||
#endif
|
||||
|
||||
/* Add the device and parse its resources */
|
||||
dev = BUS_ADD_CHILD(parent, ISA_ORDER_PNP, NULL, -1);
|
||||
|
@ -583,20 +583,14 @@ pnpbios_identify(driver_t *driver, device_t parent)
|
||||
}
|
||||
|
||||
/*
|
||||
* If we are in APIC_IO mode, we should ignore the ISA PIC if it
|
||||
* shows up. Likewise, in !APIC_IO mode, we should ignore the
|
||||
* APIC (less important).
|
||||
* This is significant because the ISA PIC will claim IRQ 2 (which
|
||||
* it uses for chaining), while in APIC mode this is a valid IRQ
|
||||
* available for general use.
|
||||
* Ignore PICs so that we don't have to worry about the PICs
|
||||
* claiming IRQs to prevent their use. The PIC drivers
|
||||
* already ensure that invalid IRQs are not used.
|
||||
*/
|
||||
#ifdef APIC_IO
|
||||
if (!strcmp(pnp_eisaformat(pd->devid), "PNP0000")) /* ISA PIC */
|
||||
continue;
|
||||
#else
|
||||
if (!strcmp(pnp_eisaformat(pd->devid), "PNP0003")) /* APIC */
|
||||
continue;
|
||||
#endif
|
||||
|
||||
/* Add the device and parse its resources */
|
||||
dev = BUS_ADD_CHILD(parent, ISA_ORDER_PNP, NULL, -1);
|
||||
|
Loading…
Reference in New Issue
Block a user