summaryrefslogtreecommitdiffstats
path: root/sys/boot/common/Makefile.inc
Commit message (Collapse)AuthorAgeFilesLines
* Collapse several adjacent .if's into .if/.elif.ru2004-10-241-10/+7
|
* ELF64 support is not needed on pc98.nyan2004-10-241-1/+5
|
* Add the loader side of support for preloading ELF relocatable objectiedowse2004-08-291-1/+1
| | | | | | | | | | 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.
* Separate out the ELF relocation code from the ELF loader, and addiedowse2004-08-281-2/+3
| | | | | | | | | better relocation support for the amd64 and i386 platforms. This should not result in any change in functionality, but moves a step towards supporting the relocatable object file modules on amd64. The same hack/trick as load_elf*.c uses is used here to simultaneously support both elf32 and elf64 on amd64 and i386.
* Style: use the defined() expression explicitly.ru2004-02-071-3/+3
|
* Build on amd64. Yes, I know this isn't particularly nice.peter2003-06-261-4/+0
|
* Enable the i386 loader to load and run an amd64 kernel. If this putspeter2003-05-011-1/+14
| | | | | | | | | | | | | | | things over floppy size limits, I can exclude it for release builds or something like that. Most of the changes are to get the load_elf.c file into a seperate elf32_ or elf64_ namespace so that you can have two ELF loaders present at once. Note that for 64 bit kernels, it actually starts up the kernel already in 64 bit mode with paging enabled. This is really easy because we have a known minimum feature set. Of note is that for amd64, we have to pass in the bios int 15 0xe821 memory map because once in long mode, you absolutely cannot make VM86 calls. amd64 does not use 'struct bootinfo' at all. It is a pure loader metadata startup, just like sparc64 and powerpc. Much of the infrastructure to support this was adapted from sparc64.
* Initiate deorbit burn of i386 a.out kld "support" in loader. Note thatpeter2002-08-291-4/+0
| | | | | | this was quite broken, it never was updated for metadata support. The a.out kld file support was never really used, as it wasn't necessary. You could always load elf kld's, even in an a.out kernel.
* Not all platforms have and want a.out format support.obrien2002-03-281-1/+5
|
* MAN[1-9] -> MAN.ru2001-03-271-3/+3
|
* OpenFirmware/PowerPC loader, part 2.benno2000-11-101-0/+4
| | | | | | | | | | As of this patchset, the loader builds (under NetBSD/macppc), boots, interacts and talks to BOOTP/NFS servers. (main.c was moved from boot/ofw/libofw to boot/ofw/common but has no revision history) Reviewed by: obrien
* Move man page directives to common/Makefile.inc.dcs2000-05-191-0/+5
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add BootForth hooks; if BOOT_FORTH is defined, pass every line readmsmith1998-11-041-1/+6
| | | | | | | to the Forth interpreter. Instantiate all of our inbuilt commands as Forth words, and handle them being called from there. Add my copyright to the bcache module (oops).
* Implement a simple LRU block cache. By default this is initialised to 16k,msmith1998-11-021-3/+4
| | | | | | | | | | | | | | and will bypass transfers for more than 8k. Blocks are invalidated after 2 seconds, so removable media should not confuse the cache. The 8k threshold is a compromise; all UFS transfers performed by libstand are 8k or less, so large file reads thrash the cache. However many filesystem metadata operations are also performed using 8k blocks, so using a lower threshold gives poor performance. Those of you with an eye for cache algorithms are welcome to tell me how badly this one sucks; you can start with the 'bcachestats' command which will print the contents of the cache and access statistics.
* ELF loader, part 1. It works with ELF kernels generated on the i386peter1998-09-301-2/+2
| | | | | | | | | | | | | | | | | | | so far, and should probably be able to be made to work for the alpha without too much trouble once it's connected up and my assumptions tested. I think (but have not tested) it will also load "old" ELF kernels that were not linked with DYNAMIC headers. The module glue is yet to come. (oh fun.. :-) It does not explicitly load symbols [yet]. The _DYNAMIC data contains a runtime symbol set that ddb can use via ddb/db_kld.c. It'll be missing some detail that stabs normally provides (eg: number of args to a function, line numbers, etc). On the other hand, those minimal symbols will always be available even on a stripped kernel. This is mostly stolen from load_aout.c with some ideas from alpha/libalpha/elf_freebsd.c.
* Resynch with working sources before BTX integration.msmith1998-09-141-2/+10
| | | | | | | | | | | - Use format-independant module allocator. - Conditionalise ISA PnP support. - Simplify PnP enumerator interface. - Improve module/object searching. - Add missing depend/install targets in BTX makefiles. - Pass the kernel environment and module data in extended bootinfo fields. - Add a pointer to the end of the kernel + modules in bootinfo. - Fix parsing of old-style kernel arguments.
* Generic plug-and-play enumerator infrastructure. Query suppliedmsmith1998-09-041-2/+2
| | | | | enumerators, crossreference returned identifiers with a text-format database and automatically load corresponding modules and dependancies.
* New commandline/script parser, supports backslash quoting and environmentmsmith1998-09-011-3/+3
| | | | | | variable substitution. Submitted by: Jordan Hubbard <jkh@freebsd.org>
* Bootloader update.msmith1998-08-311-3/+3
| | | | | | | | | | | | - Implement a new copyin/readin interface for loading modules. This allows the module loaders to become MI, reducing code duplication. - Simplify the search for an image activator for the loaded kernel. - Use the common module management code for all module metadata. - Add an 'unload' command that throws everything away. - Move the a.out module loader to MI code, add support for a.out kld modules. Submitted by: Alpha changes fixed by Doug Rabson <dfr@freebsd.org>
* This is the new unified bootstrap, sometimes known previously as themsmith1998-08-211-0/+4
'three-stage' bootstrap. There are a number of caveats with the code in its current state: - The i386 bootstrap only supports booting from a floppy. - The kernel and kld do not yet know how to deal with the extended information and module summary passed in. - PnP-based autodetection and demand loading of modules is not implemented. - i386 ELF kernel loading is not ready yet. - The i386 bootstrap is loaded via an ugly blockmap. On the alpha, both net- and disk-booting (SRM console machines only) is supported. No blockmaps are used by this code. Obtained from: Parts from the NetBSD/i386 standalone bootstrap.
OpenPOWER on IntegriCloud