Date: Sat, 3 Jan 2015 09:12:06 -0800 From: Adrian Chadd <adrian@freebsd.org> To: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: odd behaviour with graphics, vt(4), VGA, and probing the text region leading to NMIs at boot Message-ID: <CAJ-Vmon2BZZbMRAJVAN=cngZmqu8XRQ8LzswqETsfwrLmfB53w@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, I found -head didn't boot on a T400 I have here with external radeon graphics (ie, not using the intel graphics.) I was getting a memory parity error NMI upon boot, shortly after probing option ROMs. It turns out that it's the ISA device probe/attach path trying to attach the VGA adapter, and doing testing of the memory regions at 0xb800:0000 (mono text) and 0xb000:0000 (colour text) - yes, I'm using the 8086 real mode notation because I'm talking about ISA graphics cards. If I boot -HEAD with vt(4) in graphics mode, then it's using 640x480 graphics and that's mapped at 0xa000:0000 for 64k. There apparently isn't anything at 0xb800:0000 or 0xb000:0000 and touching those regions leads to an NMI. Now, the tricksy bit is that it's not accessing those addresses directly - it's going via the physical map, that's mapped it at 0xc00b8000 and 0xc00b0000 - yes, those are 32 bit (virtual, kernel mode) addresses. I don't know if this is part of the problem. If I boot -HEAD with vt(4) in text mode (hw.vga.textmode=1) then it boots fine. So - has anyone else seen/debugged this? It doesn't happen on everything - just this one T400 I have. But I can't help but wonder what else is going to get finnicky about ISA probing like this.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmon2BZZbMRAJVAN=cngZmqu8XRQ8LzswqETsfwrLmfB53w>