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:
Alexander von Gluck IV
2012-05-01 16:57:58 -05:00
parent 2b31b4a88c
commit 5426ff9347
24 changed files with 1035 additions and 0 deletions
@@ -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 */