716a16ce61
bus, and time base frequency) in the PPC boot loader, and propagate them to the kernel via kernel_args. * Now we use the correct time base frequency for timer calculations. * Implemented PPC specific system info stuff. Added a few PPC CPU types to <OS.h>. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15817 a95241bf-73f2-0310-859d-f6bbb57e9c96
35 lines
1.0 KiB
C
35 lines
1.0 KiB
C
/*
|
|
** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
|
** Distributed under the terms of the OpenBeOS License.
|
|
*/
|
|
#ifndef KERNEL_ARCH_PPC_KERNEL_ARGS_H
|
|
#define KERNEL_ARCH_PPC_KERNEL_ARGS_H
|
|
|
|
#ifndef KERNEL_BOOT_KERNEL_ARGS_H
|
|
# error This file is included from <boot/kernel_args.h> only
|
|
#endif
|
|
|
|
#define _PACKED __attribute__((packed))
|
|
|
|
#define MAX_VIRTUAL_RANGES_TO_KEEP 32
|
|
|
|
// kernel args
|
|
typedef struct {
|
|
// architecture specific
|
|
uint64 cpu_frequency;
|
|
uint64 bus_frequency;
|
|
uint64 time_base_frequency;
|
|
|
|
addr_range page_table; // virtual address and size of the page table
|
|
addr_range exception_handlers;
|
|
addr_range framebuffer; // maps where the framebuffer is located, in physical memory
|
|
int screen_x, screen_y, screen_depth;
|
|
|
|
// The virtual ranges we want to keep in the kernel. E.g. those belonging
|
|
// to the Open Firmware.
|
|
uint32 num_virtual_ranges_to_keep;
|
|
addr_range virtual_ranges_to_keep[MAX_VIRTUAL_RANGES_TO_KEEP];
|
|
} arch_kernel_args;
|
|
|
|
#endif /* KERNEL_ARCH_PPC_KERNEL_ARGS_H */
|