|
|
1.1.1.2 ! root 1: /* 1.1 root 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_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.