From owner-cvs-all@FreeBSD.ORG Fri Oct 3 23:30:57 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8DE1A16A4B3; Fri, 3 Oct 2003 23:30:57 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E0EC043FDF; Fri, 3 Oct 2003 23:30:56 -0700 (PDT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h946UuXJ058135; Fri, 3 Oct 2003 23:30:56 -0700 (PDT) (envelope-from peter@repoman.freebsd.org) Received: (from peter@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h946Uu7n058134; Fri, 3 Oct 2003 23:30:56 -0700 (PDT) (envelope-from peter) Message-Id: <200310040630.h946Uu7n058134@repoman.freebsd.org> From: Peter Wemm Date: Fri, 3 Oct 2003 23:30:56 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/i386/i386 locore.s X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Oct 2003 06:30:57 -0000 peter 2003/10/03 23:30:56 PDT FreeBSD src repository Modified files: sys/i386/i386 locore.s Log: Emulate bugs in the old PSE code so that apm works again. I do not yet understand why, but apm *depended* on the fact that the old PSE code caused the first 1MB of ram to be mapped read/write because it was in the same 4MB page as the kernel text+data+bss blob. If anybody ever tried DISABLE_PSE before, apm would not work. If your cpu did not have PSE, apm would not work there either (eg: 486). This bug has been around for a Very Long Time. The Pentium-4-fix commits did not emulate this unintended side effect of the PSE post-early-boot fixup, and thus apm blew up. I've added a hack to emulate the bug until either apm is fixed or we set fire to our bridges. This is bad though because it gives kernel mode code the opportunity to accidently write to the first few megs of the general page pool which is remapped at KERNBASE. It needs to be fixed properly. Revision Changes Path 1.177 +5 -0 src/sys/i386/i386/locore.s