freebsd-dev/sys/boot/alpha/libalpha/bbinfo.h
Mike Smith c2f9d95de5 This is the new unified bootstrap, sometimes known previously as the
'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.
1998-08-21 03:17:42 +00:00

58 lines
1.6 KiB
C

/*
* $Id$
* From $NetBSD: bbinfo.h,v 1.2 1997/04/06 08:40:57 cgd Exp $
*/
/*
* Copyright (c) 1995, 1996 Carnegie-Mellon University.
* All rights reserved.
*
* Author: Chris G. Demetriou
*
* Permission to use, copy, modify and distribute this software and
* its documentation is hereby granted, provided that both the copyright
* notice and this permission notice appear in all copies of the
* software, derivative works or modified versions, and any portions
* thereof, and that both notices appear in supporting documentation.
*
* CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
* CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
* FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
*
* Carnegie Mellon requests users of this software to return to
*
* Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
* School of Computer Science
* Carnegie Mellon University
* Pittsburgh PA 15213-3890
*
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*/
struct bbinfoloc {
u_int64_t magic1;
u_int64_t start;
u_int64_t end;
u_int64_t pad1[4];
u_int64_t magic2;
};
struct bbinfo {
int32_t cksum;
int32_t nblocks;
int32_t bsize;
u_int32_t pad1[8];
int32_t blocks[1];
};
struct netbbinfo {
u_int64_t magic1;
u_int8_t set;
u_int8_t ether_addr[6];
u_int8_t force;
u_int64_t pad1[4];
u_int64_t cksum;
u_int64_t magic2;
};