From owner-cvs-src@FreeBSD.ORG Sun Aug 29 00:48:42 2004 Return-Path: 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 4DFF616A4CE; Sun, 29 Aug 2004 00:48:42 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 41A8443D55; Sun, 29 Aug 2004 00:48:42 +0000 (GMT) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i7T0mgvb029372; Sun, 29 Aug 2004 00:48:42 GMT (envelope-from iedowse@repoman.freebsd.org) Received: (from iedowse@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i7T0mgZC029371; Sun, 29 Aug 2004 00:48:42 GMT (envelope-from iedowse) Message-Id: <200408290048.i7T0mgZC029371@repoman.freebsd.org> From: Ian Dowse Date: Sun, 29 Aug 2004 00:48:42 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/boot/common Makefile.inc bootstrap.h load_elf32_obj.c load_elf64_obj.c load_elf_obj.c src/sys/boot/i386/libi386 elf32_freebsd.c elf64_freebsd.c src/sys/boot/i386/loader conf.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 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: Sun, 29 Aug 2004 00:48:42 -0000 iedowse 2004-08-29 00:48:42 UTC FreeBSD src repository Modified files: sys/boot/common Makefile.inc bootstrap.h sys/boot/i386/libi386 elf32_freebsd.c elf64_freebsd.c sys/boot/i386/loader conf.c Added files: sys/boot/common load_elf32_obj.c load_elf64_obj.c load_elf_obj.c Log: Add the loader side of support for preloading ELF relocatable object format modules, which are currently only used on the amd64 platform. This initial implementation just parses enough of the module to allow it to extract dependencies and load all the bits into the right place in memory, so the kernel must still do the full relocation and linking. The details of the loaded sections are passed to the kernel by supplying a copy of the ELF section header table as module metadata with the MODINFOMD_SHDR tag. Revision Changes Path 1.19 +1 -1 src/sys/boot/common/Makefile.inc 1.41 +2 -0 src/sys/boot/common/bootstrap.h 1.1 +6 -0 src/sys/boot/common/load_elf32_obj.c (new) 1.1 +6 -0 src/sys/boot/common/load_elf64_obj.c (new) 1.1 +515 -0 src/sys/boot/common/load_elf_obj.c (new) 1.14 +8 -0 src/sys/boot/i386/libi386/elf32_freebsd.c 1.15 +8 -0 src/sys/boot/i386/libi386/elf64_freebsd.c 1.25 +4 -0 src/sys/boot/i386/loader/conf.c