Date: Sat, 3 Jan 2015 09:38:46 -0800 From: Alfred Perlstein <bright@mu.org> To: Adrian Chadd <adrian@freebsd.org> Cc: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: Re: odd behaviour with graphics, vt(4), VGA, and probing the text region leading to NMIs at boot Message-ID: <A59265C3-8C93-4AA3-BC88-D34A5B24AE48@mu.org> In-Reply-To: <2F715AD9-CF34-4516-B75E-E14C77BFD2E3@mu.org> References: <CAJ-Vmon2BZZbMRAJVAN=cngZmqu8XRQ8LzswqETsfwrLmfB53w@mail.gmail.com> <2F715AD9-CF34-4516-B75E-E14C77BFD2E3@mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Another option might be to try forcing text mode, then switching to gfx = then trying to write to the b800/b000 memory region. See if that "initializes" things properly. -Alfred On Jan 3, 2015, at 9:31 AM, Alfred Perlstein wrote: > Sounds like the virtualization code is sensitive to the mode. Meaning = that whatever is virtualizing the graphics card doesn't do the proper = thing when you're in a graphical mode. Can't the probes be turned off? >=20 > Basically when the "card" is in gfx mode, it doesn't do the right = thing for those memory addresses. Sounds like the fix would be to not = touch those regions unless you're actually in text mode. =20 >=20 > On Jan 3, 2015, at 9:12 AM, Adrian Chadd wrote: >=20 >> Hi, >>=20 >> I found -head didn't boot on a T400 I have here with external radeon >> graphics (ie, not using the intel graphics.) >>=20 >> I was getting a memory parity error NMI upon boot, shortly after >> probing option ROMs. >>=20 >> 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. >>=20 >> 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. >>=20 >> 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. >>=20 >> If I boot -HEAD with vt(4) in text mode (hw.vga.textmode=3D1) then it = boots fine. >>=20 >> 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. >> _______________________________________________ >> freebsd-arch@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-arch >> To unsubscribe, send any mail to = "freebsd-arch-unsubscribe@freebsd.org" >>=20 >=20 > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to = "freebsd-arch-unsubscribe@freebsd.org" >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A59265C3-8C93-4AA3-BC88-D34A5B24AE48>