platform_arch.h revision b6f76ebe
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_BOOT_PLATFORM_OPENFIRMWARE_ARCH_H
6#define KERNEL_BOOT_PLATFORM_OPENFIRMWARE_ARCH_H
7
8
9#include <SupportDefs.h>
10
11struct kernel_args;
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/* memory management */
18
19extern status_t arch_set_callback(void);
20extern void *arch_mmu_allocate(void *address, size_t size, uint8 protection,
21	bool exactAddress);
22extern status_t arch_mmu_free(void *address, size_t size);
23extern status_t arch_mmu_init(void);
24
25/* CPU */
26
27extern status_t boot_arch_cpu_init(void);
28
29/* kernel start */
30
31status_t arch_start_kernel(struct kernel_args *kernelArgs, addr_t kernelEntry,
32	addr_t kernelStackTop);
33
34#ifdef __cplusplus
35}
36#endif
37
38#endif	/* KERNEL_BOOT_PLATFORM_OPENFIRMWARE_ARCH_H */
39