HomeFreeBSD

Allow the PIC's IMR register to be read before ICW initialisation.

Description

Allow the PIC's IMR register to be read before ICW initialisation.

As of git submit e179f6914152eca9, the Linux kernel does a simple
probe of the PIC by writing a pattern to the IMR and then reading it
back, prior to the init sequence of ICW words.

The bhyve PIC emulation wasn't allowing the IMR to be read until
the ICW sequence was complete. This limitation isn't required so
relax the test.

With this change, Linux kernels 3.15-rc2 and later won't hang
on boot when calibrating the local APIC.

Reviewed by: tychon
MFC after: 3 days

Details

Provenance
grehanAuthored on
Reviewer
tychon
Parents
rS272192: MFC revisions 262864-262865, 263114, 267970:
Branches
Unknown
Tags
Unknown

Event Timeline