|
|
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.