1 /* 2 ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 3 ** Distributed under the terms of the NewOS License. 4 */ 5 #ifndef KERNEL_BOOT_KERNEL_ARGS_H 6 #define KERNEL_BOOT_KERNEL_ARGS_H 7 8 9 #include <SupportDefs.h> 10 11 12 typedef struct addr_range { 13 addr_t start; 14 addr_t size; 15 } addr_range; 16 17 #include <platform_kernel_args.h> 18 #include <arch_kernel_args.h> 19 20 struct preloaded_image; 21 22 typedef struct kernel_args { 23 uint32 cons_line; 24 char *str; 25 addr_range bootdir_addr; 26 addr_range kernel_seg0_addr; 27 addr_range kernel_seg1_addr; 28 addr_range kernel_dynamic_section_addr; 29 30 struct preloaded_image *preloaded_images; 31 32 uint32 num_physical_memory_ranges; 33 addr_range physical_memory_range[MAX_PHYSICAL_MEMORY_RANGE]; 34 uint32 num_physical_allocated_ranges; 35 addr_range physical_allocated_range[MAX_PHYSICAL_ALLOCATED_RANGE]; 36 uint32 num_virtual_allocated_ranges; 37 addr_range virtual_allocated_range[MAX_VIRTUAL_ALLOCATED_RANGE]; 38 39 uint32 num_cpus; 40 addr_range cpu_kstack[MAX_BOOT_CPUS]; 41 42 platform_kernel_args platform_args; 43 arch_kernel_args arch_args; 44 45 struct framebuffer { 46 int enabled; 47 int x_size; 48 int y_size; 49 int bit_depth; 50 int already_mapped; 51 addr_range mapping; 52 } fb; 53 } kernel_args; 54 55 #endif /* KERNEL_BOOT_KERNEL_ARGS_H */ 56