From owner-svn-src-head@freebsd.org Thu Sep 24 16:34:56 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC73FA057EE; Thu, 24 Sep 2015 16:34:55 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [50.0.150.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A53791EF3; Thu, 24 Sep 2015 16:34:55 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from marcels-mbp.int.brkt.com (cerberus.brkt.com [208.185.168.138]) (authenticated bits=0) by mail.xcllnt.net (8.15.2/8.15.2) with ESMTPSA id t8OGHXA1045267 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 24 Sep 2015 09:17:34 -0700 (PDT) (envelope-from marcel@xcllnt.net) Subject: Re: svn commit: r287934 - head/sys/boot/efi/loader Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: multipart/signed; boundary="Apple-Mail=_344BDBAC-42F4-4BBD-948D-8C8B1EB58DD5"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5.1 From: Marcel Moolenaar In-Reply-To: <7425989.fyHR6C7Hof@ralph.baldwin.cx> Date: Thu, 24 Sep 2015 09:17:27 -0700 Cc: Adrian Chadd , Rui Paulo , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Message-Id: <50033006-9412-4D45-B41A-90F185DC6392@xcllnt.net> References: <13e1fdb2-6e22-4371-95e4-a556c357fa8d@me.com> <7425989.fyHR6C7Hof@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Sep 2015 16:34:56 -0000 --Apple-Mail=_344BDBAC-42F4-4BBD-948D-8C8B1EB58DD5 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 >=20 > The other approach I suggested earlier is to make the kernel = relocatable > (and allow the module metadata to be anywhere and live in a chain = instead > of an array) so that we can just load things wherever and leave them = there > without having to relocate. For ia64 I linked the kernel against a virtual address. The loader could simply allocate EFI memory as needed, and not worry about its location. It would map that into what I called the =E2=80=9Cpre-boot virtual address space=E2=80=9D. When booting the kernel, the loader only had to pass the physical address and size of the page table (the virtual address was fixed). With a variable size the loader would start off with a single 4KB page table and it would grow it as needed to some arbitrary max. The page size for the pre-boot virtual address space was 64KB (to match the maximum alignment of segments that the toolchain allowed). With more than 700MB of pre-boot virtual address space, one could preload and entire installation CD if willing to wait for it being loaded. No need to set memory aside and hope things fit... As a nice plus: linking against a virtual address allows copying the kernel text across the memory domains and always have it run locally to CPUs in NUMA configurations. -- Marcel Moolenaar marcel@xcllnt.net --Apple-Mail=_344BDBAC-42F4-4BBD-948D-8C8B1EB58DD5 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWBCIYAAoJEIda8t8f0tjjBP8QAOMCUeQzNDWytF93u8Nsvtaf 1duB1I1LetYjb8uPotmO0hfiiZHqMrKZ5+D+Wp/61gJJdRTHsG2Wsexs0pJlBRm0 IvEpW+mhugPwLT9gUPhTc6PbkpYmNRuv+WrEIMq4stEH+WoSS8JVzbXl1DKXOpn1 eAC/DEwV6l4y25b7Fx4otcvTgw0cdnFu0NaeDmhoexs8URBqjrfvGvB7wT4YOjf8 9dPwsHyU+buWNdg37gCCaEu57q/zuhiQ+wbilqAm5X6DSa2yYyr3JacY09A6cUX1 emLuPBV3P+Xzc9k7xAiKjQ+AoK5a1/hN4eNUa5tt5q5U5sQS1IfNBIwryH/vZbp+ b9ECZUpCGwKHwTcXgZnBrGV8OaDvfr/l99v/cWCxJAUQwrHUf4Xk2X/PIcYGHOrZ 0N2bl+SaTtPXSACZS5DyFZCpphKhSmsSPyNtNwOnTjZqB+YCclriHpCHBtRVAzMR YFg1C9+y+WMJ/kGGpAfjN/i7tZQAvzt0YJnvYhf3e35we3fyuHYXyRST1QCCwQWh 0v+Fo8ctppaHl/KriIm2XYM1klZPWmmyEc5ehrJyJzsvZIBbUlKhbX5LmnhFMTkF lOlTWMiyAALiW33fxGQDNIW46+Iu6A5HDqdg0Kbw7mAkmZPvYDENC+ODhqhVwFok rKAdQbdOSvNR3S49TU5X =/5C/ -----END PGP SIGNATURE----- --Apple-Mail=_344BDBAC-42F4-4BBD-948D-8C8B1EB58DD5--