haiku/headers/private/kernel/arch/m68k/arch_kernel_args.h
François Revol a3dc7ef06c - some cpu and platform fixes.
- we'll just use decimal chip number (68030, ...) to identify cpu, fpu, and mmu for simplicity.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-20 02:11:45 +00:00

44 lines
1.3 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_M68K_KERNEL_ARGS_H
#define KERNEL_ARCH_M68K_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 {
int cpu_type; // decimal: 68030, ...
int fpu_type; // decimal: 68030, ...
int mmu_type; // decimal: 68030, ...
int platform;
bool has_lpstop; //XXX: use bit flags
// architecture specific
uint64 cpu_frequency;
uint64 bus_frequency;
uint64 time_base_frequency;
// page root table
uint32 phys_pgroot;
uint32 vir_pgroot;
//XXX:
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_M68K_KERNEL_ARGS_H */