1/*
2 * Copyright 2009 Jonas Sundström, jonas@kirilla.com
3 * All rights reserved. Distributed under the terms of the MIT License.
4 */
5#ifndef _KERNEL_BOOT_PLATFORM_ROUTERBOARD_MIPSEL_ARCH_H
6#define _KERNEL_BOOT_PLATFORM_ROUTERBOARD_MIPSEL_ARCH_H
7
8#include <SupportDefs.h>
9
10#warning IMPLEMENT platform_arch.h
11
12struct kernel_args;
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18/* memory management */
19
20extern status_t arch_set_callback(void);
21extern void *arch_mmu_allocate(void *address, size_t size, uint8 protection,
22	bool exactAddress);
23extern status_t arch_mmu_free(void *address, size_t size);
24extern status_t arch_mmu_init(void);
25
26/* CPU */
27
28extern status_t boot_arch_cpu_init(void);
29
30/* kernel start */
31
32status_t arch_start_kernel(struct kernel_args *kernelArgs, addr_t kernelEntry,
33	addr_t kernelStackTop);
34
35#ifdef __cplusplus
36}
37#endif
38
39#endif /* _KERNEL_BOOT_PLATFORM_ROUTERBOARD_MIPSEL_ARCH_H */
40
41