xref: /haiku/headers/private/kernel/arch/ppc/arch_kernel_args.h (revision b6f76ebe7153b94820cf35f8db4facc158841abb)
1 /*
2 ** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3 ** Distributed under the terms of the MIT License.
4 */
5 #ifndef KERNEL_ARCH_PPC_KERNEL_ARGS_H
6 #define KERNEL_ARCH_PPC_KERNEL_ARGS_H
7 
8 #ifndef KERNEL_BOOT_KERNEL_ARGS_H
9 #	error This file is included from <boot/kernel_args.h> only
10 #endif
11 
12 #define _PACKED __attribute__((packed))
13 
14 #define MAX_VIRTUAL_RANGES_TO_KEEP	32
15 
16 // kernel args
17 typedef struct {
18 	// architecture specific
19 	uint64		cpu_frequency;
20 	uint64		bus_frequency;
21 	uint64		time_base_frequency;
22 
23 	addr_range	page_table;		// virtual address and size of the page table
24 	addr_range	exception_handlers;
25 	addr_range	framebuffer;		// maps where the framebuffer is located, in physical memory
26 	int 		screen_x, screen_y, screen_depth;
27 
28 	// The virtual ranges we want to keep in the kernel. E.g. those belonging
29 	// to the Open Firmware.
30 	uint32		num_virtual_ranges_to_keep;
31 	addr_range	virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
32 
33 	// platform type we booted from
34 	int			platform;
35 } arch_kernel_args;
36 
37 #endif	/* KERNEL_ARCH_PPC_KERNEL_ARGS_H */
38