summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/include/bootinfo.h
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-10-14 09:53:25 +0000
committerpeter <peter@FreeBSD.org>1998-10-14 09:53:25 +0000
commita6df719969080a17590736b9c2f77271ce3858af (patch)
tree1199302047db29bdcf50591f02e624914c016458 /sys/powerpc/include/bootinfo.h
parent7bbde981a39055313c1d18fcc4318f4389f752ad (diff)
downloadFreeBSD-src-a6df719969080a17590736b9c2f77271ce3858af.zip
FreeBSD-src-a6df719969080a17590736b9c2f77271ce3858af.tar.gz
Initial attempt to update the Alpha loader and kernel to use the machine
independent elf loader and have access to kld modules. Jordan and I were not sure how to create boot floppies, and the things we tried just made SRM laugh in our faces - but it was upset at boot1 which was not touched by these changes. Essentially this has been untested. :-( What this does is to steal the last three slots from the nine spare longs in the bootinfo_v1 struct to pass the module base pointer through. The startup code now to set up and fills in the module and environment structures, hopefully close enough to the i386 layout to be able to use the same kernel code. We now pass though the updated end of the kernel space used, rather than _end. (like the i386). If this does not work, it needs to be beaten into shape pronto. Otherwise it should be backed out before 3.0. Pre-approved in principle by: dfr
Diffstat (limited to 'sys/powerpc/include/bootinfo.h')
-rw-r--r--sys/powerpc/include/bootinfo.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/powerpc/include/bootinfo.h b/sys/powerpc/include/bootinfo.h
index 970987d..f9b2560 100644
--- a/sys/powerpc/include/bootinfo.h
+++ b/sys/powerpc/include/bootinfo.h
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: bootinfo.h,v 1.2 1998/07/05 12:13:18 dfr Exp $ */
/*
* Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
* All rights reserved.
@@ -53,7 +53,10 @@ struct bootinfo_v1 {
int (*cngetc) __P((void)); /* 160: console getc pointer */
void (*cnputc) __P((int)); /* 168: console putc pointer */
void (*cnpollc) __P((int)); /* 176: console pollc pointer */
- u_long pad[9]; /* 184: rsvd for future use */
+ u_long pad[6]; /* 184: rsvd for future use */
+ char *envp; /* 232: start of environment */
+ u_long kernend; /* 240: end of kernel */
+ u_long modbase; /* 248: FreeBSD module base */
/* 256: total size */
};
@@ -70,6 +73,9 @@ struct bootinfo_v1 {
struct bootinfo_kernel {
u_long ssym; /* start of syms */
u_long esym; /* end of syms */
+ u_long modptr; /* FreeBSD module pointer */
+ u_long kernend; /* "end of kernel" from boot code */
+ char *envp; /* "end of kernel" from boot code */
u_long hwrpb_phys; /* hwrpb physical address */
u_long hwrpb_size; /* size of hwrpb data */
char boot_flags[64]; /* boot flags */
OpenPOWER on IntegriCloud