summaryrefslogtreecommitdiffstats
path: root/sys/boot/alpha/common
Commit message (Collapse)AuthorAgeFilesLines
* Work around what looks like a bad make(1) bug. For some reason,peter2001-06-161-5/+3
| | | | | | | | | | | | | | | | | | make(1) wants to build loader.sym *before* the .o files. Eliminating one seeminly intermediate step avoids the problem. Somehow, it seems that variables are not getting expanded at the right time. Any explanations would be appreciated... Changing: ${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o ${LD} ... To: BASEOBJS= ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o ${BASE}.sym: ${BASEOBJS} echo ${BASEOBJS} ${LD} ... .. the echo only shows LIBFICL, CRT and vers.o. ${OBJS} is not included.
* Nuke old gensetdefs based linker sets with extreme prejudicepeter2001-06-141-11/+2
|
* Revert the ugly band-aide[tm] hack of rev 1.12.obrien2001-05-291-6/+2
| | | | The offending loader.4th commit (rev 1.20) has been backed out.
* grep -v offending lines from loader.4th until the master version of itobrien2001-05-281-2/+6
| | | | is fixed.
* Add the generated help files to CLEANDIRS.obrien2001-05-281-0/+1
| | | | Found by: rm -rf /usr/obj/usr/src/sys/boot ; make ; make clean ; cvs -q up
* Move the call to extend_heap() from main to start so that if our BSSdfr2000-10-251-3/+2
| | | | | | expands beyond the limit we will extend the address space before trying to zero the BSS. This should give us plenty of headroom for modest expansion of the loader.
* Steal 512KB more from system memory for heap instead of 256KB. We diedmjacob2000-09-181-9/+11
| | | | without the extra space. What a pity.
* Always install loader.4th, defaults/loader.conf, and support.4th instead ofjhb2000-07-101-1/+1
| | | | | | | only doing so if loader.rc does not exist. This fixes the problem where installworld doesn't update /boot/loader.4th, resulting in device.hints not being loaded after updating past the config(8) changes, which resulted in mcclock0 not being probed, and a nice kernel panic during boot.
* Move man page directives to common/Makefile.inc.dcs2000-05-191-6/+0
| | | | Remove INSTALL_FORTH stuff.
* Install the bootforth config files for the Alpha too. loader.conf shouldpeter2000-05-121-0/+17
| | | | be functional now.
* Reactivate the FICL hooks to make it be compiled in, but also initializepeter2000-05-121-8/+8
| | | | | | | | | FICL. bootforth is now live on the Alpha! **BEWARE** - you *MUST* build and install a current libstand or you will most likely get zfree() panics at loader startup. We should now be able to set up the loader.conf stuff on the Alpha too.
* Fix the Alpha loader the rest of the way. If FICL is present inpeter2000-05-121-8/+8
| | | | | | | | | | | | | | | | | | | | /boot/loader (even though it is 100% dormant in the Alpha version), then the loader panics with a zfree error:Loading /boot/loader.test *** keyboard not plugged in... Console: SRM firmware console panic: zfree(0x2003cb58,4096): wild pointer versus the exact same code but without FICL linked in: Loading /boot/loader Console: SRM firmware console VMS PAL rev: 0x1000600010114 OSF PAL rev: 0x1000600020116 Switch to OSF PAL code succeeded. FreeBSD/alpha SRM disk boot, Revision 0.1 This is almost certainly an alpha infrastructure bug, not a FICL problem. It's probably the same thing that made FICL fail for no apparent reason on the Alpha.
* Teach the alpha loader install process to make backup copies of themsmith2000-05-061-2/+5
| | | | boot programs when installing new versions.
* Update loader logic to distinguish modules vs. files.bp2000-05-011-2/+2
| | | | | | | Add support for module metadata. The old way of dependancy handling will be supported for a while. Reviewed by: peter
* Teach the loader about the ext2fs filesystem, extended partitions, andjlemon2000-04-291-0/+3
| | | | the new readdir function.
* Connect up the bootforth glue and compile it, but don't initialize itpeter1999-12-271-3/+13
| | | | | | at runtime as it has a nasty habit of crashing on the Alpha :-(. This is being done this way so we have a common starting point for debugging.
* Don't build gensetdefs when we can use /usr/bin/gensetdefs. The lattermarcel1999-12-163-102/+8
| | | | | | also creates setdef{0|1}.c so there's no need to have those in the repository. Using /usr/bin/gensetdefs has no consequences for the output.
* Fix build break.dfr1999-10-091-1/+0
| | | | Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu>
* Add net device to netboot.dfr1999-10-091-0/+3
|
* Add more missing files from the reorganisation.msmith1999-09-072-0/+99
| | | | Submitted by: dfr
* Common Alpha loader Makefile, omitted accidentally from the previous setmsmith1999-09-061-0/+83
| | | | of commits.
* * Fix a stack of warnings.dfr1999-09-011-3/+4
| | | | | | * Make it possible to type a filename to boot1 so that it is possible to recover from fatally broken versions of /boot/loader. * Make a start at a CD boot program (not yet functional).
* $Id$ -> $FreeBSD$peter1999-08-283-3/+3
|
* Implement a simple LRU block cache. By default this is initialised to 16k,msmith1998-11-021-1/+6
| | | | | | | | | | | | | | 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.
* * Extend the memory available for the heap from 256k to 512k.dfr1998-10-311-4/+48
| | | | | | | | | * Embed the stack into the bss section for loader and netboot. This is required for netboot since otherwise the stack would be inside our heap. * Install loader and netboot in /boot by default. * Fix getbootfile so that it searches for a ',' instead of a ';' when terminating the filename.
* Reserve some space for the stack in the region we recover from the initialmsmith1998-10-241-2/+3
| | | | | bootloader. Submitted by: dfr
* Reclaim the 48k used by the first bootstrap stage by adding it to the mallocdfr1998-10-191-8/+16
| | | | pool.
* * Add old UFS compatibility code to alpha/boot1.dfr1998-09-261-2/+2
| | | | | | * Fix a raft of warnings, printf and otherwise. * Allocate the correct amount in mod_searchmodule to prevent an overflow. * Fix the makefiles so they work outside my home directory (oops).
* Initial integration of the i386 bootloader and BTX.msmith1998-09-171-313/+0
| | | | | | | | | | | - Discard large amounts of BIOS-related code in favour of the more compact BTX vm86 interface. - Build the loader module as ELF, although the resulting object is a.out, make gensetdefs 32/64-bit sensitive and use a single copy of it. - Throw away installboot, as it's no longer required. - Use direct bcopy operations in the i386_copy module, as BTX maps the first 16M of memory. Check operations against the detected size of actual memory.
* Bootstrap updates.msmith1998-09-031-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move some startup code from MD to MI sections - Add a 'copyout' and some copyout-related functions. These will be obsoleted when BTX is available for the 386 and the kernel load area becomes directly addressable. - Add the ability load an arbitrary file as a module, associating and arbitrary type string with it. This can be used eg. for loading splash-screen images etc. - Add KLD module dependancy infrastructure. We know how to look for dependancies inside KLD modules, how to resolve these dependancies and what to do if things go wrong. Only works for a.out at the moment, due to lack of an MI ELF loader. Attach KLD module information to loaded modules as metadata, but don't pass it to the kernel (it can find it itself). - Load a.out KLD modules on a page boundary. Only pad the a.out BSS for the kernel, as it may want to throw symbols away. (We might want to do this for KLD modules too.) - Allow commands to be hidden from the '?' display, to avoid cluttering it with things like 'echo'. Add 'echo'. - Bring the 'prompt' command into line with the parser syntax. - Fix the verbose 'ls'; it was using an uninitialised stack variable. - Add a '-v' flag to 'lsmod' to have it display module metadata as well (not terribly useful for the average user) - Support a 'module searchpath' for required modules. - The bootstrap file on i386 is now called 'loader' to permit the /boot directory to use that name. - Discard the old i386 pread() function, as it's replaced by arch_readin()
* Bootloader update.msmith1998-08-311-2/+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>
* Minor tweaks to track a couple of i386 changes and to make it compile.dfr1998-08-221-4/+17
|
* This is the new unified bootstrap, sometimes known previously as themsmith1998-08-214-0/+581
'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