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 11 struct kernel_args; 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 /* memory management */ 18 19 extern status_t arch_set_callback(void); 20 extern void *arch_mmu_allocate(void *address, size_t size, uint8 protection, 21 bool exactAddress); 22 extern status_t arch_mmu_free(void *address, size_t size); 23 extern status_t arch_mmu_init(void); 24 25 /* CPU */ 26 27 extern status_t boot_arch_cpu_init(void); 28 29 /* kernel start */ 30 31 status_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