From owner-cvs-src@FreeBSD.ORG Thu Nov 2 17:28:42 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3BA0016A407; Thu, 2 Nov 2006 17:28:42 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D41EE43D79; Thu, 2 Nov 2006 17:28:38 +0000 (GMT) (envelope-from ru@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2HSchV015353; Thu, 2 Nov 2006 17:28:38 GMT (envelope-from ru@repoman.freebsd.org) Received: (from ru@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2HScwU015352; Thu, 2 Nov 2006 17:28:38 GMT (envelope-from ru) Message-Id: <200611021728.kA2HScwU015352@repoman.freebsd.org> From: Ruslan Ermilov Date: Thu, 2 Nov 2006 17:28:38 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/boot/common load_elf.c src/sys/boot/i386/boot2 boot2.c src/sys/boot/i386/libi386 elf32_freebsd.c src/sys/boot/pc98/boot2 boot.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 17:28:42 -0000 ru 2006-11-02 17:28:38 UTC FreeBSD src repository Modified files: sys/boot/common load_elf.c sys/boot/i386/boot2 boot2.c sys/boot/i386/libi386 elf32_freebsd.c sys/boot/pc98/boot2 boot.c Log: Revert the last change. Masking only 2 MSBs of the virtual address to get the physical address doesn't work for all values of KVA_PAGES, while masking 8 MSBs works for all values of KVA_PAGES that are multiple of 4 for non-PAE and 8 for PAE. (This leaves us limited with 12MB for non-PAE kernels and 14MB for PAE kernels.) To get things right, we'd need to subtract the KERNBASE from the virtual address (but KERNBASE is not easy to figure out from here), or have physical addresses set properly in the ELF headers. Discussed with: jhb Revision Changes Path 1.36 +1 -1 src/sys/boot/common/load_elf.c 1.83 +3 -3 src/sys/boot/i386/boot2/boot2.c 1.17 +1 -1 src/sys/boot/i386/libi386/elf32_freebsd.c 1.16 +2 -2 src/sys/boot/pc98/boot2/boot.c