|
|
1.1 root 1: /*
2: * Copyright (c) 1995-1994 The University of Utah and
3: * the Computer Systems Laboratory at the University of Utah (CSL).
4: * All rights reserved.
5: *
6: * Permission to use, copy, modify and distribute this software is hereby
7: * granted provided that (1) source code retains these copyright, permission,
8: * and disclaimer notices, and (2) redistributions including binaries
9: * reproduce the notices in supporting documentation, and (3) all advertising
10: * materials mentioning features or use of this software display the following
11: * acknowledgement: ``This product includes software developed by the
12: * Computer Systems Laboratory at the University of Utah.''
13: *
14: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
15: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
16: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17: *
18: * CSL requests users of this software to return to [email protected] any
19: * improvements that they make and grant CSL redistribution rights.
20: *
21: * Author: Bryan Ford, University of Utah CSL
22: */
23: #ifndef _MACH_MULTIBOOT_H_
24: #define _MACH_MULTIBOOT_H_
25:
26: #include <mach/machine/vm_types.h>
27: #include <mach/machine/multiboot.h>
28:
29: struct multiboot_region
30: {
31: vm_offset_t start;
32: vm_offset_t end;
33: };
34:
35: struct multiboot_rlist
36: {
37: int count;
38: vm_offset_t regions;
39: };
40:
41: struct multiboot_module
42: {
43: /* Location and size of the module. */
44: struct multiboot_region region;
45:
46: /* Command-line associated with this boot module:
47: a null-terminated ASCII string.
48: Both start and end are 0 if there is no command line.
49: The end pointer points at least one byte past the terminating null. */
50: struct multiboot_region cmdline;
51:
52: /* Reserved; boot loader must initialize to zero. */
53: natural_t pad[4];
54: };
55:
56: struct multiboot_info
57: {
58: /* List of available physical memory regions.
59: Can (and probably does) include the memory containing
60: the kernel, boot modules, this structure, etc. */
61: struct multiboot_rlist avail;
62:
63: /* Physical memory region occupied by things the boot loader set up
64: and the OS shouldn't clobber at least until it's all done initializing itself.
65: This includes the kernel image, boot modules, these structures,
66: initial processor tables, etc. */
67: struct multiboot_rlist occupied;
68:
69: /* Command-line for the OS kernel: a null-terminated ASCII string.
70: Both start and end are 0 if there is no command line.
71: The end pointer points at least one byte past the terminating null. */
72: struct multiboot_region cmdline;
73:
74: /* Secondary boot modules loaded with this kernel image. */
75: int nmods;
76: vm_offset_t mods;
77:
78: /* Reserved; boot loader must initialize to zero. */
79: natural_t pad[4];
80: };
81:
82: #endif _MACH_MULTIBOOT_H_
83: /*
84: * Copyright (c) 1995-1994 The University of Utah and
85: * the Computer Systems Laboratory at the University of Utah (CSL).
86: * All rights reserved.
87: *
88: * Permission to use, copy, modify and distribute this software is hereby
89: * granted provided that (1) source code retains these copyright, permission,
90: * and disclaimer notices, and (2) redistributions including binaries
91: * reproduce the notices in supporting documentation, and (3) all advertising
92: * materials mentioning features or use of this software display the following
93: * acknowledgement: ``This product includes software developed by the
94: * Computer Systems Laboratory at the University of Utah.''
95: *
96: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
97: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
98: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
99: *
100: * CSL requests users of this software to return to [email protected] any
101: * improvements that they make and grant CSL redistribution rights.
102: *
103: * Author: Bryan Ford, University of Utah CSL
104: */
105: #ifndef _MACH_MULTIBOOT_H_
106: #define _MACH_MULTIBOOT_H_
107:
108: #include <mach/machine/vm_types.h>
109: #include <mach/machine/multiboot.h>
110:
111: struct multiboot_region
112: {
113: vm_offset_t start;
114: vm_offset_t end;
115: };
116:
117: struct multiboot_rlist
118: {
119: int count;
120: vm_offset_t regions;
121: };
122:
123: struct multiboot_module
124: {
125: /* Location and size of the module. */
126: struct multiboot_region region;
127:
128: /* Command-line associated with this boot module:
129: a null-terminated ASCII string.
130: Both start and end are 0 if there is no command line.
131: The end pointer points at least one byte past the terminating null. */
132: struct multiboot_region cmdline;
133:
134: /* Reserved; boot loader must initialize to zero. */
135: natural_t pad[4];
136: };
137:
138: struct multiboot_info
139: {
140: /* List of available physical memory regions.
141: Can (and probably does) include the memory containing
142: the kernel, boot modules, this structure, etc. */
143: struct multiboot_rlist avail;
144:
145: /* Physical memory region occupied by things the boot loader set up
146: and the OS shouldn't clobber at least until it's all done initializing itself.
147: This includes the kernel image, boot modules, these structures,
148: initial processor tables, etc. */
149: struct multiboot_rlist occupied;
150:
151: /* Command-line for the OS kernel: a null-terminated ASCII string.
152: Both start and end are 0 if there is no command line.
153: The end pointer points at least one byte past the terminating null. */
154: struct multiboot_region cmdline;
155:
156: /* Secondary boot modules loaded with this kernel image. */
157: int nmods;
158: vm_offset_t mods;
159:
160: /* Reserved; boot loader must initialize to zero. */
161: natural_t pad[4];
162: };
163:
164: #endif _MACH_MULTIBOOT_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.