CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected] 2023/08/22 11:13:22

Modified files:
        sys/arch/i386/isa: clock.c 

Log message:
i386: i8254_initclocks: set IPL_MPSAFE for clock/rtc IRQs

Setting IPL_MPSAFE for the i8254/mc146818 IRQs appeases a KASSERT in
apic_intr_establish() and allows the system to boot via the i8254
path.  This makes testing changes to the i8254/mc146818 code much
easier on modern hardware without mucking with the GENERIC config.  We
already set IPL_MPSAFE for these IRQs in the equivalent amd64 code.

Now, setting IPL_MPSAFE is a lie: the i8254 and mc146818 IRQs are not
MP-safe.  However, the lie is harmless because we only reach
i8254_initclocks() if (a) there is no APIC at all, or (b) we fail to
calibrate the local APIC timer.

Thread: https://marc.info/?l=openbsd-tech&m=169258915227321&w=2

ok mlarkin@

Reply via email to