CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2012/04/18 04:56:55
Modified files: sys/arch/sgi/localbus: imc.c Log message: Reading the IMC bus arbitration register is not reliable, at least on IP20, and can return completely bogus values; writing these values back to the register can have unexpected and hilarious side effects, such as disabling the frame buffer. Workaround this `feature' by reading the register in a loop until we read twice the same value, and the value looks legit; then cache this value in a global variable and handle the register from now on, as a write-only register.