kparamb.h revision 1.6 1 /* $NetBSD: kparamb.h,v 1.6 2001/10/10 14:19:52 leo Exp $ */
2
3 /*
4 * Copyright (c) 1995 L. Weppelman
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Leo Weppelman.
18 * 4. The name of the author may not be used to endorse or promote products
19 * derived from this software without specific prior written permission
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33 #ifndef _LIBTOS_KPARAMB_H
34 #define _LIBTOS_KPARAMB_H
35 /*
36 * Structure passed to bsd_startup().
37 */
38 struct kparamb {
39 u_int8_t *kp; /* 00: Kernel load address */
40 long ksize; /* 04: Size of loaded kernel */
41 u_int32_t entry; /* 08: Kernel entry point */
42 long stmem_size; /* 12: Size of st-ram */
43 long ttmem_size; /* 16: Size of tt-ram */
44 long bootflags; /* 20: Various boot flags */
45 long boothowto; /* 24: How to boot */
46 long ttmem_start; /* 28: Start of tt-ram */
47 long esym_loc; /* 32: End of symbol table */
48 };
49
50 #ifdef TOSTOOLS
51 /*
52 * XXX: We cannot reach over....
53 */
54
55 /*
56 * Values for 'bootflags'.
57 * Note: These should match with the values NetBSD uses!
58 */
59 #define ATARI_68000 1 /* 68000 CPU */
60 #define ATARI_68010 (1<<1) /* 68010 CPU */
61 #define ATARI_68020 (1<<2) /* 68020 CPU */
62 #define ATARI_68030 (1<<3) /* 68030 CPU */
63 #define ATARI_68040 (1<<4) /* 68040 CPU */
64 #define ATARI_68060 (1<<6) /* 68060 CPU */
65 #define ATARI_TT (1L<<11) /* This is a TT030 */
66 #define ATARI_FALCON (1L<<12) /* This is a Falcon */
67 #define ATARI_HADES (1L<<13) /* This is a Hades */
68 #define ATARI_MILAN (1L<<14) /* This is a Milan */
69
70 #define ATARI_CLKBROKEN (1<<16) /* GEMDOS has faulty year base */
71
72 #define ATARI_ANYCPU (ATARI_68000|ATARI_68010|ATARI_68020|ATARI_68030 \
73 |ATARI_68040|ATARI_68060)
74 #define ATARI_ANYMACH (ATARI_TT|ATARI_FALCON|ATARI_HADES|ATARI_MILAN)
75
76 /*
77 * Definitions for boothowto
78 * Note: These should match with the values NetBSD uses!
79 */
80 #define RB_AUTOBOOT 0x00
81 #define RB_ASKNAME 0x01
82 #define RB_SINGLE 0x02
83 #define RB_KDB 0x40
84
85 #endif /* TOSTOOLS */
86 #endif /* _LIBTOS_KPARAMB_H */
87