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 17typedef 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