diff options
author | msmith <msmith@FreeBSD.org> | 1998-09-03 02:10:09 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1998-09-03 02:10:09 +0000 |
commit | 2feae82d784a79b3fac686b4ca52c044fd75efda (patch) | |
tree | 1696a640576be6f4c71e821ec8a61a75f724a269 /sys/boot/alpha | |
parent | 28865a6b9b25eb22c062e822e4a9f3d2da33e70b (diff) | |
download | FreeBSD-src-2feae82d784a79b3fac686b4ca52c044fd75efda.zip FreeBSD-src-2feae82d784a79b3fac686b4ca52c044fd75efda.tar.gz |
Bootstrap updates.
- 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()
Diffstat (limited to 'sys/boot/alpha')
-rw-r--r-- | sys/boot/alpha/common/main.c | 12 | ||||
-rw-r--r-- | sys/boot/alpha/libalpha/alpha_copy.c | 9 |
2 files changed, 10 insertions, 11 deletions
diff --git a/sys/boot/alpha/common/main.c b/sys/boot/alpha/common/main.c index d7f6709..af337d2 100644 --- a/sys/boot/alpha/common/main.c +++ b/sys/boot/alpha/common/main.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: main.c,v 1.2 1998/08/22 10:31:00 dfr Exp $ + * $Id: main.c,v 1.3 1998/08/31 21:10:40 msmith Exp $ */ @@ -118,6 +118,7 @@ main(void) archsw.arch_autoload = alpha_autoload; archsw.arch_getdev = alpha_getdev; archsw.arch_copyin = alpha_copyin; + archsw.arch_copyout = alpha_copyout; archsw.arch_readin = alpha_readin; /* @@ -128,15 +129,6 @@ main(void) */ open("/", O_RDONLY); - /* - * XXX should these be in the MI source? - */ - source("/boot/boot.config"); - printf("\n"); - autoboot(10, NULL); /* try to boot automatically */ - printf("\nType '?' for a list of commands, 'help' for more detailed help.\n"); - /* setenv("prompt", "$currdev>", 1); */ - interact(); /* doesn't return */ } diff --git a/sys/boot/alpha/libalpha/alpha_copy.c b/sys/boot/alpha/libalpha/alpha_copy.c index 9e164de..250c416 100644 --- a/sys/boot/alpha/libalpha/alpha_copy.c +++ b/sys/boot/alpha/libalpha/alpha_copy.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: alpha_copy.c,v 1.1 1998/08/31 21:10:40 msmith Exp $ */ /* * MD primitives supporting placement of module data @@ -42,6 +42,13 @@ alpha_copyin(void *src, vm_offset_t dest, size_t len) } int +alpha_copyout(void *src, vm_offset_t dest, size_t len) +{ + bcopy(src, dest, len); + return(len); +} + +int alpha_readin(int fd, vm_offset_t dest, size_t len) { return(read(fd, dest, len)); |