system loader: Initial work on new rasberrypi_arm loader
* Used routerboard loader as a base skel * May just be temporary if u-boot ever gets Raspberry Pi support
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright 2003, Axel Dörfler, [email protected]. All rights reserved.
|
||||
* Distributed under the terms of the OpenBeOS License.
|
||||
* Copyright 2011-2012, Haiku Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef KERNEL_BOOT_PLATFORM_PI_ARCH_H
|
||||
#define KERNEL_BOOT_PLATFORM_PI_ARCH_H
|
||||
|
||||
|
||||
#include <SupportDefs.h>
|
||||
|
||||
|
||||
struct kernel_args;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/* memory management */
|
||||
extern status_t arch_set_callback(void);
|
||||
extern void *arch_mmu_allocate(void *address, size_t size, uint8 protection,
|
||||
bool exactAddress);
|
||||
extern status_t arch_mmu_free(void *address, size_t size);
|
||||
extern status_t arch_mmu_init(void);
|
||||
|
||||
/* CPU */
|
||||
extern status_t boot_arch_cpu_init(void);
|
||||
|
||||
/* kernel start */
|
||||
status_t arch_start_kernel(struct kernel_args *kernelArgs, addr_t kernelEntry,
|
||||
addr_t kernelStackTop);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* KERNEL_BOOT_PLATFORM_PI_ARCH_H */
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2009-2011, Haiku Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef KERNEL_BOOT_PLATFORM_PI_KERNEL_ARGS_H
|
||||
#define KERNEL_BOOT_PLATFORM_PI_KERNEL_ARGS_H
|
||||
|
||||
#ifndef KERNEL_BOOT_KERNEL_ARGS_H
|
||||
# error This file is included from <boot/kernel_args.h> only
|
||||
#endif
|
||||
|
||||
// must match SMP_MAX_CPUS in arch_smp.h
|
||||
#define MAX_BOOT_CPUS 1
|
||||
#define MAX_PHYSICAL_MEMORY_RANGE 4
|
||||
#define MAX_PHYSICAL_ALLOCATED_RANGE 8
|
||||
#define MAX_VIRTUAL_ALLOCATED_RANGE 32
|
||||
|
||||
|
||||
typedef struct {
|
||||
char dummy;
|
||||
} platform_kernel_args;
|
||||
|
||||
#endif /* KERNEL_BOOT_PLATFORM_PI_KERNEL_ARGS_H */
|
||||
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright 2009-2012, Haiku Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef KERNEL_BOOT_PLATFORM_PI_STAGE2_H
|
||||
#define KERNEL_BOOT_PLATFORM_PI_STAGE2_H
|
||||
|
||||
#ifndef KERNEL_BOOT_STAGE2_ARGS_H
|
||||
# error This file is included from <boot/stage2_args.h> only
|
||||
#endif
|
||||
|
||||
struct platform_stage2_args {
|
||||
void *boot_tgz_data;
|
||||
uint32 boot_tgz_size;
|
||||
};
|
||||
|
||||
#endif /* KERNEL_BOOT_PLATFORM_PI_STAGE2_H */
|
||||
Reference in New Issue
Block a user